I think I've found a potential bug in the way S3D generates the gcode around a layer change. Instead of raising the Z axis to the new level first, the gcode produced seems to perform the rapid movement to the location of the next extrusion, and THEN raise the z-axis to the appropriate level. This seems quite backwards, as the rapid movement now potentially drags the nozzle across all of the previously printed layer. I'm currently printing four tall, narrow objects on my Dagoma Neva. I'm hearing the nozzle tip hit the first object in the rotation on every pass as it changes layer AFTER moving into position, striking the edge of this object. It hits on EVERY pass.
Here's an example of part of the gcode for this job.
Code: Select all
G1 X-28.999 Y-28.022 F630
G92 E0
G1 E-5.5000 F4800
; layer 800, Z = 120.045
; tool H0.150 W0.400
; inner perimeter
G1 X-30.133 Y24.670 F4800
G1 Z120.045 F1800
G1 E0.0000 F4800
G92 E0
G1 X-29.643 Y24.735 E0.0123 F551
G1 X-29.186 Y24.924 E0.0247
As we can see, at layer 800, the Z value should be 120.045. In the lines immediately following "; inner perimeter", we see the rapid X-Y motion of the tool precedes the setting of the Z-axis.
Code: Select all
; inner perimeter
G1 X-30.133 Y24.670 F4800
G1 Z120.045 F1800
Does this seem backwards to anyone else?
I know I could use z-hop to prevent this, but it doesn't seem like I should need to do this. I think Simplify3D could easily put the Z-axis move before any X-Y move.