FIFTY LINETurn G-code
Online generatorOnline calculatorsReference

Machining cycle

Taper turning on a CNC lathe

External and internal conical machining

A clickable cycle form: tap any field to see what it does.

Cone cycle form (internal) with parameters and the live 2D toolpath simulator

 

Форма цикла «Конус» (внутренний)

Cycle form: internal cone shown — start and end diameters set the angle, live 2D toolpath simulator on the right.

Taper calculator →Angle, taper ratio 1:N, small diameter, Morse tapers — and the contour points for the program. Free, in your browser.

The taper cycle removes material along a conical path between two given diameters over a given length, supporting both external and internal machining.

Who needs this cycle

Needed for parts with conical surfaces — centers, tapered fits, transition sections on shafts.

Key form parameters

  • •Start and end diameter
  • •Length of the taper
  • •External/internal machining
  • •Feed rate
  • •Spindle speed

G-code example

Real output of the Taper cycle for an external taper: a Ø22 mm blank becomes a Ø20 → Ø12 taper over 30 mm. Depth per pass 0.25 mm, finishing allowance 0.2 mm, plunge feed 40 mm/min, cutting feed 80 mm/min, finishing feed 60 mm/min; roughing at 300 rpm, finishing at 555 rpm. The code lines were not edited by hand.

Radius mode G8: X in the code is half the diameter. Ø20 is written as X10, Ø12 as X6, the Ø22 blank as X11.

Roughing is done in cylindrical steps: each pass removes 0.25 mm per side, and its start in Z shifts along the taper so the future tapered surface is never gouged. Then one pass along the profile with allowance removes the steps, and the finishing pass brings the taper to size.

taper.ngc · 177 lines — Show the full program
%
(Turn G-code)
(External taper)
(D start: 20.0000)
(D end: 12.0000)
(Stock Ø: 22.0000)
(Bore Ø: 10.0000)
(Length: 30.0000)
(Finish allowance: 0.2000)
(Depth per pass: 0.2500)
(Cutting F: 80.0000)
(Plunge F: 40.0000)
(Final X1: 10.0000)
(Final X2: 6.0000)

G21 G18 G90 G8 G40 G80 G94
G54

G97 S300 M3
G0 Z3.0000
G0 X13.0000

G0 Z-0.0000

(Roughing pass 1 of 20)
(Roughing as a cylinder at X10.7500; profile with allowance X10.2000->6.2000)
G1 X10.7500 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-0.0000

(Roughing pass 2 of 20)
(Roughing as a cylinder at X10.5000; profile with allowance X10.2000->6.2000)
G1 X10.5000 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-0.0000

(Roughing pass 3 of 20)
(Roughing as a cylinder at X10.2500; profile with allowance X10.2000->6.2000)
G1 X10.2500 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-1.5000

(Roughing pass 4 of 20)
(Roughing as a cylinder at X10.0000; profile with allowance X10.2000->6.2000)
G1 X10.0000 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-3.3750

(Roughing pass 5 of 20)
(Roughing as a cylinder at X9.7500; profile with allowance X10.2000->6.2000)
G1 X9.7500 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-5.2500

(Roughing pass 6 of 20)
(Roughing as a cylinder at X9.5000; profile with allowance X10.2000->6.2000)
G1 X9.5000 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-7.1250

(Roughing pass 7 of 20)
(Roughing as a cylinder at X9.2500; profile with allowance X10.2000->6.2000)
G1 X9.2500 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-9.0000

(Roughing pass 8 of 20)
(Roughing as a cylinder at X9.0000; profile with allowance X10.2000->6.2000)
G1 X9.0000 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-10.8750

(Roughing pass 9 of 20)
(Roughing as a cylinder at X8.7500; profile with allowance X10.2000->6.2000)
G1 X8.7500 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-12.7500

(Roughing pass 10 of 20)
(Roughing as a cylinder at X8.5000; profile with allowance X10.2000->6.2000)
G1 X8.5000 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-14.6250

(Roughing pass 11 of 20)
(Roughing as a cylinder at X8.2500; profile with allowance X10.2000->6.2000)
G1 X8.2500 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-16.5000

(Roughing pass 12 of 20)
(Roughing as a cylinder at X8.0000; profile with allowance X10.2000->6.2000)
G1 X8.0000 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-18.3750

(Roughing pass 13 of 20)
(Roughing as a cylinder at X7.7500; profile with allowance X10.2000->6.2000)
G1 X7.7500 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-20.2500

(Roughing pass 14 of 20)
(Roughing as a cylinder at X7.5000; profile with allowance X10.2000->6.2000)
G1 X7.5000 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-22.1250

(Roughing pass 15 of 20)
(Roughing as a cylinder at X7.2500; profile with allowance X10.2000->6.2000)
G1 X7.2500 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-24.0000

(Roughing pass 16 of 20)
(Roughing as a cylinder at X7.0000; profile with allowance X10.2000->6.2000)
G1 X7.0000 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-25.8750

(Roughing pass 17 of 20)
(Roughing as a cylinder at X6.7500; profile with allowance X10.2000->6.2000)
G1 X6.7500 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-27.7500

(Roughing pass 18 of 20)
(Roughing as a cylinder at X6.5000; profile with allowance X10.2000->6.2000)
G1 X6.5000 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z-29.6250

(Roughing pass 19 of 20)
(Roughing as a cylinder at X6.2500; profile with allowance X10.2000->6.2000)
G1 X6.2500 F40.0000
G1 Z-30.0000 F80.0000
G0 X13.0000
G0 Z0.0000

(Taper cleanup to the allowance)
(Profile X10.2000->6.2000)
G1 X10.2000 F40.0000
G1 X6.2000 Z-30.0000 F80.0000
G0 X13.0000
G0 Z0.0000

(Finishing spindle speed)
S555
(Finish pass 1 of 1)
(Profile X10.0000->6.0000)
G1 X10.0000 F40.0000
G1 X6.0000 Z-30.0000 F60.0000
G0 X13.0000
G0 Z3.0000

G0 Z3.0000
M5
M30
%

Line-by-line breakdown

G21 G18 G90 G8 G40 G80 G94
Start: millimetres, XZ plane, absolute coordinates, radius mode for X (G8), cancel compensation and canned cycles, feed in mm/min.
G97 S300 M3 / G0 Z3.0000 / G0 X13.0000
300 rpm and a rapid to 3 mm in front of the face at X13 (Ø26) — above the Ø22 blank.
G1 X10.7500 F40.0000 → G1 Z-30.0000 F80.0000
First roughing pass: plunge in X at 40 mm/min to X10.75 (Ø21.5), then turn a cylinder to Z−30 at 80 mm/min.
G0 X13.0000 / G0 Z-1.5000
Retract and move to the start of the next pass. From the fourth pass the Z start shifts (Z−1.5, Z−3.375, Z−5.25 …): the X10.0 cylinder can only be cut where the taper with allowance is already below that radius.
G1 X10.2000 F40.0000 / G1 X6.2000 Z-30.0000 F80.0000
“Taper cleanup to the allowance”: one pass along the sloped profile with a 0.2 mm allowance (X10.2 → X6.2) removes the ridges left between the cylinders.
S555 / G1 X10.0000 F40.0000 / G1 X6.0000 Z-30.0000 F60.0000
Finishing pass along the final Ø20 → Ø12 profile at 555 rpm and 60 mm/min. Simultaneous X and Z motion produces a smooth tapered surface.
M5 / M30
Spindle stop and program end.

Comments in this program were translated from Russian; the G-code itself is unchanged. The “Bore Ø” header line belongs to the internal taper mode: for an external taper it is printed along with the other form fields but does not affect this toolpath.

What the codes in this program mean (G0, G1, G8, G97, M3, M5) — G- and M-code reference for lathes.

Frequently asked questions

How is taper different from turning?

Turning machines a surface at a constant diameter, while taper changes the diameter linearly from a start to an end value over a given length, forming a conical surface.

Can I machine both external and internal tapers?

Yes, the cycle supports both — external and internal conical machining.

What parts is this cycle for?

Parts with conical surfaces — centers, tapered fits, transition sections on shafts.

Can I preview the toolpath before generating the G-code?

Yes, the cycle form shows a live 2D toolpath simulator.