Čeština
Login

Makra

Relevantní pro

MMU family
MINI family
MK3 family
OLD PRODUCTS
SLA family
+
Článek Tento článek je také dostupný v následujících jazycích:
English
Čeština
Polski
Deutsch
Français
Español
Italiano
日本語

Macra umožňují vytvářet podmínky a vyhodnocovat matematické rovnice v sekcích vlastního G-codu.

PrusaSlicer macro jazyk není kompatibilní s podmíněnými výrazy Slic3ru.

Konstrukt

Podmíněné vyhodnocení

Vyhodnocení výrazu

Starší syntaxe zástupných znaků

nebo

Uvnitř každého konstruktu mohou být konfigurační proměnné PrusaSliceru dostupné prostřednictvím jejich jmen

a elementy vektorových proměnných mohou být zpřístupněny použitím hranatých závorek

odkazuje na teplotu prvního extruderu.

Multidimenzionální vektory mohou být přístupné pouze jako jednoduché vektorové proměnné odkazující na řetězec (např. když extruder_variable[1] ukazující na hodnotu řetězce [n,0] -- může být odeslán v G-code ale nemůže být použit v aritmetických operacích).

Řetězce jsou identifikované dvojitými uvozovkami a pravidelné výrazy lomítky Řetězce nejsou parsované rekurzívně tj. na výstupu se objeví složené i hranaté závorky uvnitř řetězců. To umožňuje konstrukty jako

Operátory

Povoleny jsou následující operátory:

  1. Porovnání
    • Příklad:
  2. Booleova logika nebo ekvivalentně,  
    • Příklad
  3. Aritmetika
    • Příklad: (Všimněte si, že first_layer_temperature je vektor)
  4. Ternární operátor Aby to fungovalo, musí to být uzavřené v závorkách.
    • Příklad: Tento výraz nastaví teplotu extruderu na 230 nebo na 200 v závislosti na tom zda první vrstva má být nad 220°.
  5. Regulární výraz shody
  6. Regulární výrazy jsou uzavřeny v lomítkách /
    • Příklad:

Funkce

Minimum

Maximum

Zaokrouhlení na celé číslo

Zaokrouhlení / doplnění mezerami: zaokrouhlí zlomkovou část na num_decimals číslice (v případě potřeby přidá na konec nuly) a poté doplní mezerami tak, aby číslo mělo stejný počet znaků num_digits (včetně desetinné tečky, pokud je přítomna). Poslední příkaz lze vynechat, výchozí hodnota je nula.

Zaokrouhlení / doplnění nulami: stejné jako výše, pouze ponechané vyplněné nulami.

 

Proměnné (zástupné symboly)

Můžete použít proměnné uvnitř skriptů a v šabloně názvu výstupního souboru.

Zkontrolujte Seznam všech zástupných symbolů PrusaSlicer, sdružené do skupin podle jejich zaměření

 

Skalární proměnné

Tyto hodnoty jsou skalární a může být na ně přímý odkaz.

  • printer_notes (string)
  • layer_z (přístupný pouze v G-code změny vrstvy )
  • layer_num (přístupný pouze v G-code změny vrstvy )
  • toolchange_z (k dispozici ve vlastním GCode toolchange od verze 2.4.0)

Některé proměnné jsou definovány složitými vzorci. Například perimeter_extrusion_width, pokud je ponechán na nule, nabývá hodnoty extrusion_width, pokud není nulová, jinak se pro aktuální perimeter_extrusion_width vypočítá výchozí layer_height. Tyto záměny se provádějí pouze pro výrazy nové syntaxe (uzavřené ve složených závorkách {}), zatímco výrazy zapsané pomocí staré syntaxe zástupných znaků (uzavřené v hranatých závorkách []) se interpretují doslovně.

Vektor (proměnné typu pole)

Tyto proměnné jsou polemi a musí být přístupné jako (např. temperature[0]).

  • temperature
  • first_layer_temperature
  • bed_temperature (Všimněte si, že se jedná o vektor, i když smysl má pouze jedna hodnota: bed_temperature[0])
  • first_layer_bed_temperature (stejné jako výše!)

Multidimenzionální vektor

Tyto proměnné mohou být přístupné pouze jako jednoduché vektory a nemohou být použité v aritmetických výrazech.

  • extruder_offset
  • bed_shape

Příklady

Teplotní věž

"Před změnou vrstvy" můžete použít uživatelský G-code k pomalému snižování teploty trysky. Jako první lze použít výraz if/elseif/else:

 Stejného výsledku lze dosáhnout kratším výrazem if/else/endif spolu s lineární interpolací:

Nebo lze také použít ternární operátor:

Rychlejší zahřátí pomocí slabého vyhřívání podložky před tiskem

Pokud máte podložku, které trvá velmi dlouho, než se zahřeje na požadovanou teplotu, můžete si čekání trochu zkrátit tím, že pomocí "Start G-codu" zahřejete podložku na cílovou teplotu minus 5 stupňů a pak začnete zahřívat hot end, zatímco podložka pokračuje v zahřívání na cílovou hodnotu:

 

Byl tento článek užitečný?
Tato akce je dostupná pouze registrovaným uživatelům. Prosím přihlaste se.