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.

  • 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

grafik.png

Wie sieht jetzt die Variable aus?

grafik.png

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

grafik.png

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:

  1. Legt einen Ordner „druck“ an.
  2. Lege eine cfg an „startcode.cfg“
  3. inkludiere die Datei in der printer.cfg mit 1[include ./druck/startcode.cfg]

[include ./druck/startcode.cfg]
  • Start die FW neu