CNC Services Northwest


Each lathe tool has X and Z offsets, which serve to locate the tool tip with respect to some standard position. There are several ways to manage tool offsets on the lathe control. Which way is best for you will depend on your machine, your tool holding system, and the nature of your work.

Some factors which will affect your choice of methods include:

First I will discuss some of the basic theory and concepts behind measuring and using tool length offsets, then I will list some recommended methods for managing your offset library, based on the preceding considerations.

Theory and Concepts

If at any point in this discussion your eyes start to glaze over, just skip down to the Methods section.

What are tool length compensation and tool length offsets?

Tool length compensation is a way for your CNC control to adjust for differences in length between different tools, without your having to worry about those differences in your part program.

The control can adjust for tool lengths on request, provided it knows how long each tool is relative to some standard length (and therefore relative to each other tool). These relative lengths are called Tool Length Offsets or simply Tool Offsets.

The Centroid control maintains two sets of tool offsets. The first set, displayed on the "Tool Offset Adjustment" screen, is intended to hold wear offsets. These values should all start out at zero, but may be adjusted plus and minus small amounts to compensate for insert wear or other factors. From the main screen press F9/Tool Wear to get to the Tool Offset Adjustment screen.

If you have software earlier than CNC11 v3.08, then you instead press F1/Setup, then F2/Tool to get to the Tool Offset Adjustment screen.

The second set, displayed on the "Offset Library" screen, is intended to hold the larger geometry offsets. These values will be the difference between the tool tip position of each cutting tool, and the tool tip position of the reference tool. To get to the Offset Library from the main screen, press F1/Setup, then F2/Tool Offset. Alternately, you can press F2/Tool Offset from the Tool Wear screen.

If you have software earlier than CNC11 v3.08, then press F1/Offset Lib from the Tool Offset Adjustment screen to get to the Offset Library.

When a part program calls for a tool offset, the control adds the two offsets (geometry offset plus wear offset) together and uses the result.

Centroid measures tool geometry offsets by comparing each tool to a standard length. This standard length is the Reference Tool. In general, you load the Reference Tool, jog the X axis in until that tool touches some surface, and set the X Reference position there. Likewise you then jog the Reference Tool around to touch the end of the part, and set the Z Reference position there. The control memorizes these positions on each axis. You then load each other tool, bring that new tool in until it touches the same surfaces, and tell the control to measure the tool. You touch and measure each tool once for X and once for Z. The control compares the axis position with this tool touching the surface to the previously stored Reference position. The difference in positions is stored as the offset for the tool.

To touch the same surface with a shorter tool, you have to move the axis in further. This results in a negative offset. The shorter the tool, the more negative the offset.

To touch the same surface with a longer tool, you don't have to move the axis in as far. This results in a positive offset. The longer the tool, the larger (or less negative) the offset.

To apply tool length compensation, the control simply needs to add the current tool's length offset values to all X and Z axis moves. For a short tool, adding the smaller (or more-negative) number causes the axis to move closer. For a long tool, the larger (or less-negative) number causes the axis to stay farther away.

Centroid has traditionally recommended that your reference tool be longer than any other tool. This results in all your length offsets being negative. Doing this was never strictly necessary, but it did protect you against certain G coding errors. For example, suppose you wrote:

    N1 T0400         ; load tool 4 (at home, with no offsets applied)
    N2 G0 Z0.1 X1.2  ; rapid down to clearance position
    N3 T0404         ; turn on length compensation for tool 4

or, at the end of a cut:

    N48 G1 F.05 X.8 Z-1 ; make final cut at depth
    N49 T0400           ; turn off tool length compensation
    N50 G28             ; move to home

If the X and Z offsets for tool 4 were positive, both of these examples would result in crashes.

On the N2 line, the control will rapid in too far because it does not yet know that it has a long tool.

On the N49 line, most controls (including Centroids with software earlier than CNC7 version 7.03) will move the axes in by the offset amount, because they think they no longer have the long tool.

Neither of these situations will occur if you use Intercon, Mastercam, or any other CAD/CAM system with an intelligently written postprocessor to generate your G codes. Such programs will properly include changes in length compensation with other axis movement. In the examples above, N2 and N3 would be combined in a single line, as would N49 and N50:

    N2 G0 Z0.1 X1.2 T0404 ; turn on length compensation and rapid in
    N49 G28 T0400         ; turn off length compensation and rapid to home

If you do likewise when writing G code by hand, then you don't need to worry about whether your reference tool is your longest tool.

G codes for tool length compensation

Tool length compensation uses the last two digits of the four-digit tool number. The first two digits identify the tool location, primarily to index an automatic tool turret to the correct position.

Any time the first two digits change, the control will request a tool change (whether manual or automatic).

Any time the last two digits change, the control will look up and apply new offsets. Zeros indicate that no offsets are to be applied.

For example:

    T0101	; Load tool 1, activate offsets for tool 1
    T0201 ; Change to tool 2, keep offsets for tool 1
    T0300	; Change to tool 3, cancel the offsets
    T0303 ; Keep tool 3, activate its offsets
    T0300 ; Keep tool 3, cancel its offsets
    T0400 ; Change to tool 4, still with no offsets
    T0404 ; Keep tool 4, activate its offsets

Many postprocessors zero the offsets during tool changes, then bring the offsets back in on the first move back towards the part (as in the previous examples). This is not necessary on a Centroid control, but it is still common practice.

Tool length offsets and the Z axis part zero

Many controls do not distinguish between measuring tool length offsets and setting part zero. On such controls, you touch every tool to the surface of the stock in setting up for every job.

Centroid separates these two concepts. As a result, you can set or change the Z axis part location for all tools simultaneously, without having to change the Z offset for every tool. In addition, you can keep commonly-used tools set up and measured indefinitely, using them in many different jobs without having to remeasure them.

You set the Z axis part zero using the Set Part 0/Position screen (F1/Setup, F1/Part).

You can think of the Z axis part zero as the Z position where the reference tool touches the end of the part.

One way to find this position, of course, is to load the reference tool and jog it to the end of the part.

However, if you have already measured the offsets for your other tools, you can use any one of your tools to locate part zero. You just have to tell the control which tool you are using.

Once you have located the part surface with one tool, the control knows where it is with all the other tools as well, because it knows the relative lengths of all the tools.

This leads to several key points:


0) Don't use length compensation

If you rarely use more than one tool in a job (e.g. a one-job machine with a right-hand turning/facing tool), then you don't need to use tool offsets at all.



Procedure 0

1) Use a normal tool from each job as a reference tool for both axes

Use this method if you want to have a clear visual illustration of your offset values.



Procedure 1

1a) Use a centerline tool as the reference tool for X, and any tool for Z

This method works well on turret lathes, where every centerline tool (drill, tap, boring bar etc.) is on the same centerline.

Procedure 1a

1b) Use a common tool from many jobs as a reference tool for both axes

Use this method if you want to have a clear visual illustration of your offset values, and you have a tool which you use on many jobs and rarely change.

Procedure 1b, for CNC11 v3.08 and newer; or CNC12

2) Use imaginary reference tool, use length offsets to locate part

Use this method if you have several tools you wish to set up, keep, and reuse; and you choose to set Z0 to a permanently fixed position (e.g. the face of the chuck or collet, or a headstock-mounted cutoff slide).



Procedure 2

3) Use imaginary reference tool for X, normal tool for Z

Use this method if you want to set up and use several tools, and you may want to continue to use them after changing the Z zero position (e.g. same tools on parts of different length).

This is the method described in the Centroid Operator's Manual, and is the most widely useful one.



Procedure 3, for CNC11 v3.08 and newer; or CNC12

Procedure 3, for CNC11 v3.06 and earlier; CNC10; or CNC7

Back to on-line tutorials page


Copyright © 2021 Marc Leonard
You are welcome to print out this tutorial for your own use and for non-commercial distribution, as long as you include this copyright message.
Last updated 23-Nov-2021 MBL