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

Wie sieht jetzt die Variable aus?

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