Circular moves are programmed with the codes G02 and G03.
G02 = circular interpolation clockwise.
G03 = circular interpolation anticlockwise.
In the following examples, there are five conditions that must be met before a G02 and a G03 can be programmed.
The tool must be at the precise start position.
The next block control will control the direction the circular move will take G02/G03
The block must also have the precise end position of the circular move X,Z
The block must establish the arc centre of the circular move. In an incremental coordinate system the circle centre is taken from the start position. The X centre is designated (I) and the Z axis centre is designated (K). The I and K values must have the precise figures of the circle centre coordinates programmed in this block.
After completing the circular move the G02/G03 must be cancelled if the next movement is linear with a G01 or G00
![]() |
N50 G00 X0 Z5 |
N60 G01 G42 Z0 |
N70 G01 X40 (P1) |
N80 G03 X50 Z-5 I0 K-5 (P2) |
N90 G01 Z-36 (P3) |
N100 G02 X58 Z-40 I4 K0 (P4) |
N110 G01 X74 (P5) |
N120 G03 X80 Z-43 I0 K-3 (P6) |
N140 G01 Z-80 |
N150 G01 G40 X82 |
N160 G00 X500 Z800 |
N170 M02 |
![]() |