Arc formats
| Format | Example | Notes |
|---|---|---|
| Centre (IJK), incremental | G02 X20. Y0. I10. J0. | Most common; centre relative to start |
| Centre, absolute | Same codes, absolute centre | Some controllers / settings |
| Radius (R) | G02 X20. Y0. R10. | Simple, but ambiguous for arcs over 180°; no full circles |
Planes and helical arcs
G17(XY),G18(XZ),G19(YZ): the post must output the right plane.- Helical arcs move in the third axis during the arc (e.g. helical ramping, thread milling).
- Some controllers restrict arcs to certain planes or don't support helices; the post linearises those.
Precision and end-point errors
Controllers check that the start and end points are the same distance from the centre. If rounding makes them differ by more than a set tolerance, the controller alarms. Posts avoid this by using enough decimals and recalculating centres consistently.
When to linearise
| Output true arcs when... | Linearise when... |
|---|---|
| 2D contours, pockets, bores | Arcs are in non-standard planes |
| Circular interpolation is accurate on the machine | Multi-axis/TCP mode doesn't allow arcs |
| You want small, editable programs | Very small or very large radius arcs cause alarms |
Example: same arc, both ways
(True arc - quarter circle from X0 Y0)
G03 X10. Y10. I0. J10. F800.
(Linearised, 0.005 mm tolerance - shortened)
G01 X0.157 Y0.001
X0.313 Y0.005
X0.470 Y0.011
...
True arcs are usually better, provided the post outputs them exactly the way the controller expects.
Arc output tuning
See our CNC post processor development service and causes of incorrect G-code.