Notifications
Clear all

en g code problem  

  RSS
BblackmilkK
(@bblackmilkk)
New Member
en g code problem

When the process is finished, the z axis is up too much. How can I change it. Let's get up 20mm from the height of the model that ends.

orjinal gcode :

{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F600 ; Move print head up{endif}

G1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print

{if max_layer_z < max_print_height-10}G1 Z{z_offset+min(max_layer_z+70, max_print_height-10)} F600 ; Move print head further up{endif}

{if max_layer_z < max_print_height*0.6}G1 Z{max_print_height*0.6} F600 ; Move print head further up{endif}

M140 S0 ; turn off heatbed

M104 S0 ; turn off temperature

M107 ; turn off fan

M84 X Y E ; disable motors

Best Answer by Neophyl:

You have 3 separate lines telling it to move up after printing.

{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F600 ; Move print head up{endif} 
this is saying move up 2mm if the extruder is at less than max print height.

Then you have 
{if max_layer_z < max_print_height-10}G1 Z{z_offset+min(max_layer_z+70, max_print_height-10)} F600 ; Move print head further up{endif}
which is saying move up 70mm if less than max print height (or max print height).

Then you have {if max_layer_z < max_print_height*0.6}G1 Z{max_print_height*0.6} F600 ; Move print head further up{endif}
not 100% sure what thats doing  but its a move up.  I think its basically saying if the max layer is less than 60% of the max print height then move up to 60% of your maximum height.  So if you have a printer that can print for example 200mm high and it prints something say 1mm high then its going to move up to 120mm.  A bit extreme.  Personally I would remove or comment out that last one.

Why the hell do you have 3 lines basically doing the same thing ?

Posted : 13/03/2022 5:13 pm
Neophyl
(@neophyl)
Illustrious Member
RE: en g code problem

You have 3 separate lines telling it to move up after printing.

{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F600 ; Move print head up{endif} 
this is saying move up 2mm if the extruder is at less than max print height.

Then you have 
{if max_layer_z < max_print_height-10}G1 Z{z_offset+min(max_layer_z+70, max_print_height-10)} F600 ; Move print head further up{endif}
which is saying move up 70mm if less than max print height (or max print height).

Then you have {if max_layer_z < max_print_height*0.6}G1 Z{max_print_height*0.6} F600 ; Move print head further up{endif}
not 100% sure what thats doing  but its a move up.  I think its basically saying if the max layer is less than 60% of the max print height then move up to 60% of your maximum height.  So if you have a printer that can print for example 200mm high and it prints something say 1mm high then its going to move up to 120mm.  A bit extreme.  Personally I would remove or comment out that last one.

Why the hell do you have 3 lines basically doing the same thing ?

Posted : 13/03/2022 5:22 pm
Share: