Skip to main content

Slicer - Start/End Code einrichten / oder Fehler beheben

Probleme und Fehler

Ihr habt das Problem, dass euer Startcode nicht funktioniert?

- Bedmesh wird nicht geladen
- Temperaturen werden nicht übergeben
- Er funktioniert gar nicht


Parameter und Platzhalter


Bei dem Startcode ist es wichtig, dass die sogenannten Parameter und Placeholder sauber definiert sind. Ihr solltet diesen dann im Gcode kontrollieren

Beispiel:
START_PRINT BED=[first_layer_bed_temperature] EXTRUDER=[first_layer_temperature]

START_PRINT Paramter=[Placeholder] .....

Paramter

Mit einem Parameter kannst du einen Zahlenwert einem "Wort"(Platzhalter) zuweisen und abfragen. 

Im Falle des Startcodes sind es meinst Variablen wie:
BED / EXTRUDER / BED_TEMP / EXTRUDER_TEMP / CHAMBER_TEMP / SHEET / AREA_START / AREA_END

Placeholder (Platzhalter) im Slicer

Mit den sogenannten Placeholder kannst du Werte aus dem Slicer abfragen und einer Variable zuweisen.

image.png

Prusa / Super Slicer Placeholder:
https://help.prusa3d.com/article/list-of-placeholders_205643

Beispiel:
Extruder Temperatur des First Layers: "first_layer_temperature"


Cura Platzhalter:
http://files.fieldofview.com/cura/Replacement_Patterns.html


Startcode Beispiele:

Hier findest du Beispiele unserer Startcodes, passend zu den Slicern.
Bitte gleiche diese mit deinen Variablen im Makro ab.
Ebenfalls sind die Klammern wichtig {} []

Cura Startcode:

START_PRINT BED={material_bed_temperature_layer_0} EXTRUDER={material_initial_print_temperature}

Prusa Startcode:

START_PRINT BED=[first_layer_bed_temperature] EXTRUDER=[first_layer_temperature]

Super Slicer Startcode:

START_PRINT BED={first_layer_bed_temperature} EXTRUDER={first_layer_temperature}

Orca Slicer Startcode:

START_PRINT EXTRUDER=[nozzle_temperature_initial_layer] BED=[hot_plate_temp_initial_layer]
Wie wird eine Varibale mit Parametern beschrieben

Annahmen:

  • Startcode im Slicer : START_PRINT BED={first_layer_bed_temperature} EXTRUDER={first_layer_temperature}
  • Schreibbfehel im Start_Print:
    {% set extruder = params.EXTRUDER|default(0) %}
    {% set bed = params.BED|default(0) %}

Vom Slicer werden die Parameter BED und EXTRUDER dem Start_Print Makro zur Verfügung gestellt.

Beispiel aus Gcode:

image.png

Das Makro mach folgendes:


set xyz = setzte oder beschreibene in die variable xyz 
extruder/bed = Variablenname
params.EXTRUDER|default(0) = Die Werte aus dem Paramter (params) Extruder

Komplettes Beispiel

Quelle:
Crydteam - Vyper Extended Github - marcos.cfg

[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) %}
    #### end off definition  ###
    G28                                      ; Home
    M83                                      ; Extruder relative mode
    M104 S140                                ; Extruder heat up standby temp 140
    M190 S{bed}                            ; Bed heat up
    G1 X0 Y0 F2200							 ; Go to front
    M109 S{extruder}                       ; Extruder heat up to target temp
    G92 E0.0                                 ; Reset extruder length
    G90                                      ; Absolute positioning
    BED_MESH_PROFILE LOAD="default"
    PRIME_LINE                               ; First move 

Überprüfung ob der Slicer Werte in die Parameter schreibt:

  1. Ein Objekt slicen und Gcode Exportieren
  2. Gcode mit einem Editor öffnen
  3. Mit der Sucher (STRG+F) nach eurem Start_Print Startcode suchen
  4. Prüfen ob für Extruder und Bed auch eine Temperatur eingetragen wurde
Beispiel Codeausschnitt

image.png