0 votes
in cnc programming by (9.0k points)

In this article, we describe how to use G00 command to axis positioning on CNC machines with all details and examples.

A CNC machine tool does not always cut material and ‘make’ chips. From the moment the cutting tool becomes active in a part program, it goes through a number of motions – some are productive (cutting), others are nonproductive (positioning). Rapid motion operations usually involve four types of motion:

  • From the tool change position towards the part
  • From the part towards the tool change position
  • Motions to bypass obstacles
  • Motions between different positions on the part

The G00 command moves a tool to the position in the workpiece system specified
with an absolute or an incremental command at a rapid traverse rate. In the absolute
command, coordinate value of the end point is programmed. In the incremental
command the distance the tool moves is programmed.


G00 X… Z… ;

When “G00 X(U)… Z(W)… (C(H)… Y(V)…);” is designated, positioning is executed.
The program advances to the next block only when the number of lag pulses due
to servo lag are checked after the completion of pulse distribution has reduced to
the permissible value.
In the G00 mode, positioning is made at a rapid traverse rate in the simultaneous
2-axis control mode. The axes not designated in the G00 block do not move. In
positioning operation, the individual axes move independently of each other at a
rapid traverse rate that is set for each axis. The rapid traverse rates set for the individual
axes differ depending on the machine. For the rapid traverse rates of your
machine, refer to the manuals published by the machine tool builder.

Example A (feedrate in in/min)

N21 G00 X24.5 F30.0
N22 Y12.0
N23 G01 X30.0
In block N21, only the rapid motion will be executed. Feedrate of 30.0 in/min will be ignored in this block, but stored for later use. Motion in the block N22 will also be in rapid positioning mode, since G00 is a modal command. The last block, N23, is a linear motion (cutting motion), that requires a feedrate. As there is no feedrate assigned to the motion in this block, the last programmed feedrate will be used. That was specified in block N21 and it will become the current feedrate in block N23, as F30.0.

Example B (feedrate in in/min)

N21 G00 X24.5 F30.0
N22 Y12.0
N23 G01 X30.0 F20.0
In block N21, command G00 becomes modal, which means that it remains in effect until it is canceled by another command of the same group. In the example (B), command G01 in block N23 cancels rapid motion and changes rapid mode to a linear mode. Also, the feedrate is reprogrammed and will be at 20.0 in/min starting at block N23. In fact, the feedrate F30.0 in block N21 has never been used in the program – it is harmless but redundant and should be removed.


  • In the G00 positioning mode, since the axes move at a rapid traverse rate set for the individual axes independently, the tool paths are not always a straight line. Therefore, positioning must be programmed carefully so that a cutting tool will not interfere with a workpiece or fixture during positioning.
  • The block where a T command is specified must contain the G00 command. Designation of the G00 command is necessary to determine the speed for offset movement which is called by the T command.

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:
To avoid this verification in future, please log in or register.