Hallo,
Ihr hab mit Klipper und dem Superslicer die Möglichkeit bei weitergabe der entsprechenden Varibale einen speziellen Gcode auszuführen.
Damit habt ihr die Möglichkeite zum Beispiel verschiedene Z-Offset, Bed Meshes oder gar startcodes auszuführen.
- Klipper als Firmware auf eurem Drucker
- Superslicer
- Den richtigen Startcode im Superslicer (Variablenweitergabe)
- Makro mit Varibalenabfrage
1. Slicer für die Weitergabe der Variable einrichten
2. Variable im Startmakro des Slicers hinterlegen
Startcode im Superslicer
START_PRINT BED={first_layer_bed_temperature} EXTRUDER={first_layer_temperature} MATERIAL={filament_type}
Cura Starcode:
START_PRINT BED={material_bed_temperature_layer_0} EXTRUDER={material_initial_print_temperature} MATERIAL={material_type}
3. Prüfen ob Varaibale übergeben wurde
- Objekt slicen
- Gcode mit editor öffnen
- Nach „Material“ durchsuchen -> Es sollte euer Filamenttyp hinterlegt sein
So soll es aussehen

4. Abfrage in euerem Makro hinterlegen
- Fügt die unten hinterlegte abfrage an der für euch passenden Stelle ein
- Meistens ist es direkt im Startcode sinnig
Respond in printer.cfg einfügen
#printer.cfg [respond]
# variable laden | Am Anfang des Gcodes {% set material = params.MATERIAL %} # -----MATERIALABFRAGE CRYDTEAM---- # # Materialabhaengige Parameter wie PA, FLOW, Retract, Mesh usw. RESPOND MSG="Material: {material}" {% if material == "PLA" %} # Hier kommt euer spezifischer Code fuer PLA hin {% elif material == "PET" %} # Hier kommt euer spezifischer Code fuer PETG hin {% elif material == "ABS" %} # Hier kommt euer spezifischer Code fuer ABS hin {% endif %}
Beispiele für spezifischen Code
- Z-Offset: (Setzt einen Z-Offset)1SET_GCODE_OFFSET Z=0.01
SET_GCODE_OFFSET Z=0.01
- Z-Offset Adjust: (Gibt einen Wert zu dem aktuellen Offset)1SET_GCODE_OFFSET Z_ADJUST=0.01 MOVE=1
SET_GCODE_OFFSET Z_ADJUST=0.01 MOVE=1
- Bedmesh Laden (Lade ein bestimmtes Mesh:12BED_MESH_CLEARBED_MESH_PROFILE LOAD=PLA
BED_MESH_CLEAR BED_MESH_PROFILE LOAD=PLA
- FW Retract einstellen: 1
SET_RETRACTION RETRACT_LENGTH=1.4 RETRACT_SPEED=30 UNRETRACT_EXTRA_LENGTH=0 UNRETRACT_SPEED=20
[gcode_macro START_PRINT] description: All what needs to be done at print start gcode: #### set defaults #### {% set extruder = params.EXTRUDER|default(0) %} {% set bed = params.BED|default(0) %} {% set material = params.MATERIAL %} #### end off definition #### G28 ; Home M83 ; Extruder relative mode M190 S{bed} ; Bed heat up BED_MESH_PROFILE LOAD=default M109 S{extruder} ; Extruder heat up to target temp G92 E0.0 ; Reset extruder length G90 ; Absolute positioning # ----- MATERIALABFRAGE CRYDTEAM ---- # # Materialabhaengige Parameter wie PA, FLOW, Retract, Mesh usw. RESPOND MSG="Material: {material}" {% if material == "PLA" %} SET_GCODE_OFFSET Z=0.01 {% elif material == "PET" %} SET_GCODE_OFFSET Z=0.02 {% elif material == "ABS" %} SET_GCODE_OFFSET Z=0.03 {% endif %} PRIME_LINE
4. Optional: Lege dir eine eigene CFG im Ordner dafür an:
- Legt einen Ordner „druck“ an.
- Lege eine cfg an „startcode.cfg“
- inkludiere die Datei in der printer.cfg mit 1[include ./druck/startcode.cfg]
[include ./druck/startcode.cfg]
- Start die FW neu