When talking about CNC offsets it is important to understand the different types. This will allow you to correctly use your machining programs.
Each type of offset has its own purpose and uses. The most common are tool, work, and height. Each has a specific format used in the gcode program.
Tool Offset
Tool offsets are used to describe dimensions of the tool that will affect your program. Typically, this includes its radius or diameter (D offset) and length or width (H offset). Some machine controls allow you to store the H and D offsets together in one offset code. Work offsets are useful because they help you calibrate your machine to the actual work conditions that it will be working against. The machine’s programs are universal, but the actual work conditions may be different than those that you use to set up your machine. Work offsets “calibrate” the machine to work at the right position in real space by comparing the axes position of the tool when it is touching the part to the position it has stored for that tool.
Then, when the program is run, the machine will adjust the axes to match the actual work condition. This will ensure that the axis are always moving in the direction it should be.
This is a great way to avoid wasting time and effort by trying to get your machine to match the wrong coordinate system when you are jogging on the surface. You can even get more granular and do this for individual tools in your tool holder. This is a bit more work, but it will pay off when you are setting up a new tool that has never been used in your shop before.
Work Offset
A work offset is a value used to establish the X, Y, and Z coordinates for a particular tool on a fixture. These values are stored in a different set of coordinate tables than the tool table. There are usually six standard work offsets available (G54 through G59). Some cnc machines may allow for additional work offsets using the G54.1 P numbering format.
For example, if you have a specialized fixture with a grid of parts, each part will likely require an individual work offset to be established on the fixture. You might have to take a lot of time-consuming measurements with a dial indicator or edge finder to find the correct location on the fixture plate to set each datum point. Then you would need to enter the appropriate work offset in the gcode program.
One simple way to deal with these situations is to use a common work offset. For example, if the parts are five inches apart in X and Y on your fixture plate, you might want to set the work offset register for the lower left hole on the sub-plate to a positive value like five inches. That will mean that all the fixture offset entries for that part will be referenced from that position, rather than the machine’s zero return positions.
Geometry Offsets
Geometry offsets are set by a setup person during tool setting, and they are determined by measuring the tool tip height against a datum. These are then stored in the machine’s offset table (also called a work offset table). The control then calls up these values when running a program.
This method is very slow, and it can be difficult to measure the tools correctly. It is also not very accurate, as the geometry offset will change over time due to tool wear and other factors. However, it is the easiest way to get a programmed tool to run quickly on a machine.
There are a number of different ways to set up a geometry offset. One common method is to use a height gauge outside the machine, and then write a G code that references this value as a work offset. This is sometimes referred to as the offline method.
Another way is to set a work offset using a tool number. This can be done with any of the standard G codes, but it is usually easiest to use the Fanuc format, which is G54.1 P1, where the first two digits identify the tool location, and the last two digits specify the work offset. For example, G54.1 P1 could be used to set a work offset of 10 mm.
Cutter Compensation
Cutter compensation is a way of compensating for changes in the diameter or length of a cutting tool. Basically, the machine uses the actual measurements of the tool’s diameter stored in the offset table of the machine control to correct the programmed path of the cutter. When the compensation mode is activated using the G code G41 or G42, the machine will shift the tool to the left (G41) or right (G42) by the value of the cutter diameter in the offset table.
When the compensation mode is canceled using the G code G40, the machine will return to the position of the tool at the beginning of the cut. It is important to note that the cancellation must be commanded on a linear or rapid traverse block because if the cancellation is on a circular move, the compensated path will over lap and cause a gouge in the part.
The way a machine’s cutter comp works varies slightly from machine to machine, but the concept is the same. The offsets are based on the locations of the machine’s home and work datums, so the program knows what is supposed to happen in the real world. Then, when the offset is activated, the machine will adjust its readouts to show what it should actually be doing in the real world.