Introduction
In CNC machining, accuracy depends on more than just the program code – it also relies on how the machine understands tool dimensions. On a Vertical Machining Center (VMC), the concepts of Tool Length Offset (TLO) and Tool Diameter (Radius) Offset (TDO) are crucial.
Without setting these offsets properly, the machine will not know the actual position or cutting edges of the tool, leading to scrap parts or even crashes.
In this blog, we’ll break down both offsets, their purpose, and how to use them in CNC programming.
What is Tool Length Offset (TLO)?
-
Definition: Tool Length Offset compensates for the difference in length between different tools in the spindle.
-
Each tool has a unique length from the spindle gauge line to the tool tip.
-
The offset allows the machine to correctly position the tool tip relative to the workpiece zero (WCS).
Without TLO, the machine assumes all tools are of the same length, which is never the case.
How it works:
-
Tool length is measured manually with a touch-off method or automatically using a probe.
-
The value is stored in the machine’s offset table (e.g., H01, H02, H03…).
-
The command G43 Hxx tells the machine to apply the stored length offset for tool compensation.
Example:
T01 M06 (Call Tool 1)
G90 G54 G00 X0 Y0 (Move to workpiece zero)
G43 H01 Z100 (Apply tool length offset H01 for Tool 1, safe Z move)
What is Tool Diameter (Radius) Offset (TDO)?
-
Definition: Tool Diameter Offset (also called Cutter Radius Compensation, CRC) compensates for the tool’s radius when machining profiles and contours.
-
Every tool has a finite radius, and the programmed path is the part geometry, not the tool centerline.
-
With TDO, the CNC shifts the tool path so that the cutting edge follows the programmed contour, not the tool center.
How it works:
-
Tool radius is measured (or provided by the tool manufacturer).
-
Value is entered in the D offset table (D01, D02, D03…).
-
Activated with G41 (left compensation) or G42 (right compensation).
Example:
T02 M06 (Call Tool 2)
G90 G54 G00 X0 Y0 (Go to start point)
G43 H02 Z100 (Apply tool length offset for T2)
G01 Z-10 F200 (Cutting depth)
G41 D02 X50 Y0 (Apply cutter compensation left, using diameter offset D02)
Tool Length vs Tool Diameter Offset – Key Difference
Feature | Tool Length Offset (TLO) | Tool Diameter Offset (TDO) |
---|---|---|
Purpose | Compensates for tool length differences | Compensates for tool radius when contouring |
Code Used | G43 Hxx | G41 / G42 Dxx |
Stored In | H Offset Table | D Offset Table |
Axis Affected | Z-axis only | X & Y (sometimes Z in 3D contouring) |
Typical Use | Tool changes, drilling, milling | Profile cutting, pocketing |
Practical Example – Using Both Offsets
T03 M06 (Select Tool 3)
G90 G54 G00 X0 Y0 (Work coordinate system – G54)
G43 H03 Z100 (Apply tool length offset H03 for T3)
S1200 M03 (Spindle ON)
G01 Z-15 F150 (Cut to depth using tool length offset)
G41 D03 X100 Y0 F200 (Apply tool diameter offset D03 for contour cut)
G40 (Cancel cutter compensation)
G00 Z100 (Safe retract)
M30 (End of program)
Here:
-
H03 applies tool length compensation for drilling/milling depth.
-
D03 applies tool diameter compensation for profile machining.