A START_PRINT és END_PRINT makrók használata nem kötelező, de segíthet szabványosítani a nyomtató inicializálási folyamatát különböző gépek esetében. Ezek lehetőséget adnak arra, hogy nagyobb kontrollt gyakoroljunk az inicializálás menete felett, ami különösen hasznos lehet azoknál a nyomtatóknál, amelyek bonyolultabb beállításokat igényelnek
A mögöttes elképzelés egyszerű:
- A szeletelőprogramok számos változót kínálnak, például az első réteg extruder- vagy fűtöttágy-hőmérsékletét, Z-eltolásokat stb.
- Ezeket a változókat a szeletelés során a megfelelő értékekkel tölti ki a program – például a filament vagy más beállítás alapján.
- A Klipper makrórendszere segítségével ezek a változók átadhatók a Klippernek, például a nyomtatás előkészítéséhez, a rendszer felfűtéséhez stb.
A makrók:
A sample-macros.cfg fájl alapvető példákat tartalmaz a START_PRINT és END_PRINT makrókra. További információk megtalálhatók a hivatalos dokumentációban is.
Hogyan működik:
[gcode_macro START_PRINT]
gcode:
{% set BED_TEMPERATURE = params.BED_TEMP|default(60)|float %}
{% set EXTRUDER_TEMPERATURE = params.EXTRUDER_TEMP|default(190)|float %}
...
# Wait for bed to reach temperature
M190 S{BED_TEMPERATURE}
A makró lényegi logikája az első néhány sorban található.
- A params.XXX utasítások azt jelzik, hogy a makró meghívásakor az adott XXX paramétert várja, például: START_PRINT BED_TEMP=60.0
- A default(YY) utasítások beállítják az alapértelmezett értéket, ha a makrót nem hívták meg az adott paraméterrel.
- A set ZZZ utasítás létrehozza azt a változót, amit a makrón belül használunk a kapott információval való tényleges művelethez – például M190 S{BED_TEMP}. A kapcsos zárójelek { ... } kötelezőek a változó eléréséhez.
Szeletelő változók
Hogy egy adott szeletelő milyen változókat kínál, és azokat hogyan nevezi el, az szeletelőnként eltér. Az alábbiakban a legnépszerűbb szeletelők áttekintése következik:
- Orca
- {bed_temperature_initial_layer[current_extruder]}
- {nozzle_temperature_initial_layer[current_extruder]}
- Prusa
- {first_layer_bed_temperature[current_extruder]}
- {first_layer_temperature[current_extruder]}
- Cura
- {material_bed_temperature_layer_0}
- {material_print_temperature_layer_0}
A szeletelő beállítása
Hogy hova kell beilleszteni a makróhívásokat, az a szeletelőtől függ. Egyes szeletelők akár két helyet is biztosítanak erre:
- A nyomtató/gép beállításoknál, mint „globális” beállítás
- A filament beállításoknál, ahol egy adott filamenthez köthető. Ennek előnye, hogy akár egyedi paraméterek – például filamenthez tartozó Z-eltolás – is továbbíthatók.
Fontos: csak az egyik helyen legyen megadva a makróhívás, különben nem várt vagy hibás működést eredményezhet!
Népszerű szeletelők és a megfelelő helyek:
- Orca:
- Printer Preset → Machine G-code
- Filament Preset → Advanced
- Prusa:
- Printer Settings → Custom G-code
- Filament Settings → Custom G-code
- Cura:
- Settings → Printer → Manage Printers → Machine Settings
- Cura does not support filament specific G-codes
Ha a fenti dokumentációs példában szereplő makrókat használod, akkor ezekhez tartozó hívásokra lesz szükség.
- Orca
START_PRINT BED_TEMP={bed_temperature_initial_layer[current_extruder]} EXTRUDER_TEMP={nozzle_temperature_initial_layer[current_extruder]}
- Prusa
START_PRINT BED_TEMP={first_layer_bed_temperature[current_extruder]} EXTRUDER_TEMP={first_layer_temperature[current_extruder]}
- Cura
START_PRINT BED_TEMP={material_bed_temperature_layer_0} EXTRUDER_TEMP={material_print_temperature_layer_0}
Megjegyzés:
A szeletelőből indított makróhívásokban nem lehet sortörés.
A beállítás ellenőrzése
Miután beállítottad a szeletelőt, érdemes ellenőrizni, hogy minden a várakozások szerint működik-e. Ezt könnyen megteheted: szeletelj le egy modellt, majd nyisd meg a keletkezett G-kód fájlt egy szövegszerkesztőben.
A fájl elején, némi általános bevezetés után, meg kell jelennie egy ehhez hasonló makróhívásnak:
START_PRINT BED_TEMP=60 EXTRUDER_TEMP=200
A változók helyére be kell kerülnie a ténylegesen beállított értékeknek, például a kívánt hőmérsékleteknek.
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.