Programming, Interpolation

CNC machines use G0, G1, G2 and G3 to determine the interpolation method to use when moving to points.

G0 and G1 are linear interpolation, G0 at rapid G1 at a feedrate specified in the F register.

G2 and G3 are circular interpolation, G2 clockwise and G3 counter clockwise.

G4 is a dwell or pause for a specified amount of time. The method of determining the time is very different depending on the machine so no further details will be given here.

G0, G1, G2 and G3 are group modal. G4 is active for that block only.


Linear Rapid G0

In this mode the machine will move as fast as the longest travelling axis will allow to the programmed point. All the axes move to simultaneously meet at the programmed point.


Linear Feedrate G1

In this mode the machine will move at a feedrate defined by F to the programmed point. All the axes move to simultaneously meet at the programmed point.


Circular Clockwise Feedrate G2

In this mode the machine will describe an arc in the two axes according to the current plane. The arc will be clockwise according to the current plane. If the third axis is programmed then the motion will be helical along the tool length axis. The movement will be at a feedrate.

There are two methods of determining the radius of the arc, either the radius is programmed using the R register or the centre is described using the I, J and K registers.

Radius method.


Circular Counter Clockwise Feedrate G3

In this mode the machine will describe an arc in the two axes according to the current plane. The arc will be counter clockwise according to the current plane. If the third axis is programmed then the motion will be helical along the tool length axis. The movement will be at feedrate.

There are two methods of determining the radius of the arc, either the radius is programmed using the R register or the centre is described using the I, J and K registers.

Radius method.


I's, J's and K's

If programming in absolute then all the co-ordinates are from the current datum.

If programming in incremental then all the positions are relative to the start point.


Back to programming page

Home