Facing cycle (Turning cycle)

Facing cycle CNC-Lathe

In CNC turning, a facing cycle is a critical operation for creating flat, perpendicular surfaces on the end of a workpiece. Whether you’re roughing or finishing, canned cycles simplify programming, reduce errors, and boost efficiency. This post explores how to implement facing cycles on three major CNC platforms: Fanuc, Siemens Sinumerik, and Heidenhain.


What is a Facing Cycle?

A facing cycle involves moving a cutting tool radially across the workpiece’s end face to remove material. It’s commonly used to:

  • Prepare blanks for further machining.
  • Achieve precise part lengths.
  • Create smooth, flat surfaces for assembly.

Canned cycles like G72 (Fanuc), CYCLE95 (Sinumerik), or Heidenhain’s conversational commands automate repetitive passes, saving time and ensuring consistency.


1. Fanuc Control: G72 Facing Cycle

Fanuc uses G72 for multi-pass facing and G94 for single-pass facing. Here’s a typical G72 program for roughing:

Example: G72 Facing Cycle (Fanuc)

O0001 (Program Number)  
T0101 (Tool Call)  
M03 S2000 (Spindle On, 2000 RPM)  
G96 S200 (Constant Surface Speed, 200 m/min)  
G98 F0.2 (Feed per Revolution, 0.2 mm/rev)  

G72 W1.0 R0.5 (Set depth per pass = 1.0 mm, retract = 0.5 mm)  
G72 P10 Q20 U0.5 W0.1 F0.1 (Define start/end lines, finish allowance, feed)  

N10 G01 X0 Z0 (Start point at centerline)  
N20 G01 X50 (Move radially outward to diameter 50 mm)  

G70 P10 Q20 (Finish pass using G70)  
G00 X100 Z100 (Retract tool)  
M30 (End Program)  

Key Parameters:

  • W: Depth of cut per pass.
  • R: Retract distance after each pass.
  • P/Q: Start and end lines of the cutting path.
  • U/W: Remaining stock for finishing (X/Z).

2. Siemens Sinumerik: CYCLE95 for Contour Facing

Sinumerik’s CYCLE95 is a versatile contour turning/facing cycle for roughing and finishing.

Example: CYCLE95 Facing Cycle (Sinumerik)

TOOL CALL 1 D1  
SPOS= M03 (Spindle orientation, clockwise)  
G95 F0.2 (Feed in mm/rev)  

CYCLE95("ROUGH_FACING", 2, 1, 0.5, 0.1, 0.2, 0.1)  
; Parameters: (Contour name, roughing direction, number of finishes,  
; stock on X, stock on Z, safety clearance, feed rate)  

AAFC(1, 0, -20, 0, 0) (Approach and exit points for tool)  

M02 (End Program)  

Key Parameters:

  • "ROUGH_FACING": A predefined contour subprogram.
  • 2: Roughing direction (axial for facing).
  • 0.5: Remaining stock on X-axis.
  • AAFC: Approach/exit motion definition.

Pro Tip: Use CYCLE95 with Heidenhain-style contours for complex facing profiles.


3. Heidenhain: Conversational Programming or G-Code

Heidenhain controls excel in user-friendly conversational programming but also support ISO G-code.

Example: ISO G-Code Facing (Heidenhain)

BLK FORM 0.1 Z+0.0 Y+0.0 Z+40.0 (Define workpiece blank)  
TOOL DEF 1 L+0 R+0.4 (Tool definition: length + radius)  
TOOL CALL 1 D1 (Call tool)  

L Z+2.0 FMAX (Rapid to safe Z height)  
L X+52.0 Y+0.0 FMAX (Position to outer diameter)  
M03 (Spindle on)  

L Z-1.0 F200 (Plunge into material)  
L X-20.0 F0.2 (Facing movement toward center)  
L Z+2.0 FMAX (Retract tool)  

M30 (End program)  

Conversational Mode:

  1. Select “Facing” from the machining cycles menu.
  2. Input: Diameter, depth, feed rate, and tool number.
  3. Confirm: The control generates the toolpath automatically.

Key Features:

  • Conversational mode eliminates manual coding.
  • ISO G-code mirrors Fanuc/Sinumerik syntax but uses L for linear moves.

Key Takeaways

Control SystemCanned CycleBest Use Case
FanucG72 / G94Multi-pass roughing/single-pass facing
SinumerikCYCLE95Contour-facing with complex profiles
HeidenhainConversational / G-codeUser-friendly setups or custom G-code

Final Thoughts

Facing cycles are indispensable for efficient CNC turning. While Fanuc and Sinumerik rely on structured G-code, Heidenhain offers a hybrid approach with conversational programming. Regardless of your control system, mastering these cycles reduces programming time, ensures dimensional accuracy, and improves productivity.

Need help adapting these cycles to your machine? Share your setup in the comments, and let’s troubleshoot together!


Happy Machining!

Leave a Comment

Scroll to Top