Dropping Down Before Tool Change

I just got my Pro XXL set up and have run some basic tests. I am about to do something more complicated that involves tool changes. I did a simulation in CAMotics before I cut any material, just to be sure everything is correct. I am noticing that the tool is cutting through the material after the tool change.

So I did a simple test with two pockets using different tools.

This is the simulation in CC:

This is the simulation in CAMotics:

I tracked down the problem to the line in the G-Code “G53G0Z-0.197.”

(Move to safe Z to avoid workholding)
(TOOL/MILL,0.250, 0.125, 0.000, 0.00)

If I remove the “Z-0.197,” it works.

If I understand this correctly, after the last line of the first tool path, it does a rapid traverse to Z0.5000, which is my Retract Height. Then, it turns off the spindle, moves to Z-0.197 (the top of the material is 0.0), and does the tool change before turning on the spindle and traversing over to the first cut position. Then it moves up to the Retract Height before plunging to the start of the next tool path.

I understand that the simulator does not consider the machine moving to the home position to request the tool change, so am I safe to ignore this?

I have not tried to cut this from actual material.

G53 is machine coordinates, so it lifts up to 0.197 below the machine coordinate origin (initial homing position).

In order to get this to preview correctly in CAMotics you’ll need to enter the machine dimensions so that they will be taken into account and the program will be able to use this command to move in terms of the machine coordinate system.

Oh. I see. I knew that G53 was to set to Machine Coordinate System (cancel work offsets), but I didn’t realize that is was absolute to the machine and not to the program origin, because I could not find any code that sets an offset. Does the G53 only apply to a single move? That would make sense.

Are you familiar enough with CAMotics to tell me how to set the simulation up correctly? If it is off-topic, don’t worry about it!

Not sure if it’s supported or no.

There’s an issue on Github which has G53 in it, but not finding it in the docs.

Thanks for the help.

What I can do for now is make a separate NC file that removes all of the lines that start with G53, and only use it for simulation. I just have to make sure not to accidentally load it onto the machine! Maybe I can add or change some other lines that would make the simulation work, but not allow the machine to run it.

So, in conclusion, I’m going to replace the line “G53G0Z-0.197” with “M01” (optional stop) in the simulation file. That way, if I accidentally run it, CM will stop the machine at that line.

The only thing I wish is that CM would prompt a dialog at that line with “Continue” and “Stop” buttons instead of just stopping. It would be useful for other things.


Perhaps try a different gcode viewer like ncviewer?