====== Print Start Workflows ======
{tag> articles setup}
One way ([[slicer machine start print gcode]]), or another ([[PRINT_START macro]]), there's certain steps we need to take to start printing the gcode that's slice from an object. There's reasons and rationale for why you'd place certain actions where.
==== Minimal workflow ====
* heat bed
* home and position
* heat extruder
* prime nozzle
* reset extruder
*
=== More Realistic Workflow ===
* heat bed
* home and position
* heat extruder
* Set the feed speed to 100%
* Set the flow rate to 100%
* prime nozzle
* reset extruder
==== Example Orca Machine Start gcode ======
;
; Orca Slicer Machine Start G-code by @dshoop v2.1
;
; PRINT_START
; note the above line is commented out as we may or may not need to call this depending
; on our version of Klipper. If earlier versions of Elegoo's distribution it
; was called automatically.
G28; Home, if this fails no point to continue
M190 S[bed_temperature_initial_layer_single] ;wait for bed to reach temperature
M104 S150 ;pre-warm extruder to 150C below typical extrusion temps so as not to ooze, no wait
;
BED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=1 ADAPTIVE_MARGIN=0
;
M104 S[nozzle_temperature_initial_layer] ;Heat extruder to temp, no wait
M220 S100 ;Set the feed speed to 100%
M221 S100 ;Set the flow rate to 100%
G90
G28 ;home
G1 Z10 F300
G1 X67.5 Y0 F6000
G1 Z0 F300
M109 S[nozzle_temperature_initial_layer] ; wait for extruder to reach temp
G92 E0 ;Reset Extruder
G1 X67.5 Y0 Z0.4 F300 ;Move to start position
G1 X167.5 E30 F400 ;Draw the first line
G0 Y0.6 F120
G1 X67.5 E60 F400 ;Draw the second line
G0 Z0.6 F120
G92 E0 ;Reset Extruder
===== Example PRINT_START macro =====
[gcode_macro PRINT_START]
gcode:
RESPOND PREFIX="" MSG=">> PRINT START <<"
M117 Starting Klipper START_PRINT code
M400 ; wait for current moves to finish
CLEAR_PAUSE
M105 ;Request a temperature report to be sent to the host as soon as possible
RESPOND PREFIX="" MSG=">> GCODE START <<"
M117 Executing gcode