G94 Face Turning Cycle Simulator and NC Code Generator (FANUC Lathe)

14 July 2026

Mentor CNC Editör Ekibi

⚙️ MENTOR CNC
G94 Alin Tornalama Cevrimi · FANUC 0i-TC Uyumlu · Egitim Simulatoru
G94 MODULU
⚙️ Ham Stok & Parca
Isleme oncesi dis cap
Alin kesiminin ic siniri
Takimin yaklastigi Z (genelde +2..+5)
Son alin derinligi (negatif)
✠ G94 Paso Parametreleri
Her G94 pasosunda Z yonundeki adim
Son pasoya birakilan Z payi (0=birak)
Hesaplaniyor...
🔧 Malzeme & Kesme
⚡ Kesme Parametreleri
Vc (kesme hizi)-
f (ilerleme)-
n (devir/dak)-
Maks. devir (G50)-
🖥️ Canli Takim Yolu Simulasyonu hazir
🟦 Ham yuzey 🟦 Alin yuzey ── G0 hizli ── G1 kesme ▮ Takim
⚡ G-Kod Ciktisi (CNC'ye hazir)
 
💡 G94 Alin Tornalama Cevrimi — Bilmen Gerekenler
ONEMLI NOT: Egitim ornegi.
▸ G94 ile G90 farki
G90 her pasoda X azalir (boyuna). G94 her pasoda Z derinlesir (alin). G90 mil ve kademeler, G94 alin yuzeyi ve omuz parcalar icin kullanilir.
▸ Modal Z degeri
G94 ilk satirdan sonra yalnizca Z degistirilerek pasolar tekrarlanir. X ve F modal olarak aktif kalir. Bu G90'in modal X mantiginin Z versiyonudur.
▸ Kavisli yuzey: G94 yetmez
Kapi tutamagi veya vites topuzu gibi kavisli yuzeyler G02/G03 yay interpolasyonu gerektirir. G94 yalnizca DUZ alin kesimi yapar.
▸ 4 adimlik cevrimi
1) Hizli: Z hedefine git. 2) Kes: X hedefine kadar alin kes. 3) Kes: Baslangic Z'ye geri cik (ic cap yuzeyini de keser). 4) Hizli: Baslangic X'e don.

G94 cevrimi nasil calisir?

FANUC G94, torna tezgahinda alin yuzeylerini kaba islemek icin kullanilan tek-paso hazir cevrimdir. G90 boyuna kesim yaparken G94 alin kesimi yapar.
⚠️ SORUMLULUK REDDI: Egitim simulatorudur.

With this free G94 face turning simulator and NC code generator you can enter the stock diameter, target inner diameter, face depth and pass step, watch the live toolpath simulation and instantly generate the FANUC 0i-TC compatible G94 program with modal Z blocks. For the theory see our G94 Face Turning Cycle guide, for longitudinal cutting the G90 Turning Simulator, and for multi-pass face roughing the G72 Face Roughing Simulator.

What G94 is and where it is used

In FANUC G-code system A, G94 is the single-pass face turning cycle, the X-direction sibling of G90. One G94 block rapids the tool to the programmed Z depth, feeds in X to the inner limit, feeds back out in Z to the start point and finally rapids back to the start X. On milling controls and on lathes running G-code system B or C the same code means "feed per minute"; there the facing cycle is called with G79. This simulator covers the facing cycle on system A controls such as the FANUC 0i-TC. It is the shortest way to remove stock from a rough face down to a required depth on flanges, pulleys, discs, covers and hubbed parts, in other words on short, large-diameter work. The theory and the U/W/R details are in the G94 face turning cycle guide; this page concentrates on using the tool and reading the generated code.

G94, G90 or G72: which one when?

CycleCutting directionWho manages the passes?Where it makes sense
G94Parallel to X (facing), flat or inclinedYou: deepen Z line by lineFlat faces, hub shoulders, short wide parts, 2–12 passes
G90Parallel to Z (longitudinal)You: reduce X line by lineShafts, steps, long parts
G72Facing, following a profileControl: automatic via W/R/P/QStepped or radiused face profiles, multi-pass roughing
G01FreeYou, every move written outSingle-pass finish facing, chamfers, radii

The rule is simple: if the face is flat and the inner limit is a single diameter, use G94; if the face has steps, radii or tapers, use the G72 face roughing cycle. When you have to machine a face and a longitudinal step in the same setup, facing first with G94 and then turning with G90 gives the most readable program.

Using the simulator step by step

  1. Raw stock diameter: the outside diameter where the facing cut starts. For Ø80 the tool puts the start point 4 mm outside on diameter, at X84.
  2. Target inner diameter: the X limit where the facing cut stops. Enter 30 to leave a Ø30 hub, or 0 for a full face. To avoid a centre nub when programming by hand, it is common to run X to minus twice the nose radius, e.g. X-1.6.
  3. Start Z: the safe distance the tool waits at in front of the rough face, typically +2 mm. Every pass returns here.
  4. Face depth Z: the total depth to remove from the rough face, entered negative. Z-20 means 20 mm into the part.
  5. Depth of cut: the step in Z. In facing the depth of cut is the chip thickness itself; 1.5–2.5 mm in steel, 2–4 mm in cast iron and 1–2 mm in stainless are reasonable.
  6. Finish allowance: the Z stock left for the last pass. With 0.2 mm the tool finishes roughing at Z-19.8 and adds Z-20 as a finish pass at a lower feed.
  7. Material, Vc and G50: for facing the tool outputs G96 constant surface speed; the G50 S value stops the RPM running away as the tool approaches the centre. The RPM shown in the info box is the starting speed at the outside diameter.
  8. Start the simulation, watch the face come off slice by slice, then copy the code or download the .nc file.

Reading the generated program line by line

With the default values (Ø80 stock, Ø30 hub, Z2 → Z-20, 2 mm depth of cut, 0.2 mm finish allowance, steel) the simulator produces:

O0001
G21 G99
G50 S2500
T0303 M08
G96 S150 M03
G00 X84. Z2.00
G94 X30.000 Z0.000 F0.250
Z-2.000
Z-4.000
Z-6.000
Z-8.000
Z-10.000
Z-12.000
Z-14.000
Z-16.000
Z-18.000
Z-19.800
Z-20.000 F0.150
G00 X120. Z200.
M09
M05
M30
%
BlockWhat it does
G50 S2500 + G96 S150Constant surface speed 150 m/min; as the diameter drops from 80 to 30 the RPM rises from 597 to 1592, capped at 2500 by G50.
G00 X84. Z2.00Cycle start point: 4 mm outside the stock on diameter, 2 mm in front of the face. Every pass returns here.
G94 X30. Z0. F0.25First pass cleans the rough face: rapid to Z0, face at F0.25 to X30, feed back to Z2, rapid to X84.
Z-2.Z-18.Modal repeats: G94, X30 and F0.25 are remembered; each line takes a slice 2 mm deeper. The FANUC training manual example (Ø85 → X40) has exactly the same shape: G94 X40.0 Z-2.0 F0.2, Z-4.0Z-18.0, Z-19.7, Z-20.0.
Z-19.800Last roughing pass, leaving 0.2 mm finish allowance.
Z-20.000 F0.150Finish pass at a lower feed. The block carries an F as well as a Z, but the cycle is still modal.
G00 X120. Z200.Leaves the cycle; G00 from group 01 cancels G94.

The four moves and the hub surface

An important difference from G90 lies in the third move. In G90 the tool retracts in X at rapid after the cut; in G94, once it reaches X30, it comes back out in Z to the start point at feed rate. That retract skims the cylindrical surface of the Ø30 hub, so if the hub diameter is toleranced the side cutting edge of the insert has to suit that surface and the feed on the last pass should be kept low. The move also leaves a sharp corner between the face and the hub; if a radius is required there, add a separate G01/G02 pass. An easy way to remember the four steps is R–F–F–R: rapid in, cut, cut out, rapid back.

Pass calculation: why 11 roughing + 1 finish?

The tool measures the total distance from the start Z: 2 mm clearance + 20 mm depth − 0.2 mm finish allowance = 21.8 mm; divided by the 2 mm step that is 10.9, rounded up to 11 roughing passes. The first pass at Z0 cleans the rough face (crossing the 2 mm gap in air), the next nine go 2 mm deeper each, the eleventh ends at Z-19.8 with the remaining 1.8 mm, and the twelfth block is the finish. Use the same approach by hand: a rough face may be uneven, so always start the first pass at Z0 or slightly positive, step down evenly, and leave a small remainder pass plus the finish. Because the RPM keeps changing during facing, programming the feed in mm/rev (G99) keeps the surface finish constant; with feed per minute (G98) the chip thickness changes as the tool nears the centre.

Stepped faces: changing X and Z together

In the modal repeat blocks you can change X as well as Z. For a two-step flange face with a Ø12 centre and a Ø40 outer step the FANUC training example reads: G94 X12.0 Z-2.0 F0.2, Z-4.0, Z-6.0, Z-7.0, then X40.0 Z-9.0, Z-11.0Z-17.0. The first group faces down to the hub at 7 mm, the second pulls X out to 40 and opens the outer step to 17 mm; no G00 retract is needed in between, the cycle stays modal. The simulator generates one step; for a second step run it again with the new X and Z values and merge the blocks.

Inclined faces: the R parameter

For a tapered face the format becomes G94 X(U)_ Z(W)_ R_ F_. Whereas R in G90 is a radius difference, R in G94 is a difference in Z: the distance between the Z of the cut start at the outside diameter and the Z of the end point at the inner diameter. If the outer edge is deeper (closer to the chuck) than the inner edge, R is negative; if the outer edge stands proud, R is positive. To make the face 3 mm deeper at the outside while going from Ø80 to Ø30, write G94 X30. Z-20. R-3. F0.25; the tool starts at Z-23 on the outside and reaches Z-20 at X30. This simulator produces flat faces only; add inclined blocks by hand using this rule and always dry-run them.

Alarms and problems seen on the shop floor

SymptomCauseFix
PS0011 FEED ZERO (COMMAND)No F in the first G94 blockAdd F; mm/rev under G99
Nub (small cone) left at the centreTarget X exactly 0 and the nose radius cannot pass centreOn a full face run X to −(2 × nose radius), e.g. X-1.6
Squeal and burnt surface near the centreG96 with no RPM ceilingSet a G50 S limit; the tool writes it automatically
Hub diameter oversizeThe third move (feed retract in Z) skims the hub with the side edge; tool geometry not suitedChoose an insert with a suitable side cutting edge angle; finish the hub with a separate G90/G01 pass
Tool approached the chuck jawsFace depth exceeds the length sticking out of the chuckZ depth ≤ overhang − clearance; check in the simulation
Cycle did not repeat, tool only moved in ZA G00/G01 block was inserted and cancelled G94Give only Z (and X, R if they change) in the repeat blocks
Feed unit changed and nothing moved on a system B/C machineG94 means feed per minute thereUse G79 for the facing cycle

Six common mistakes

  • Starting the first pass straight at Z-2 and skipping the rough face; if the face is uneven the first slice is uneven too. Start at Z0.
  • Setting the start X equal to the stock diameter; the tool plunges into the outer edge. Start 4 mm outside on diameter.
  • Facing with G97 constant RPM; the cutting speed is too low at the outside and far too high at the centre. Use G96 + G50.
  • Choosing too large a depth of cut for facing; in facing the depth of cut is the chip thickness itself, not a radial reduction as in turning.
  • Relying on G94 for a toleranced hub diameter; the third move skims the hub but does not size it accurately.
  • Forcing G94 onto a curved or domed face; G94 cuts flat and inclined faces only, a curve needs G02/G03 or G72.

Frequently asked questions

What is the difference between G94 and facing with G01?

With G01 every pass needs four separate blocks: down in Z, cut in X, out in Z, back in X. G94 does all of that in one block and the following passes are repeated with a Z value only. A ten-pass face is forty blocks with G01 and ten with G94, and it is far easier to read and edit at the machine.

What happens if I enter 0 as the target inner diameter?

The tool cuts right to the centre. Because of the nose radius a tiny nub can remain; on the machine you remove it by running X to minus twice the nose radius (X-1.6 for a 0.8 mm radius). Do not forget the G50 spindle limit when passing through the centre.

How are U and W used in G94?

U is the diameter change relative to the current X, W the distance relative to the current Z. For a tool starting at X84 Z2, G94 U-54. W-22. F0.25 gives the same result as X30 Z-20. Incremental values are handy in subprograms reused for different stock sizes; absolute X/Z is safer while learning.

Why is F not repeated on every line?

F is a modal address: once commanded it stays active until changed. The tool writes F0.15 only on the finish line, because that is where the feed actually changes. When reading a program, any block without an F runs at the last F given.