G0 sometimes does not have both X and Y coordinate, is there a setting

I have a workpiece for plasma cutting with a series of repeating holes in a grid.

There was a problem with the controller and I returned to the G54 work home and wanted to run from the last M05 line

But the rapids immediately after were

G0 Z10.0

X 314.552

Then into the cut and circle routine, without the Y coordinate I cannot recover from that line, I reviewed the code and it seems that when cutting a line of holes Sheetcam generates code that does not specify either the X or Y and only gives X xxx.xxx and Yxxx.xxx on some moves when there is change in both coordinates.

This means that I need to recover from further back and as a result the torch ends up cutting in air.

Is there a setting to force Sheetcam to give explicit X and Y Coordinates for every rapid, even if there is a repeating pattern?

This would make recovery easier on this kind of job

Thanks

What you are describing is most likely NOT a sheetcam core (the compiled and installed program) issue, rather it 99.9% likely the problem is in your post processor. Post processors are user written Lua scripts (programs) that have sheetcam defined entry points (functions) such as OnRapid(), OnMove(), OnArc(), OnPenDown(), OnPenUp(), OnInit(), OnFinish(), all those being the most common invoked functions by sheetcam core. All gcode is ‘posted’ (output) to the gcode file by the post processor, most of it by the functions named above. A reference doc for these post processor functions and variables is available in sheetcam menu Options / Machine / ‘Post processor’ by clicking the ‘Post documentation’ button on that window.

Even though sheetcam ships over 400 post processors for various CNC controllers and feature conditions, these are largely user written origin and certainly many sheetcam users modify their own copy of their choice over time.

Thanks, I will take a look at the post processor. The post and sheetcam were shipped with the machine along with the license. This is the first time the issue has arisen because of the regular grid of holes and I have been using it for 6 years!

ok, that helps. Then after further review of your OP, I’m going to guess that your pp is using post.ModalText(“G0”) and/or post.ModalNumber(“ Y”, … ) in OnRapid(), OnMove() and/or OnArc(). Since your hole grid is likely along X and Y axes, then motion along either axis hole to hole will not repeat output (with those functions ‘Modal’ functions) of either X or Y position if it didn’t change value since last output. When cutting true arcs (G2/G3), some controllers want to have both X and Y in the motion block as it represents the arc endpoint.

Try using post.Text() everywhere, and post.NonModalNumber() in OnArc().

That’s really usefull info, thanks. I will take a look through the post file later on today. In general the current post works fine for most things, and if I need to restart from a particular line of code then I can just do that but I found the edge case today.

Once I have had a look I will report back :slightly_smiling_face: