How do I start using 'work offsets'? step by step

Can someone direct me to a video or chat about exactly how to set work offsets? youtube has nothing with Mark Lyndsay and I can’t find on the forum how to set this up. And you’d have to understand when you say G53 that is like speaking Russian to me. I have read and understand a little that these are coordinates but how do we actually input and where etc?

Thank you! Merry Christmas


1 Like


Nick, you didn’t say what machine you have; so, I’ll assume you have a Onefinity Elite since you’re on this forum asking your question. If that is the case, Peter (CNC NUTZ) has great youtube videos on offsets…I highly encourage you to watch his videos.


1 Like

will check these videos out much appreciated. I have the X50 Journeyman

Hey Nick,

you did not say anything about machine model, CNC controller, firmware version, involved accessories.

Setting an offset can be done by probing, e.g. with the XYZ Touch plate. After the probing, you will see that the coordinates have changed (the three columns “Position”, “Absolute” and “Offset” on the CONTROL page).

After probing, the zero coordinate of the coordinate system in effect is now no more at home position, but at the workpiece zero coordinate.

If you want to set the offset manually, it is the G92 – Coordinate System Offset command that sets it if you enter it in the manual data interface (MDI).

The G92 – Coordinate System Offset command is also the most important command in every ‘tool-change’ routine on the SETTINGS page as it sets the Z offset for the new bit length after a bit change.

So after probing, if you use G0 (rapid move) to move to a specific coordinate, like:

G0 X0 Y0

, it will not move to the home position, but to the workpiece zero that you previously probed with the touch plate.

If you nonetheless would want to move in machine coordinates instead of workpiece coordinates then, the you’ll have to prepend G53 – Move in Machine Coordinates, like this:

G53 G0 X0 Y0

This will not alter the offset you probed previously, it will only interpret the X0 Y0 as absolute machine coordinates.

Note that the “Position”, “Absolute” and “Offset” columns on CONTROL page reflect the machine coordinate position (“Absolute”) and the offset (“Offset”). The “Position” column tells the position with respect to your workpiece zero coordinate.

You can also click the “zeroing” buttons on the CONTROL page that will set the offset workpiece zero coordinate by simply clicking on it, either for an indivdual axis, or for all X, Y, and Z axis at the same time:

Image: The “zeroing” buttons on CONTROL page

If you want to know everything about the different coordinate systems that you can use, you can follow this link:

There, you can also learn to know that you can also program multiple offsets at the same time with G54-G59.3 Select Coordinate System so that you can quickly switch between them (manually or from the inside of a g-code program)

You also learn that a tool table is done by programming offsets.

I think you’ll learn g-code if you simply try things out into the manual data interface (MDI), otherwise it’s like you use a CNC machine but sitting only on co-driver seat all the time.


Hello Nick - which controller do you have? I don’t think the original buildbotics supports machine coordinate system (but I could be wrong).


It does but you do it all in the file

Wow, blown away with all the love here on the forum! That was quick and detailed. With a full time job and kids I don’t get much time to dabble but this gives me a great road map and I think it is starting to click for me. I need the skill set of understanding offsets manual and machine based to get to the next level. It’s causing me to be very slow and frustrated with any change or tool adjustment.

as far as my controller i purchased the whole package Jan 23 from Onefinity as the X50 journeyman. I will get some time this week to learn from your responses.

Thank you again

1 Like

Hey Tom,

totally wrong. See the http://onefinity.local/#cheat-sheet page on your buildbotics-derived Onefinity controller. It supports all coordinate systems and all offsets that the RS-274NGC definition provides.

On the bottom of the http://onefinity.local/#cheat-sheet page, there is even a button to click on that will show the g-code that the controller does not support.

Remember, the author of the Buildbotics controller first wrote the 3D toolpath simulation software. And you can hardly to that without implementing every g-code command that the software may encounter in a g-code program.