"I programmed it straight off the print, but the taper is out of size." "The radius looks slightly wrong." Almost everyone who starts on a CNC lathe hits this wall once.
Most of the time the cause is the tool nose radius. This article walks through what nose radius compensation actually does and how to deal with it, starting from why the error happens in the first place.
Rounding the 45° chamfer, at half speed. The red line is where the cross has been — that line is the contour on the print. Closing that gap is what nose radius compensation is about.
LATHE-NC 3D simulation (1.0 mm nose radius, compensated, viewed square on) | → Try it (free beta)
The nose radius — your insert does not cut at a point
Look closely at the cutting corner of a turning insert and it is not a sharp point. It is a small arc. The radius of that arc is the nose radius. On general OD inserts, 0.4 mm and 0.8 mm are the common sizes.
| Nose radius | Typical use |
|---|---|
| 0.2 mm | Precision work, small parts, where you need a sharp corner |
| 0.4 mm | The standard finishing choice. A good balance |
| 0.8 mm | Roughing to semi-finish. Stronger corner, takes more feed |
| 1.2 mm and up | Heavy cuts, roughing castings |
The catch is that the coordinates in your program are not measured from anywhere on that arc. They are measured from the theoretical tool tip, a point that does not physically exist. It is the imaginary corner you get by drawing tangents to the nose arc in Z and in X and taking where they cross.
The machine drives the theoretical tip along the line on your print. What is actually removing metal is the nose arc. The gap between those two things is exactly where nose radius error comes from.
Why faces and straight diameters are fine, but tapers and radii are not
Faces and straight ODs have no error
When you are facing, or turning a straight diameter, the nose arc sits tangent to the surface you are cutting. The theoretical tip and the finished surface line up, so the part comes out on size with no compensation at all. That is why you can run stepped shafts for months and never notice the nose radius exists.
Tapers and arcs leave stock, or gouge
The trouble starts on a taper or an arc. The theoretical tip follows the line on the print, but the nose arc touches somewhere else. The result:
- OD tapers and convex radii — stock left on, part finishes oversize
- Chamfer width — comes out smaller than programmed
- Concave radii — shallow, and the blend does not come in cleanly
This is the classic "the program is right but the size is wrong" situation.
How big is the error, really
The error peaks on a 45° taper, where it works out to nose radius × 0.586 (that is 1 − 1/√2). Put real numbers on it and it is clearly not something you can ignore.
| Nose radius | Offset on a 45° taper (one side, on radius) |
|---|---|
| 0.2 mm | about 0.12 mm |
| 0.4 mm | about 0.23 mm |
| 0.8 mm | about 0.47 mm |
| 1.2 mm | about 0.70 mm |
Even with a 0.4 mm insert, a 45° taper is out by 0.23 mm on radius. On a part held to ±0.05 that is nowhere close. If you have ever looked at a chamfer and thought it seemed a bit small, this is what you were looking at.
Option 1: use G41/G42
The control has a function that corrects this for you. It is tool nose radius compensation, called up with G41 and G42.
| Code | What it does |
|---|---|
G41 | Offsets the tool to the left of the direction of travel |
G42 | Offsets the tool to the right of travel (the usual one for OD work) |
G40 | Cancels compensation |
Putting G41/G42 in the program is only half of it. You also have to enter two things on the tool offset page.
- The nose radius (0.4, for example)
- The tip orientation number — a number from 1 to 9 saying which way the cutting corner faces. Typically 3 for OD tools and 2 for ID tools
(OD finish pass)
G50 S2000
G96 S180 M03
T0101 (finishing tool, call the offset)
G00 X52.0 Z5.0 M08
G42 G01 Z0 F0.15 (lead in with compensation on)
X20.0
Z-25.0
X40.0 Z-45.0 (the taper now finishes on size)
Z-60.0
G40 U2.0 W1.0 (cancel as you pull away)
G00 X150.0 Z100.0
M30
Where people get caught out with G41/G42
- Turn it on and off clear of the part. The tool moves diagonally on the block where compensation switches, so do it somewhere it cannot bite into the work.
- The wrong tip orientation number makes it worse. If turning compensation on made the part worse rather than better, check this first.
- You cannot cut an internal corner smaller than the nose radius. You will either alarm out or change the shape. Catch it when you pick the tool.
Option 2: work the coordinates out by hand
The old way is to calculate the taper start and end points with trigonometry and put the shifted numbers straight into the program. For a plain chamfer there is the shop trick of simply adding the nose radius onto the chamfer size.
The problem is that you have to redo the maths every time you change tools, and once arcs are involved it gets genuinely tedious. It is also a good way to make a quiet mistake, so I would not recommend it to anyone learning.
Option 3: let CAM deal with it
The third option is to hand the whole path calculation to CAM. CAM knows the nose radius of the tool before it works out the toolpath, so the G-code that comes out is already compensated. No deciding where to lead G41/G42 in, no wrong tip orientation number.
Nose radius compensation is something you should understand. I do not think it is something you should have to do by hand every time. Know how it works, then let the tool handle the daily arithmetic. That is the way with the fewest mistakes, and it is faster.
LATHE-NC, the lathe CAM that runs in your browser, was built on exactly that idea. All you do is pick the tool you are running. LATHE-NC works out the nose radius compensation and outputs G-code that finishes tapers and radii on size.
→ Try it (free beta)
Summary
- An insert cuts on an arc, not a point. Your program is referenced to the theoretical tip.
- Faces and straight diameters are fine uncompensated. Tapers, arcs and chamfers are not.
- The offset peaks at nose radius × 0.586 on a 45° taper. Even a 0.4 insert is out by about 0.23 mm on radius.
- Three ways to deal with it: G41/G42, hand calculation, or CAM. If you are starting out, CAM is the safe one.
Stop thinking about nose radius compensation.
LATHE-NC runs in your browser. Pick the tool and it outputs compensated G-code.
The beta is free for the first 100 users.