Zeroing to work piece with an ATC


I am starting to look at moving beyond my existing CNC running GRBL to a bigger machine and adding on an ATC to help streamline things I run on a recurring basis, and would like to be using Masso. One thing I am curious about is zeroing multiple tools and referencing the work piece height.

I've seen setups before with a fixed probe to zero each tool relative to the machine's bed and a tool change routine that would zero each tool and store the offset. For the most part, that works quite well, however some jobs really want to be sure to level to the material's surface, such as when doing vcarve/engraving to ensure proper depths and orientation.

It seems like it should be possible to take a tool, zero to the bed, then zero the tool to the material, and know the material thickness and adjust all tool offsets relative to the current material. Is this something Masso is able to do?


Staff member

The questions you are asking have answers in different parts of the documentation. Unfortunately some of the videos are from the G2 era but the same principles still apply.

When the machine is homed and ATZ is turned ON, part of the homing process is to measure the current tool, this sets a MCS reference point for the tool length.
When the WCS Z axis is zeroed to the material that tool length MCS reference point is adjusted and each tool change measures the new tool length and adjusts the WCS Z zero in the MCS to suit the new tool so that the tool tip is always at the WCS Z zero.

With a ATC it is possible to "manually" measure each tool that will be used in the ATC, this done in the F4 screen and the Z offset is set during the measure process and the ATZ process doesn't run in the tool change process.




Staff member
Hi krobertson

I'm quite partial to referencing the cutter to the table surface in my machining but I'm not sure why you would want to MASSO to work out the stock thickness as the Gcode is written to cut a certain depth and will do so no matter how thick the stock is.

To reference your cutting to the table surface set up your tool changer as normal. All tools reference to one another and not the table so no change is needed to the process.
When setting the zero point for your job you can either probe to the top of the stock as normal and the cuts will reference from the stock surface.


You can probe to the table surface enter the negative of the stock nominal thickness that the Gcode was made for.
In the example screen shot I have entered -18 into the Z Position box on the probing cycle as the GCode file was created for a stock 18mm thick.

All tool changes from there on will be relative to the chosen reference point
Note: you cannot change your reference point part way through the program.
If you want to do that you need to split the Gcode file into different parts. Those that reference to the top and those that reference to the table surface.

It is important when using the Z position parameter and referencing to the tabletop, that you jog the Z axis to Z0 and checking it moves to the top of the material.
It will be a little above or below the stock surface depending on the actual thickness but it should be at the top.
In this example entering +18 into the Z position when zeroing to the tabletop is a mistake you do not want to make, EVER!

Hope this helps


  • Probing.jpg
    21.4 KB · Views: 41