Skip to main content

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

Richtiger Filamenttyp im Slicer setzten

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]
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:

  1. Legt einen Ordner "druck" an.
  2. Lege eine cfg an "startcode.cfg"
  3. inkludiere die Datei in der printer.cfg mit 
    [include ./druck/startcode.cfg]
  4. Start die FW neu

Bei Fragen schaut gerne auf unserem Discord vorbei:

button.png