Tippek, fordítások, tapasztalatok, olyasmik, amiket hasznosnak találok a 3D nyomtatáshoz Klipperrel.

START_PRINT, END_PRINT makrók

2025/07/20. - írta: LayerSmith

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.

 

 

Szólj hozzá!

A bejegyzés trackback címe:

https://klippercoffee.blog.hu/api/trackback/id/tr6118911446

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.

Nincsenek hozzászólások.
süti beállítások módosítása