G64 Cutting Mode Guide: Continuous-Path Programming for CNC
Master G64 continuous-path mode on Fanuc, Siemens, and Mitsubishi CNC. Adjust parameters, avoid corner rounding, and resolve Alarm PS0050 errors.
Introduction to Continuous-Path Machining
A catastrophic hard collision that shatters the cutting tool, damages axis ball screws, and converts raw stock into a ruined scrap part occurs if the tool post turret drives the tool directly into table-mounted fixture clamps, a workpiece fixture vise jaw, or the rotating jaws of a spindle chuck due to coordinate offsets or zero shift errors executed during modal G64 continuous-path mode. Because continuous-path mode suppresses deceleration checks at block transitions and runs at full cutting feedrate without stopping, any programming deviation is executed rapidly. Bypassing stroke limits or deactivating stored stroke barriers (such as G22/G23 on Fanuc or WALIMON on Siemens) removes the electronic protection envelope, allowing the tool post to crash. Operators must perform single-block dry runs and verify workpiece zero shifts on the setup screen prior to automatic operation.
By understanding how G64 interacts with coordinate systems and modal settings, programmers can configure safe toolpaths. Unlike G60 single-direction positioning or the modal G61 exact stop mode, G64 deactivates deceleration check cycles at the end point of every block. This ensures uninterrupted feedrate execution, preventing the cutting tool from dwelling or lingering on the workpiece surface, which optimizes cycle times.
Technical Summary
| Technical Attribute | Specification |
|---|---|
| Command Code | G64 |
| Modal Group | Fanuc: Group 15 (Group 13 in system B/C); Siemens: Group 10; Mitsubishi: Group 13 (Group 19 in machining centers) |
| Supported Brands | Fanuc, Siemens, Mitsubishi |
| Critical Parameters | Fanuc: Parameter 3402 Bit 6 (CLR), Parameter 5000 Bit 3 (GNI); Siemens: ADIS, ADISPOS, MD 33100 COMPRESS_POS_TOL; Mitsubishi: Parameter #1148 I_G611, Servo Parameter #2224 sv024 |
| Main Constraint | Axes do not decelerate at block transitions, causing sharp corners to round off due to physical axis lag. |
Quick Read
- Deciding to use G64 eliminates deceleration checks, maintaining path velocity and preventing unsightly tool dwell marks.
- Activating G64 reduces overall cycle times but rounds off sharp geometric corners due to physical axis lag.
- Overriding G64 with G09 or G61 is mandatory when machining sharp shoulders or precise workpiece dimensions.
- Interrupting a G64 corner rounding path mid-cycle can cause axis deviations on subsequent repositioning (REPOS), requiring a dry run before resuming.
- Programming corner rounding or chamfering within thread-cutting or tapping blocks is forbidden and triggers immediate alarms like Alarm PS0050.
- Calibrating electronic tailstock and chuck barriers is essential to prevent high-speed hard collisions with clamps or vise jaws.
Basic Concepts of Continuous-Path Mode
Modal continuous-path mode (G64) is the default cutting state on most CNC controls, allowing the tool to move smoothly across block transitions. In contrast to modal exact stop mode (G61), which decelerates all axes to a complete stop at each coordinate endpoint to verify positioning, continuous-path mode suppresses these deceleration checks. By maintaining an uninterrupted feedrate, it prevents the tool from dwelling or lingering on the workpiece surface, ensuring uniform chip loads, maximizing tool life, and eliminating dwell marks while minimizing cycle times.
The primary mechanical trade-off of maintaining constant path velocity is the rounding of sharp outside corners. Since the axis motion control kernel begins executing the subsequent coordinate block before the current axis reaches its exact target position, physical axis lag causes corner rounding. Programmers must account for this rounding behavior and selectively override continuous-path mode by commanding non-modal exact stops (G09) or modal exact stops (G61/G60) at sharp geometric transitions, shoulder steps, or critical tolerances.
Programmers and machine setup operators must exercise extreme caution during workpiece coordinate setup, tool offset calibration, and safe clearance envelope definition under active continuous-path mode. Prior to executing an automatic cycle, raw stock must be physically secured within the vise jaws, spindle chucks, or table clamps. If coordinate calculation errors are present, or if the operator inputs an incorrect zero shift, the CNC control will execute the uncompensated path at full programmed feedrate without stopping at block boundaries. Bypassing stroke limits or deactivating protection barriers can drive the tool turret or revolver directly into vise jaws, clamps, or chucks, resulting in a high-speed hard collision that shatters the tool, damages axis ball screws, and destroys the workpiece.
Command Structure and Syntax
The continuous-path mode command is a modal instruction that remains active until cancelled by another command from the same modal group, such as exact stop check or tapping mode. When active, it applies to all subsequent linear interpolation and circular interpolation commands. Depending on the CNC brand, the basic syntax can be augmented with dynamic parameters, rounding distances, or axial tolerance bounds to manage corner transitions without halting motion.
The primary programming block utilizes the G64 G-code as a standalone preparatory instruction. In some control systems, additional addresses are programmed alongside G64 or its sub-codes to define rounding zones. These rounding modifiers allow operators to balance machining speed against geometric tolerance by specifying maximum deviation ranges or axial clearance limits.
G64 ;
For Siemens SINUMERIK native mode, the syntax includes additional sub-codes and parameters:
G641 ADIS=__ ADISPOS=__ ;
G642 ;
G643 ;
G644 ;
| Parameter / Address | CNC Control System | Function and Value Range |
|---|---|---|
| Parameter 3402 Bit 6 (CLR) | Fanuc | Clear state of modal G-codes. 0 = preserve Group 15/13 modals on reset; 1 = reset to default G64. |
| Parameter 3453 Bit 4 (FRC) | Fanuc | Corner feedrate control. 1 = commanded via E or ,E; 0 = normal F. |
| Parameter 5000 Bit 3 (GNI) | Fanuc | Cutter compensation cancel block vector calculation. 0 = normal to end of previous block; 1 = legacy path. |
| ADIS | Siemens | Rounding clearance distance for path functions G01, G02, and G03. Deactivated if set to 0. Real value in mm or inches. |
| ADISPOS | Siemens | Rounding clearance distance specifically for G00 rapid traverse blocks. Deactivated if set to 0. Real value in mm or inches. |
| MD 33100 COMPRESS_POS_TOL | Siemens | Axis-specific precision tolerances updated under G642 or G643. Real value. |
| Parameter #1148 I_G611 | Mitsubishi | Initial modal state of Group 13/19 at Power-On. 0 = standard G64; 1 = high-accuracy G61.1. |
| Parameter #1151 rstint | Mitsubishi | Modal state initialization on NC reset. 0 = preserve active G64. |
| Servo Parameter #2224 sv024 | Mitsubishi | In-position width specifying remaining axis lag when transitioning from G64 to exact stop. Real value. |
Brand-Specific Applications
Fanuc
On Fanuc systems, G64 is a modal Group 15 (or Group 13) command that deactivates deceleration checks. It defaults at startup depending on machine parameters.
G64 ;
| Category | System Item | Description |
|---|---|---|
| Parameter | Parameter 3402 Bit 6 | Configures G-code modal initialization. 0 = preserve; 1 = reset to default G64. |
| Parameter | Parameter 5000 Bit 3 | Cutter compensation vector calculation. 0 = normal; 1 = legacy path. |
| Alarm | Alarm PS0050 | CHF/CNR NOT ALLOWED IN THRD BLK. Chamfering/rounding programmed in threading/tapping block. |
| Alarm | Alarm PS0051 | MISSING MOVE AFTER CNR/CHF. G01 not programmed in the block immediately following cornering. |
| Version Difference | Series 16i/18i/21i vs. 30i | Modern Series 30i/31i/32i-B Plus uses Parameter 5000 Bit 3 (GNI) to control G40 cancel block behavior when coordinates have no movement. |
If legacy programs are executed on modern controls without configuring parameter 5000, the axes may deviate, resulting in unexpected overcuts or uncut material.
Siemens
In Siemens native SINUMERIK mode, G64 belongs to Group 10 and can be combined with sub-codes to define precise corner rounding. Toggling the interpreter enables ISO dialect translation.
G641 ADIS=0.5 ADISPOS=1.0 ;
| Category | System Item | Description |
|---|---|---|
| Parameter | ADIS | Rounding clearance distance for path functions G01, G02, G03. Deactivated if set to 0. |
| Parameter | ADISPOS | Rounding clearance distance specifically for G00 rapid traverse blocks. Deactivated if set to 0. |
| Alarm | Alarm 14800 | Channel set programmed path velocity is less than or equal to zero. F0 is programmed and fixed feedrates is disabled. |
| Alarm | Alarm 61800 | External CNC system missing. Switched to G291 ISO dialect mode when MD 18800 is disabled. |
| Version Difference | 840D sl vs. 802D sl | High-end G Group 20 multi-edge turning commands (G51.2, G50.2) are supported on 840D sl but omitted on 802D sl. |
Setting rounding values to zero or omitting them entirely will silently deactivate corner rounding, causing the control to fall back to standard continuous-path mode.
Mitsubishi
On Mitsubishi systems, G64 resides in modal Group 13 and defaults at power-on if configured via startup parameters.
G64 ;
| Category | System Item | Description |
|---|---|---|
| Parameter | Parameter #1148 I_G611 | Initial modal state of Group 13/19 at power-on. 0 = G64; 1 = G61.1 high-accuracy. |
| Parameter | Servo Parameter #2224 sv024 | In-position width specifying remaining axis lag when transitioning from G64 to exact stop. |
| Alarm | Program Error (P129) | High-accuracy or high-speed machining commanded when Parameter #8040 is 0. |
| Alarm | Program Error (P128) | Command G120.1/G121 while G96, G41/G42, G07.1, or user macros are active. |
| Version Difference | Mode 2 (M8 series) | Mode 2 (M8 series) supports rapid traverse block overlap (G00 following G01) under exact parameters. Standard controls do not. |
Resuming program execution after a manual absolute coordinate intervention without returning the tool will cause all subsequent operations to deviate from the original path.
Cross-Brand Comparison
| Comparison Topic | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Toggling Syntax | Flat modal mapping under Group 15/13 based on Parameter 3401. | Dual-interpreter switch: G290 (Siemens Native) and G291 (ISO dialect). | Bimodal Program Format Switch: G188 (machining center) and G189 (lathe). |
| Rounding Configuration | Configured via look-ahead parameters and manual corner overrides. | Distinct modal G-codes (G641 ADIS clearance, G642/G643 axial tolerance, G644 dynamic response). | Configured via Servo Parameter #2224 sv024 in-position width. |
| Interlocks / Compiler Checks | Strict interlock triggers Alarm PS0064 if G31 skip is issued under active G64 compensation. | Querying status variables ($A...) or MSG command triggers immediate preprocessor stop/deceleration check. | Manual arbitrary reverse run (G127) works during active G64, keeping modals in a modal storage block. |
| Threading & CSS Interaction | Corner chamfering (,C)/rounding (,R) under G64 in threading blocks triggers Alarm PS0050. | F0 cutting velocity triggers Alarm 14800. | Spindle speed is automatically clamped to thread block speed if CSS is active in the same system under G64. |
Deep Technical Analysis
One of the primary architectural distinctions between the brands lies in how G64 continuous-path behavior is managed within the modal group system. Fanuc integrates G64 modal handling natively within a unified, flat G-code group architecture (Group 15 or Group 13) depending on the active coordinate system. Adjusting parameters allows Fanuc to dynamically map modal tables across lathe and milling formats. In contrast, Siemens utilizes a bilingual compiler model, where native SINUMERIK mode manages continuous-path mode modally under Group 10, but can only parse legacy Fanuc-style G64 blocks when the interpreter is explicitly switched to ISO Dialect Mode via G291. Mitsubishi approaches this by integrating standard G64 cutting mode selection with a bimodal Program Format Switch compiler (G188/G189), mapping coordinate registers and modal G-codes dynamically between machining center and lathe formats.
The methods used to customize and control corner rounding characteristics represent another major difference. Siemens separates corner rounding behavior into multiple, specialized G-codes based on axial dynamics and tolerances, including distinct modal commands for corner rounding with axial precision tolerances (G642/G643) or maximum dynamic response (G644). This allows the SINUMERIK look-ahead compiler to dynamically optimize axis velocities and acceleration rates on a block-by-block basis. Fanuc and Mitsubishi, however, rely on flat parameter configurations and look-ahead settings to manage corner deceleration, with Mitsubishi utilizing a specific servo parameter (sv024) to define the in-position width and Fanuc using parameter-driven look-ahead settings.
Looking at compiler checks and interlocks during active continuous-path mode reveals further system variations. Fanuc enforces a strict software interlock that triggers an immediate program error if a G31 skip command is issued during active tool radius compensation under G64. Siemens and Mitsubishi handle look-ahead pre-read buffers on more flexible, multi-level preprocessor stacks. However, Siemens executes implicit exact stop checks during G64 mode if a MSG text output is processed or if system variables starting with $A... are queried, which triggers an immediate preprocessor stop. Mitsubishi, on the other hand, allows manual arbitrary reverse runs (G127) during active G64, keeping G-code modals active in a modal information storage block to prevent axis drift and coordinate issues.
Program Examples and Dry Runs
Fanuc Example
G64 ;
G01 X150.0 Z-50.0 F200.0 ;
G61 Z-80.0 ;
G64 G01 X200.0 Z-100.0 ;
Dry Run
The operator initiates a dry run in single-block mode with the tool post index turret loaded. Block 1 activates modal continuous-path mode, deactivating position verification at block transitions. Block 2 moves the tool linearly to coordinate X150.0, Z-50.0 at a feedrate of 200.0, passing through the coordinate endpoint without deceleration. Block 3 cancels cutting mode and switches to modal exact stop, decelerating the Z-axis to a complete halt at Z-80.0 to verify coordinate positioning at the shoulder. Block 4 cancels exact stop and returns to continuous-path mode for the next linear cut to X200.0, Z-100.0.
Siemens Example
N10 G290 ;
N20 G17 G64 G01 X100.0 Y50.0 F1200.0 ;
N30 G641 ADIS=0.5 G01 X150.0 Y100.0 ;
N40 G60 G601 X200.0 Y150.0 ;
Dry Run
During the program dry run, Block N10 switches the compiler to native SINUMERIK mode. Block N20 selects the XY plane, activates continuous-path mode (G64), and interpolates linearly to X100.0, Y50.0 at a feedrate of 1200.0, traveling through the transition without deceleration. Block N30 commands G641 transition rounding with a clearance radius of 0.5 mm, allowing the control to blend the corner transition to X150.0, Y100.0 without pausing. Block N40 commands G60 modal exact stop with fine positioning window (G601), decelerating the spindle or tool revolver to a complete stop at X200.0, Y150.0 to verify coordinate tolerances.
Mitsubishi Example
G64 ;
G01 X150.0 Y75.0 F200.0 ;
G61 Z-50.0 ;
G64 G01 X200.0 Y100.0 ;
Dry Run
The operator monitors the dry run. Block 1 enables continuous-path mode, ensuring subsequent cutting feed blocks transition smoothly. Block 2 executes a linear cut to X150.0, Y75.0 without deceleration at the endpoint. Block 3 deactivates cutting mode and switches to exact stop check mode, forcing the tool post turret to a complete stop at Z-50.0 to check coordinate alignment. Block 4 cancels exact stop and resumes continuous-path cutting feed to X200.0, Y100.0.
Error and Alarm Analysis
| Brand | Alarm Code | Trigger Condition | Operator Symptom | Root Cause / Fix |
|---|---|---|---|---|
| Fanuc | Alarm PS0050 | Chamfering/rounding (,C or ,R) programmed in threading or tapping block. | Execution halts immediately before threading operation starts; alarm code is displayed. | Do not specify corner rounding or chamfering in thread/tap blocks like G32, G33, or G63. |
| Fanuc | Alarm PS0051 / PS0052 | Motion command in the block following cornering is not linear interpolation (G01). | The tool stops at the end of the corner path and the CNC system throws a G-code error. | Ensure the block immediately following corner rounding or chamfering is programmed with G01. |
| Siemens | Alarm 14800 | Cutting command programmed with path feedrate of F0 without active fixed feedrates. | The machine execution halts at the block transition and the status screen displays a zero feedrate fault. | Program a feedrate greater than zero (F word) or enable fixed feedrate options in the CNC settings. |
| Siemens | Alarm 61800 | Switched to G291 ISO dialect mode when MD 18800 or option bit 19800 is disabled. | The interpreter fails to compile the program block, triggering a missing CNC system alarm. | Enable machine data parameter MD 18800 or set the corresponding option bit 19800. |
| Mitsubishi | Program Error (P129) | High-accuracy/speed control commanded while Parameter #8040 is set to 0. | The program stops executing, and a parameter error alarm appears on the operator panel. | Enable Parameter #8040 to allow simultaneous high-accuracy control in the part system. |
| Mitsubishi | Program Error (P128) | Command G120.1/G121 while G96, G41/G42, G07.1, or user macros are active. | Look-ahead buffer check fails, and execution halts during transition to machining condition selection. | Deactivate tool radius compensation, constant surface speed, or cylindrical interpolation before calling G120.1/G121. |
Practical Application Notes
A catastrophic hard collision that shatters the cutting tool, damages axis ball screws, and converts raw stock into a ruined scrap part occurs if the tool post turret drives the tool directly into table-mounted fixture clamps, a workpiece fixture vise jaw, or the rotating jaws of a spindle chuck due to coordinate offsets or zero shift errors executed during modal G64 continuous-path mode. Because continuous-path mode suppresses deceleration checks at block transitions and runs at full cutting feedrate without stopping, any programming deviation is executed rapidly. Bypassing stroke limits or deactivating stored stroke barriers (such as G22/G23 on Fanuc or WALIMON on Siemens) removes the electronic protection envelope, allowing the tool post to crash. Operators must perform single-block dry runs and verify workpiece zero shifts on the setup screen prior to automatic operation.
Related Command Network
- G09: Non-modal exact stop check that decelerates and verifies position only in the block where it is commanded, temporarily overriding G64.
- G61: Modal exact stop check that deactivates continuous-path mode, forcing position verification at the end of every block.
- G62: Automatic corner override that cancels continuous-path mode to decelerate at corners for better tool life and surface finish.
- G63: Tapping mode that cancels G64 modally to disable feedrate overrides and single-block stops during threading.
- G22/G23 (or G25/G26): Stored stroke limits and working area limitations that establish electronic barriers to protect the chuck and clamps from collisions.
Key Takeaways and Conclusion
Optimizing CNC feedrate efficiency requires matching the path control mode with the specific geometry of the part. Operating in G64 continuous-path mode maximizes cycle-time efficiency and tool life, but programmers must selectively insert exact stop commands to preserve sharp corners and shoulders, while setup operators must always verify coordinate offsets to prevent high-speed collisions with workholding equipment.
Frequently Asked Questions
Why does G64 round off sharp outside corners during machining?
Physical axis lag prevents the servo motor from changing direction instantaneously when transitioning between blocks without deceleration. Programmers should override continuous-path mode by inserting a non-modal G09 command in the block containing the sharp corner, forcing the control to decelerate and verify the coordinate position before initiating the next movement.
What is the risk of using G63 tapping mode without re-commanding G64?
Calling G63 cancels continuous-path mode modally, disabling feedrate overrides and single-block stops for safety. Programmers must explicitly write G64 in the post-tapping retract block to restore manual feed override functionality and resume continuous motion on subsequent profiles.
How can coordinate deviations be avoided after resuming an interrupted program under Siemens G64?
Siemens controls do not return to the exact physical interruption point when repositioning after a reset or stop; they use the original corner point of the programmed contour. Operators must execute a dry run of the sequence or use the REPOS function with careful step-by-step block execution to ensure the tool turret does not collide with vise jaws or table clamps.
Still not resolved?
Ask our AI assistant about this topic in natural language. Grounded in verified sources, no hallucinations.

- CNC CARE Co-Founder (May 2025 - Present)
- Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
- Reis CNC Service Engineer (2003 - 2008)
- Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)
With over 25 years of experience working in all areas of the CNC machine industry, I continue my activities as a co-founder of CNC CARE, where we offer brand-independent consulting, engineering, and original spare parts services.
Related Articles
Other articles on this topic
G71 Metric Dimensioning Guide for Siemens SINUMERIK Controls
Learn how to program G71 and G710 metric dimensioning on Siemens SINUMERIK controls, including parameter MD 10240, alarm codes, and G-code syntax errors.
G69 Balance Cut Cancel: Coordinate Recovery & Crash Prevention
Learn how to program the G69 balance cut cancel command for Fanuc, Siemens, and Mitsubishi turning centers. Cancel dual slide synchronization and prevent crashes.
G70 CNC Finishing Cycle Guide for Fanuc, Siemens, and Mitsubishi
Learn the G70 finishing cycle for CNC turning. Master syntax, parameters, and alarm codes for Fanuc, Siemens CYCLE95, and Mitsubishi controls to avoid crashes.
G69 Coordinate System Rotation Cancel: Modals, Alarms, and Setup
Learn to cancel G68 facing turret mirrors and coordinate rotations using G69 on Fanuc, Siemens, and Mitsubishi CNCs to prevent turret crashes.