Quick answer is that the gcode instruction to cut a straight line (G1) generally has up to three coordinates included. If you are cutting in 2D, then these are the X and Y coordinates to which the tool should move; no Z coordinate so the tool stays at same height. If you want height/depth of cut to vary along the path, then you add a Z coordinate and the motion control software will calculate the tool path so X, Y and Z all vary at the right rate to get to the end point in a straight line. So the answer to your question is that yes, the Z move is part of the generated gcode. Aspire, vCarve, etc, all do this when generating 3D cutting gcode. If you were really keen, I suppose that you could find all straight cutting moves, and edit them to include an intermediate point with lower Z point plus original Z value in the original point. Doesn't sound like an easy job to me! Probably why Cut3D costs rather more than Cut2D...