# LinuxCNC G72 Lathe Facing Roughing Cycle

Instructions · `G72` · verification: source checked

G72 is a LinuxCNC lathe roughing cycle for facing: it removes material by traversing along the X axis, following a profile defined in a subroutine selected by Q. X and Z set the start position, D leaves distance for finishing, I sets the cutting increment, and R sets the retracting distance. The profile path must change monotonically in X.

## Specification

| Property | Value |
|---|---|
| Language | gcode |
| Code | G72 |
| Group | Lathe roughing cycles |
| Syntax | G72 Q- <X-> <Z-> <D-> <I-> <R-> |
| Dialect | LinuxCNC |

### Parameters

| Name | Description |
|---|---|
| Q | The subroutine number. |
| X | The starting X position, defaults to the initial position. |
| Z | The starting Z position, defaults to the initial position. |
| D | The remaining distance to the profile, defaults to 0. |
| I | The cutting increment, defaults to 1. |
| R | The retracting distance, defaults to 0.5. |

## Connected

- Related: [LinuxCNC G02](https://machineschema.com/instruction/gcode-g02.md), [LinuxCNC G1 Linear Move](https://machineschema.com/instruction/gcode-g01.md)

## Safety

- The document warns that the G71 and G72 roughing cycles are currently somewhat fragile (issues #707 and #1146).
- Cutter compensation (G41/G42) must be off when G72 is executed; the cycle reports an error if it is active.
- A non-monotonic profile path in X causes an error for G72.
- The ZX plane must be selected before G72; otherwise the cycle errors.

## Study notes

- G72 removes material while traversing the X axis; the document calls it the facing cycle.
- The direction of travel is the same as in the path given in the subroutine selected by Q.
- The Q subroutine may contain G0, G1, G2 and G3 motions; all other commands are ignored, including feed and speed settings. G0 commands are interpreted as G1.
- Profile motion commands may include an optional A- number for a fillet radius or a C- number for a chamfer at the motion endpoint.
- In absolute mode, U (for X) and W (for Z) can be used as incremental displacements.
- G72.1 does not cut pockets; G72.2 cuts only after the first pocket and continues where G72.1 stopped.
- The normal G72 cycle cuts the entire profile in one cycle.
- After cutting, the tool stops at the end of the profile plus the distance specified by D.
- D keeps a distance from the final profile so material remains for finishing.
- The document refers to plane selection as [gcode:g17-g19.1]; the ZX plane must be selected before this cycle.

## Sources

1. [G-Codes](https://linuxcnc.org/docs/html/gcode/g-code.html#gcode:g71-g72) (accessed 2026-10-26)

---

Source page: https://machineschema.com/instruction/gcode-g72  
JSON: https://machineschema.com/instruction/gcode-g72.json  
License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Cite Machine Schema and the original sources.
