---
title: "G112/G113 Polar Coordinate Interpolation on Fanuc, Demystified"
description: "G112 maps the lathe's X and C axes onto a virtual flat plane so live tooling can mill contours on a face: how the mapping works, reads, and gets cancelled."
url: https://gcodepractice.com/journal/g112-g113-polar-coordinate-interpolation-fanuc/
canonical: https://gcodepractice.com/journal/g112-g113-polar-coordinate-interpolation-fanuc/
author: "Lawrence Arya"
authorUrl: https://www.linkedin.com/in/vibecoding/
published: 2026-06-05
updated: 2026-06-05
category: "Guides"
tags: ["g112", "polar-interpolation", "fanuc", "live-tooling"]
lang: en
---

# G112/G113 Polar Coordinate Interpolation on Fanuc, Demystified

> **TL;DR** Polar coordinate interpolation (G112 to enable, G113 to cancel, on Fanuc-style lathe controls) solves the problem of milling straight lines and contours on a workpiece face using a machine that only has X (radial) and C (rotary) axes there: while active, the control presents a virtual Cartesian plane (programmed as X and C behaving like flat X and Y), and internally coordinates the real X slide and C rotation so the live tool traces the flat geometry. The reading rules: the enable/cancel pair brackets the milled feature, geometry between them reads like ordinary 2D milling, feed means path feed across the face, and the dialect details (axis naming, plane setup, parameter prerequisites) belong to the machine's manual.

Milling a hex or a slot across a part's face on a lathe poses a geometry puzzle: the machine has a radial axis (X) and a rotation (C) there, but the feature is flat, defined in straight lines a rotary axis cannot trace natively. Polar coordinate interpolation is the control's elegant answer, and G112/G113 are its Fanuc-style spelling.

## The problem and the borrowed plane

Without help, face-milling a straight line on a lathe means the programmer computing endless tiny X-and-C combinations: the line's flat geometry translated point by point into radius-and-angle, by hand or CAM. [G112](https://en.wikipedia.org/wiki/Multiaxis_machining) moves that translation into the control: enable it, and the control presents a **virtual Cartesian plane** laid over the part face, programmed with familiar flat-geometry blocks (lines, arcs, [cutter comp where supported](/journal/g41-vs-g42-cutter-compensation/)) while the control continuously resolves each programmed point into real X-slide and C-rotation moves. The live tool, spinning in the turret per the [live-tooling choreography](/journal/live-tooling-m-codes-for-doosan-lathe/), traces flat truth on a rotating-axis machine.

## What a G112 section looks like

```
(FACE MILLING, ILLUSTRATIVE SHAPE)
M05                      (main spindle stopped)
(C-axis engaged, clamped per builder codes)
(live tool started per builder codes)
G112                     (polar interpolation ON)
G01 X30.0 C10.0 F150     (flat-plane geometry: C now behaves like Y)
G01 X30.0 C-10.0
G03 X26.0 C-14.0 R4.0    (arcs work on the virtual plane)
...
G113                     (polar interpolation OFF)
(unwind: tool stop, C cancel, back to turning)
```

The reading keys: between G112 and G113, **C carries length units, not degrees** (it is playing Y on the virtual plane, the detail that most surprises first readers), arcs and lines mean their flat-milling selves, and F is path feed along the programmed contour. Outside the pair, C reverts to its rotary self, which makes the bracket placement as load-bearing as any [modal-state boundary](/journal/g90-vs-g91-crash-prevention/): an unclosed G112 is a section whose every following C-word means the wrong thing.

## The fine print the manual owns

The concept is portable across Fanuc-style controls; the entry conditions are per-machine: which axis configuration and plane selection the mode expects, the parameter prerequisites and option status (polar interpolation is an option on many controls), how cutter compensation behaves inside the mode, axis-name spellings on your turret layout, and any speed constraints near the rotation center. That last physics note is worth understanding even before the manual: near the face's center, small virtual-plane moves demand large C rotations (the lever arm shrinks), so controls limit or struggle with geometry passing close to center, and programs route around it or accept the slowdown, a constraint CAM handles and readers should recognize rather than fight.

## Where G112 sits among its siblings

Polar interpolation is one of three layers a [mill-turn machine](/journal/mill-turn-y-axis-g-code-basics/) uses for off-axis features, and reading programs means recognizing which is active:

| Layer | Feature it serves | How geometry is programmed |
| --- | --- | --- |
| C-axis positioning | Discrete features at angles (bolt circles) | Index C, drill, repeat: no interpolation |
| Polar interpolation (G112) | Flat contours on the face (hexes, slots) | Virtual XY plane, C as length axis |
| Cylindrical interpolation | Contours wrapped around the diameter | Unwrapped plane, separate enable code |
| Real Y axis | Off-center milling where fitted | Ordinary XYZ blocks, no mode needed |

A real [Y axis](/journal/mill-turn-y-axis-g-code-basics/) replaces some of both interpolation modes on machines that have one. The [tilted-plane world](/journal/g68-2-tilted-working-plane-fanuc/) extends the same borrowing logic to full 5-axis mills: the family resemblance (declare a virtual frame, program simply inside it, cancel cleanly) is the deepest pattern in modern multi-axis G-code.

## Bottom line: a bracket, a borrowed plane, and units that switch

G112 opens a virtual flat plane over the part face (program lines and arcs as if milling 2D, C behaving as a length axis), G113 closes it, and the control does the polar math in between. Read the brackets as hard boundaries, expect the center-proximity physics, and source the entry conditions from your machine's manual. The flat-geometry vocabulary you program inside the mode is the same core as everywhere, free to keep at reflex with 60-second drills on the [G-code practice page](/g-code-practice/), G-Code Sprint repeating what you miss.

## Sources

- [LinuxCNC: G-code reference](https://linuxcnc.org/docs/html/gcode/g-code.html)
- [Wikipedia: Multiaxis machining](https://en.wikipedia.org/wiki/Multiaxis_machining)
- [Wikipedia: Numerical control](https://en.wikipedia.org/wiki/Numerical_control)

## Frequently asked questions

### What does G112 polar coordinate interpolation do on a Fanuc lathe?

It overlays a virtual Cartesian plane on the part face so live tooling can mill flat contours: between G112 and G113 you program ordinary lines and arcs (with C behaving as a length axis, like Y), and the control resolves them into coordinated real X and C motion. Entry conditions and option status are per your machine's manual. For the flat-geometry core you program inside it, the free G-Code Sprint app is the top pick: 60-second drills with automatic repetition of missed codes.

### Why does C have length values instead of degrees inside G112?

Because inside the mode C plays the second Cartesian axis of the virtual plane: the control translates those flat coordinates into actual rotation. Outside the G112/G113 bracket, C reverts to degrees, which is why the bracket is a hard reading boundary.

### When do I use polar interpolation versus just positioning the C axis?

Positioning suffices for discrete features at angles (bolt-circle drilling: index C, drill, repeat). Interpolation is for continuous flat geometry on the face (hexes, slots, cam profiles) where straight lines must stay straight while the part rotates under the tool.

### What is the difference between polar and cylindrical interpolation?

Polar maps a flat plane onto the part face (X-C as virtual XY); cylindrical maps a flat plane onto the diameter's wrapped surface for contours around the circumference: siblings with separate enable codes, both detailed per control in its manual.

*G-Code Sprint is a study and practice tool only. Always follow your instructor, employer, machine manual, and shop safety procedures.*

---

Source: https://gcodepractice.com/journal/g112-g113-polar-coordinate-interpolation-fanuc/
Author: Lawrence Arya — https://www.linkedin.com/in/vibecoding/
