Linear, Circular & Helical Interpolation

Programming|Process Desk|

Interpolation is what a CNC control does when it moves several axes together along a smooth, coordinated path — the ability that turns a positioning device into a machine that cuts shapes. A part is full of straight walls, round bores, arcs and ramps, and the control cannot make any of them by moving one axis at a time in jerky steps; it must move two or three axes simultaneously, each at its own continuously varying rate, so that the tool traces the intended line or curve. CNC controls recognise three kinds of interpolated motion — linear, circular and helical — and every milling or turning program is built from them. This entry explains what each interpolation does and how it is commanded.

What interpolation really means

The simplest thing a control can do is move one axis. But a diagonal cut requires X and Y to move at the same time in a constant proportion, and a circle requires their rates to change continuously through the arc; if the machine moved point to point and paused at each, the part would come off as a staircase. Interpolation is the control’s way of avoiding that: it treats the programmed motion as a continuous path and drives the axes so the tool stays on it, dividing the path into many small coordinated increments that the servos follow smoothly. The feedrate applies along the path itself, so a diagonal or an arc is cut at the programmed speed and not faster or slower in some axis. This coordinated motion is the foundation underneath everything this wiki covers about work offsets, compensation and the cutting moves of CNC machining.

Linear interpolation: G01

Linear interpolation, commanded with G01, moves the tool in a straight line from its current position to the point given in the block, at the feedrate set with the F word. It is the workhorse of machining — the code that makes every straight cut, every feed move into the work, every profile edge that is not an arc. Because the feedrate is specified with the move, G01 is the cutting motion, as distinct from G00, the rapid traverse that positions the tool at maximum speed and is never used to cut. The motion modes are modal: once G01 is active it stays active until another motion word — G00, G02 or G03 — replaces it, so a program names the mode when it changes and then simply gives coordinates.

Circular interpolation: G02 and G03

Circular interpolation moves the tool along an arc, commanded with G02 for clockwise and G03 for counterclockwise, viewed in the selected plane. The plane is chosen by the mode group around G17, G18 and G19 — XY, ZX and YZ respectively — so that on a mill the usual XY plane puts arcs in the table plane. An arc block gives the arc’s end point with the in-plane axis words, while the start point is simply wherever the tool currently is. Two ways exist to tell the control where the arc’s centre lies. The I, J, K words give the centre as signed distances from the start point of the arc to the centre of the circle, along X, Y and Z — the method of choice because it can command a full circle in one block, start and end meeting, which no other method can. The R word gives the arc’s radius directly, simpler to write, with a positive R meaning an arc of up to 180 degrees and a negative R the larger arc beyond that; but because a full circle has no single end point, R cannot make one.

Helical interpolation

Helical interpolation is circular interpolation with a third axis moving in step: the tool traces a circle in the plane while it also advances steadily along the axis out of that plane, so the combined path is a helix — a circle that climbs or descends. The control keeps the axes synchronised, scaling the linear feed so that the cutting speed along the arc stays at the programmed feedrate while the helix advances at its coordinated rate. The helix is a small command that does a great deal of useful work: it is how the tool ramps into a pocket or bore in a continuous cut instead of plunging, how large holes are opened up by an end mill sweeping a circle while feeding down, and how internal threads are cut by a thread mill climbing a helix — an operation this wiki treats under the operations of milling.

Interpolation and the tool

Two practical points tie interpolation to the tools and compensations this wiki describes elsewhere. The first is that compensation and interpolation interact strictly: cutter radius compensation, which shifts the tool in the plane of the cut, must be established and cancelled on straight moves, and an arc under cutter radius compensation is cut with the offset already active, never started on the arc itself. The second is that an interpolated arc is only as good as the machine that makes it — the coordinated motion is the work of the servo drives and their encoders, and a machine that cannot follow a commanded circle smoothly will cut a lobed one. Programmed geometry assumes the machine can make the shape, which is why the feedrate and the machine’s capability are chosen together.

Interpolation in practice

In hand-written work the programmer chooses the mode for each move and checks the geometry — a linear profile with the arcs between them, an I, J, K circle for a bore, a helical block for a ramp — and on the screen of a simulator or control the whole part appears as the connected path that the cutter will follow. In CAM-generated work the same G01 and G02 and G03 blocks are produced automatically from the model, but understanding which is which still matters, because the feedrates, the plane and the compensation behaviour all depend on the mode the code uses. Linear, circular and helical interpolation are, in the end, the alphabet of tool motion — the three shapes from which every feature on every part is written, and the reason a control can turn a drawing into a cut surface at all.

Related