Machining cycle
Taper threading on a CNC lathe
The same threading capability, applied to a tapered surface
A clickable cycle form: tap any field to see what it does.


Cycle form: internal taper threading shown — start and end hole diameters set the taper angle, live 2D toolpath simulator on the right.
Taper threading mirrors the regular threading cycle — multi-start, direction, lead-in and lead-out — but lays the thread path onto a cone instead of a cylinder.
Who needs this cycle
Needed for tapered thread connections (for example, tapered pipe threads) where a regular cylindrical threading cycle doesn't apply.
Key form parameters
- •Start and end diameter of the taper
- •Taper angle
- •Thread pitch
- •Number of starts
- •Lead-in and lead-out
G-code example
Real output of the Taper threading cycle for an external right-hand thread with a 1.5 mm pitch: a taper from Ø20 at Z0 to Ø16 at Z−20, depth 0.75 mm per side, 10 roughing passes and 1 finishing pass, 50 rpm. Thread motion is G33 with K as the pitch address. This is a demonstration example using form parameters, not a specific pipe thread standard. The code lines were not edited by hand.
Radius mode G8: touch X 10 at Z0 is Ø20, touch X 8 at Z−20 is Ø16. A 1:5 taper — the radius shrinks by 1 mm for every 10 mm of length.
taper-threading.ngc · 91 lines — Show the full program
%
(Turn G-code)
(External taper thread)
(Thread motion: G33 K)
(Direction: right-hand)
(Starts: 1)
(Touch X at start Z0: 10.0000)
(Touch X at end Z-20.0000: 8.0000)
(Clearance: 0.0000)
(Remaining depth: 0.7500)
(Cut start Z: 3.0000)
(Cut end Z: -20.0000)
G21 G18 G90 G8 G40 G80
G54
G97 S50 M3
G0 Z3.0000
G0 X15.0000
(Pass 1 of 10)
G0 Z3.0000
G0 X10.3000
G33 X8.0000 Z-20.0000 K1.5000
G0 X15.0000
(Pass 2 of 10)
G0 Z3.0000
G0 X10.2167
G33 X7.9167 Z-20.0000 K1.5000
G0 X15.0000
(Pass 3 of 10)
G0 Z3.0000
G0 X10.1333
G33 X7.8333 Z-20.0000 K1.5000
G0 X15.0000
(Pass 4 of 10)
G0 Z3.0000
G0 X10.0500
G33 X7.7500 Z-20.0000 K1.5000
G0 X15.0000
(Pass 5 of 10)
G0 Z3.0000
G0 X9.9667
G33 X7.6667 Z-20.0000 K1.5000
G0 X15.0000
(Pass 6 of 10)
G0 Z3.0000
G0 X9.8833
G33 X7.5833 Z-20.0000 K1.5000
G0 X15.0000
(Pass 7 of 10)
G0 Z3.0000
G0 X9.8000
G33 X7.5000 Z-20.0000 K1.5000
G0 X15.0000
(Pass 8 of 10)
G0 Z3.0000
G0 X9.7167
G33 X7.4167 Z-20.0000 K1.5000
G0 X15.0000
(Pass 9 of 10)
G0 Z3.0000
G0 X9.6333
G33 X7.3333 Z-20.0000 K1.5000
G0 X15.0000
(Pass 10 of 10)
G0 Z3.0000
G0 X9.5500
G33 X7.2500 Z-20.0000 K1.5000
G0 X15.0000
(Finish passes on the final profile)
(Finish pass 1 of 1)
G0 Z3.0000
G0 X9.5500
G33 X7.2500 Z-20.0000 K1.5000
G0 X15.0000
G0 Z3.0000
M5
M30
%Line-by-line breakdown
G21 G18 G90 G8 G40 G80- Start: millimetres, XZ plane, absolute coordinates, radius mode for X (G8), cancel compensation and canned cycles.
G97 S50 M3 / G0 Z3.0000 / G0 X15.0000- Constant 50 rpm and a rapid to a safe point: 3 mm in front of the face, X15 (Ø30).
G0 X10.3000 → G33 X8.0000 Z-20.0000 K1.5000- First pass: the tool moves to X10.3 at Z3 — the taper line extended past the face (slope 0.1 mm per 1 mm of length: 10 + 0.3). Then G33 drives the tool in X and Z together at 1.5 mm per revolution to X8 at Z−20, so the thread follows the taper from the start.
G0 X15.0000- Rapid retract in X after each pass; the next one starts again from Z3.
(Pass 2 of 10) … (Pass 10 of 10)- Each pass goes about 0.083 mm deeper per side: X10.2167 → X7.9167, X10.1333 → X7.8333 and so on; the tenth reaches X9.55 → X7.25, a full 0.75 mm below the touch line.
(Finish pass 1 of 1)- A finishing pass on the same final profile X9.55 → X7.25 — it evens out the thread after the roughing passes.
G0 Z3.0000 / M5 / M30- Retract, spindle stop and program end.
Comments in this program were translated from Russian; the G-code itself is unchanged. The thread in this example runs to Z−20 with no run-out section — the tool leaves the metal with a G0 retract in X. The lead-in in front of the face is 3 mm (from Z3).
What the codes in this program mean (G8, G33, G97, M3, M5) — G- and M-code reference for lathes.
More on this topic: Tapered threads on a CNC lathe: NPT, BSPT, calculation and G-code.
Verification status: this cycle has been verified with an air/step run on the author's machine; verification with an actual material cut has not been done yet.
Frequently asked questions
How is this different from regular threading?
It mirrors every capability of the regular threading cycle (multi-start, direction, lead-in and lead-out), but lays the thread path onto a conical surface instead of a cylinder.
What connections is this cycle for?
Tapered thread connections — for example, tapered pipe threads — where a regular cylindrical threading cycle doesn't apply.
Has this cycle been verified with a real material cut?
It has been verified with an air/step run on the author's machine; verification with an actual material cut hasn't been done yet — this is noted separately on the cycle page.
How is the taper angle set?
Through the start and end diameters of the taper — the cycle calculates the threading path across the conical surface automatically.
Are lead-in and lead-out supported, like in regular threading?
Yes, these parameters work exactly the same as in the regular threading cycle.
