FIFTY LINETurn G-code

Archimedean spiral on a face: cutting a spiral groove on a CNC lathe

· ~7 min read

An Archimedean spiral is a curve that moves away from the center by the same distance with every turn. Cut into the face of a part, it becomes a face spiral groove or face thread (scroll), like the scroll plate of a self-centering chuck. On a CNC lathe it is cut with a threading move

  • not along Z, but across, along X.

Contents

  1. What an Archimedean spiral is
  2. Where it is used
  3. How it is cut on a lathe
  4. Pitch, lead and number of starts
  5. Depth and passes
  6. Speeds: spindle RPM and X axis speed
  7. Sample program
  8. Common mistakes
  9. Archimedean spiral in Turn G-code

What an Archimedean spiral is

In polar coordinates the Archimedean spiral is:

r = a + b·θ
  • r - distance from the center;
  • θ - rotation angle (in radians);
  • a - starting radius;
  • b - how much the radius grows per radian.

Over one full turn (θ = 2π) the radius grows by 2π·b - that is the spiral’s pitch, the distance between neighboring turns. It is the same everywhere: near the center and at the edge the turns are evenly spaced. This is what sets the Archimedean spiral apart from the logarithmic spiral, where the spacing between turns grows.

For a machine this is convenient: at constant spindle RPM the tool must move in X at a steady rate - one pitch per revolution.

Where it is used

  • The scroll plate of a 3-jaw self-centering chuck: the jaw teeth ride in its face spiral.
  • Face threads in positioning and adjustment mechanisms.
  • Spiral grooves on the faces of washers and thrust surfaces - to distribute lubricant.
  • Uniform-motion cams: an Archimedean profile moves the follower in proportion to the rotation angle.
  • Decorative spiral grooves on the faces of knobs, caps and discs.

How it is cut on a lathe

A regular thread is a synchronized move along Z: per spindle revolution the tool travels one pitch along the axis. A face spiral is the same thing, except the synchronized move is along X: per revolution the tool moves one pitch from the center toward the edge (or the other way round).

In LinuxCNC it is a G33 threading move with an X coordinate only:

G0 X2.5             (go to the starting radius)
G1 Z-0.3 F50        (plunge into the face to pass depth)
G33 X40 K12         (spiral move to X40, K - lead per revolution)
G0 Z2               (leave the groove)

What the machine needs:

  • A spindle encoder with an index pulse. Without spindle position feedback the feed cannot be synchronized with the rotation, and the machine cannot run this program correctly.
  • Constant RPM - G97. G96 does not work here: the RPM has to stay constant during a synchronized move.
  • Rigidity and a face-cutting tool: the tool cuts with its front edge, like a parting or grooving tool.

On machines with live tooling and a C axis a spiral can also be milled using polar interpolation, but on a regular LinuxCNC lathe there is one way - a synchronized move along X.

Pitch, lead and number of starts

  • Pitch - the radial distance between neighboring turns of the groove.
  • Lead - how far the same turn advances per revolution.
  • On a single-start spiral, pitch equals lead.
  • On a multi-start spiral several grooves run side by side, offset from one another: lead = pitch × number of starts. Each start begins at its own starting radius, offset by one pitch.

The groove width comes from the insert width (if cut in one width), and between neighboring turns there is a land: pitch minus groove width.

Example from the program below: three starts begin at X2.5, X6.5 and X10.5

  • neighboring turns are 4 mm apart in radius, and the lead is K12 = 3 starts × 4 mm. With a 2 mm insert that gives a 2 mm groove and a 2 mm land.

Depth and passes

Like a regular thread, a spiral groove is not cut to full depth in one go. A typical sequence:

  1. Go to the starting radius above the face.
  2. Plunge in Z to pass depth at a normal feed (G1).
  3. Make the spiral move with G33 along X to the end radius.
  4. Retract in Z and move the tool past the edge.
  5. Repeat for every start, then go to the next depth.

It helps to split the depth into passes that get lighter toward the end, as with a thread: for example 0.3 / 0.6 / 0.9 / 1.0 mm.

Speeds: spindle RPM and X axis speed

X axis speed during the spiral move = RPM × lead. At 100 RPM with a 12 mm lead that is 1200 mm/min - already a noticeable speed for a cross slide. If the axis cannot keep up, the spiral is distorted. That is why spirals are usually cut at low RPM, especially with a large lead and multiple starts.

Cutting speed changes along the way: it is low near the center and many times higher at the edge, while the RPM stays constant. That is normal for this operation: pick the RPM for the outer diameter and for what the X axis can do.

Sample program

Real output of the Turn G-code Archimedean spiral cycle: a 3-start spiral groove on the face from Ø5 to Ø80, 1 mm deep, 2 mm insert, 4 depth passes (0.3 / 0.6 / 0.9 / 1.0 mm), plunge feed 50 mm/min, 100 RPM, G8 mode (X is the radius).

G21 G18 G90 G8 G40 G80 G94
G54

G97 S100 M3
G0 Z2.0000
G0 X45.0000

(Pass 1 of 4, start 1 of 3, Z-0.3000)
G0 X2.5000
G1 Z-0.3000 F50.0000
G33 X40.0000 K12.0000
G0 Z2.0000
G0 X45.0000

(Pass 1 of 4, start 2 of 3, Z-0.3000)
G0 X6.5000
G1 Z-0.3000 F50.0000
G33 X40.0000 K12.0000
G0 Z2.0000
G0 X45.0000

(Pass 1 of 4, start 3 of 3, Z-0.3000)
G0 X10.5000
G1 Z-0.3000 F50.0000
G33 X40.0000 K12.0000
G0 Z2.0000
G0 X45.0000

The same follows at depths Z−0.6, Z−0.9 and Z−1.0. The full program, explained line by line, is on the Archimedean spiral page.

Common mistakes

  1. No spindle encoder. G33 does not work without position feedback: the turns do not line up with each other.
  2. G96 instead of G97. The RPM must be constant.
  3. RPM too high. The X axis cannot keep up with the lead - the spiral is distorted, and a following error is possible.
  4. Starts at the wrong radius. The offset between starts must equal the pitch, or the grooves are uneven or merge.
  5. Insert wider than the pitch. Neighboring turns merge and there is no land.
  6. Tool off center height. For face work the tool tip height matters just as much as in facing.
  7. Starting diameter too small. Near the center the turns curve sharply, and the sides of the insert can rub the groove walls.

Archimedean spiral in Turn G-code

The Archimedean spiral cycle in Turn G-code is a form with fields: start and end diameter, pitch, insert width, number of starts, depth and passes, plunge feed. The program calculates the lead, the starting radius of each start and the order of passes, and shows the toolpath in the 2D simulator before generating the file. The cycle has been verified by cutting metal on the author’s machine.

The move syntax - G33 or G32, pitch letter K, I or F - and the G7/G8 mode are set once for all cycles. Regular threads along the axis are covered in Threading in LinuxCNC.

Download Turn G-code - 15 days free, no key needed.

← All articles