Lathe G98/G99 feed units: when F0.2 and F200 mean the same speed
Explains with an example the difference between lathe G99 feed per revolution (mm/rev) and G98 feed per minute (mm/min), how to convert between them, how they correspond to machining center G94/G95, and accidents caused by mixing up units.
Why lathes use feed per revolution by default
On a lathe, the thickness one cutting edge removes per revolution equals the feed per revolution. Chip thickness, surface finish and insert load are all determined by this value, so tool catalogs also give turning conditions as f (mm/rev). That is why lathes use G99 feed per revolution by default, and F0.2 means "0.2 mm per revolution".
The great advantage of feed per revolution shows when it is combined with G96 constant surface speed control. As the diameter shrinks and the spindle speed rises, the feed per minute automatically increases too, so chip thickness stays the same from start to finish.
Converting between the two units
Feed per minute = feed per revolution × spindle speed. At a fixed S1000, as in the example, F0.2 mm/rev is 0.2 × 1000 = 200 mm/min. So the two turning passes in the example are written with different units and numbers but move at the same speed. Both take about 12.6 seconds to cover the 42 mm length (Z2 → Z-40).
| Condition | Feed per revolution (G99) | Feed per minute (G98) |
|---|---|---|
| S500 | F0.2 | F100 |
| S1000 | F0.2 | F200 |
| S2000 | F0.2 | F400 |
| S1000 | F0.1 | F100 |
Example path
Turning the same length once at G99 F0.2 and once at G98 F200 (fixed S1000)
O3006
T0101
G21 G90 G18 G40
G97 S1000 M03
G99
G00 X42. Z2.
G01 X38. F0.2
Z-40.
G00 X42. Z2.
G98
G01 X36. F200
Z-40.
G00 X100. Z100.
M30The figure above is the CNC Path Analyzer result for this program (linear cutting 4 segments, rapid 2 segments).
When feed per minute is needed
- Moves with the spindle stopped: feed per revolution becomes zero when the spindle is not turning. For operations that must feed with the spindle stopped (for example bar feeder pulling or some measuring moves), G98 is used.
- Live tool (milling) work: on a multitasking machine, when the C axis is locked and a live tool mills, the workpiece does not rotate, so feed per minute is natural.
- Sections with very low spindle speed: when the spindle speed is low, as in facing large diameters, it is sometimes used to keep the travel speed constant.
Feed per revolution and surface roughness
A turned surface carries insert nose marks spaced by the feed per revolution, like a helix. The theoretical maximum height roughness is estimated as Rz ≈ f² ÷ (8 × r) (f: feed per revolution, r: nose radius, in mm). With an R0.8 nose insert at F0.2, that is 0.04 ÷ 6.4 ≈ 0.0063 mm, about 6.3 µm. Halving the feed to F0.1 reduces the roughness to about 1.6 µm, a quarter.
Because of this relationship, it is natural to set finishing conditions in feed per revolution rather than feed per minute: if F (mm/rev) stays the same, the theoretical roughness stays the same even when the spindle speed changes. Real surfaces are often rougher than this value because of vibration, built-up edge and the material, so use it only as a starting point.
Accidents caused by feed unit mix-ups
The most dangerous case is writing a per-revolution value such as F0.2 while G98 is active. The tool moves at 0.2 mm per minute, practically standing still, and the edge rubs the workpiece surface, causing work hardening and tool damage. Conversely, writing F200 in G99 means 200 mm per revolution, entering the workpiece at nearly rapid speed and breaking the tool. Most controllers clamp F above their upper limit, but that limit is still a dangerous value.
That is why, after a block that changes the feed unit, F is always commanded again to match the new unit. In the example too, the move right after G98 carries F200.
Machining centers use different code numbers
On a machining center, feed per minute is G94 and feed per revolution is G95, while G98/G99 mean the return level of canned cycles (initial point/R point). The same G98 is a feed unit on a lathe but a drilling cycle return on a machining center. In G-code systems B and C, lathes also use G94/G95, so check the machine's G-code system.
| Meaning | Lathe (system A) | Machining center |
|---|---|---|
| Feed per minute | G98 | G94 |
| Feed per revolution | G99 | G95 |
| Cycle return to initial point | - | G98 |
| Cycle return to R point | - | G99 |