Skip to content

Instantly share code, notes, and snippets.

@mmack
Last active March 12, 2023 10:58
Show Gist options
  • Save mmack/cbd2397883d6c45512bebbc8a2c81bc0 to your computer and use it in GitHub Desktop.
Save mmack/cbd2397883d6c45512bebbc8a2c81bc0 to your computer and use it in GitHub Desktop.
Prusa Slicer Start-GCode for the Artisan
; Heat the Bed -> use the highest temp ONLY INNER ZONE!
{if is_extruder_used[0] and is_extruder_used[1]}
M140 P0 S{(first_layer_bed_temperature[0]>first_layer_bed_temperature[1] ? first_layer_bed_temperature[0] : first_layer_bed_temperature[1])}
{ elsif is_extruder_used[0] }
M140 P0 S{first_layer_bed_temperature[0]}
{ elsif is_extruder_used[1] }
M140 P0 S{first_layer_bed_temperature[1]}
{ endif }
G28 ; Home all axes
G92 E0 ; Reset Extruder
G1 Z10 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 Z2 X-30.5 Y150 F5000.0 ; Move out of bed -> max left of artisan
{if is_extruder_used[0]}
T0
M104 S{first_layer_temperature[0]} ; set final nozzle temp
G92 E0 ; Reset Extruder
{endif}
{if is_extruder_used[1]}
T1
M104 S{first_layer_temperature[1]} ; set final nozzle temp
G92 E0 ; Reset Extruder
{endif}
{if is_extruder_used[0]}
T0
M109 S{first_layer_temperature[0]} ; wait for nozzle temp to stabilize
G92 E0 ; Reset Extruder
{endif}
{if is_extruder_used[1]}
T1
M109 S{first_layer_temperature[1]} ; wait for nozzle temp to stabilize
G92 E0 ; Reset Extruder
{endif}
; Wait for Bed to reach the right temp ONLY INNER ZONE!
{if is_extruder_used[0] and is_extruder_used[1]}
M190 P0 S{(first_layer_bed_temperature[0]>first_layer_bed_temperature[1] ? first_layer_bed_temperature[0] : first_layer_bed_temperature[1])}
{ elsif is_extruder_used[0] }
M190 P0 S{first_layer_bed_temperature[0]}
{ elsif is_extruder_used[1] }
M190 P0 S{first_layer_bed_temperature[1]}
{ endif }
; Clean Nozzle first Extruder
{if is_extruder_used[0]}
T0
G92 E0 ;Zero set extruder position
G1 E20 F200 ;Feed filament to clear nozzle
G92 E0 ;Zero set extruder position
G1 E15 F1200 ; purge some filament
G92 E0 ; Reset Extruder
{endif}
; Clean Nozzle second Extruder
{if is_extruder_used[1]}
T1
G92 E0 ;Zero set extruder position
G1 E20 F200 ;Feed filament to clear nozzle
G92 E0 ;Zero set extruder position
G1 E15 F1200 ; purge some filament
G92 E0 ; Reset Extruder
{endif}
; Print Line First Extruder
{if is_extruder_used[0]}
T0
G1 Z0.5 X0.5 Y150 F1200 ; Move to start position
G92 E0 ; Reset Extruder
G1 X0.5 Y0.5 Z0.3 E30 F1200 ; Draw the first line to x0y0 a little bit above
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 F2400 E-1
G92 E0 ; Reset Extruder
{endif}
; Print Line Second Extruder
{if is_extruder_used[1]}
T1
G1 X0.5 Y0.5 Z0.3 F1200 ; Move to start position
G1 X150 Y0.5 Z0.3 E15 F1200 ; Draw the second line to the right
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 F2400 E-1
G92 E0 ; Reset Extruder
{endif}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment