Youtube - Gcode je nach Filamenttyp ausführen
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.
Video zu dem Beitrag
Was braucht ihr dafür?!
- 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
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]
Quelltext/Code Materialabfrage
# 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)
SET_GCODE_OFFSET Z=0.01
- Z-Offset Adjust: (Gibt einen Wert zu dem aktuellen Offset)
SET_GCODE_OFFSET Z_ADJUST=0.01 MOVE=1
- Bedmesh Laden (Lade ein bestimmtes Mesh:
BED_MESH_CLEAR BED_MESH_PROFILE LOAD=PLA
- FW Retract einstellen:
SET_RETRACTION RETRACT_LENGTH=1.4 RETRACT_SPEED=30 UNRETRACT_EXTRA_LENGTH=0 UNRETRACT_SPEED=20
Komplettes Beispiel für Z-Offset
[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
[include ./druck/startcode.cfg]
- Start die FW neu
Bei Fragen schaut gerne auf unserem Discord vorbei: