Why did my printer's nozzle dig itself into my print? I just completed my first print on my Ender-3 and when the print finalized itself the nozzle didn't elevate itself to clear away from the piece. I watched as the nozzle slowly lowered itself into my print and destroy it. Here is the gcode generated by Slic3r used:


; Filament-specific end gcode
G4 ; wait
M221 S100
M106 S0 ; turn off cooling fan
M104 S0 ; turn off extruder
M140 S0 ; turn off bed
G91
G1 F1800 E-3
G90
G1 Z{z_offset+min(layer_z+30, max_print_height)}{endif} ; Move print head up
G28 X0 ; home x and y axis
G1 Y180; Remove Print Position
M84 ; disable motors
M300 S2600 P100; Beep
; filament used = 24040.5mm (57.8cm3)
; total filament cost = 0.0
You are using incorrect commands in your end-code for the incorrect tool with respect to the print head raise.

Slic3r has no knowledge of the maximum printer height (as in variable max_print_height) because there is no input field to specify this, as can be seen in this partial screenshot:



However, in Slic3r PE (Prusa Edition), there is a possibility to enter such a value, as seen in the following partial screenshot:



Note that in both editions, the Bed shape interface is equivalent when Set... is pressed:


To use the raising of the head, respecting the maximum print height, in Slic3r PE, you need to add the following line:

{if layer_z &lt; max_print_height}G1 Z{z_offset+min(layer_z+60, max_print_height)}{endif}


This will parse fine in Slic3r PE, but not in Slic3r (as max_print_height is not known).

If you want such a command in Slic3r, you need to enter (for a printer with a maximum print height of 240&nbsp;mm):

G1 Z{[z_offset]+min([layer_z]+3, 240)}


results in Slic3r for a 20x20x20&nbsp;mm calibration cube with a zero z_offset to:

G1 Z23