Description
Application Version
4.7+ (at least)
The incorporation of MESH comments is designed to delineate moves associated with each object on the build plate.
Current versions of Cura like to include additional moves on a previous object after it places the MESH comment. I have two cubes on the build plate separated far apart (around ~X35, Y24 and the other at ~X190, Y140) so the coordinate differences are easy to see. Note the transition around the change to cube 2:
G1 F1800 X35.535 Y24.427 E0.06879
M204 S2000
G0 F7200 X34.969 Y24.427
M204 S1000
G1 F1800 X34.56 Y24.836 E0.02886
M204 S2000
G1 F2100 E-0.4
;MESH:20mm_cube.stl(2)
G0 F7200 X52.253 Y42.119
G0 X53.557 Y42.119
G0 X193.204 Y143.365
G0 X194.508 Y143.365
The first two moves after the MESH comment are still related to the previous object. If using OctoPrint cancelobjects or M486 in Marlin, and the previous object (X35) is cancelled, there is an extra travel move. Also, if wipes are enabled these wipes happen here as well.
It actually gets worse if you look after it completes the last object in the list and moves to NONMESH:
G1 F1800 X196.147 Y144.394 E0.04311
M204 S2000
G1 F2100 E-0.4
;MESH:NONMESH
G0 F600 X196.147 Y144.394 Z0.8
G0 F7200 X194.508 Y143.365
G0 X193.204 Y143.365
G0 X53.557 Y42.119
G0 X52.253 Y42.119
G0 X51.817 Y41.683
While it totally makes sense to have the layer change in NONMESH, if you cancel the object before NONMESH, the first thing that will happen is an F600 move across the build plate. This was brought up as recent issue: paukstelis/Octoprint-Cancelobject#62
It seems like the layer change Z move should not be tied to any X and Y moves, and when at all possible.
It seems that most of this is a result of combing, as the moves to get out of an object mostly disappear (with the exception of NONMESH) when combing is turned off.