![]() |
The 'Motion Class' Codes
|
The 'motion class' codes are the most used G-codes and are the ones that
define most of the motion you will be programming your CNC control to
perform. The motion can be linear, at a fast or defined cutting feedrate,
or circular motion. The 'motion class' G-codes also include G-code instructions
that stop or modify the motion.
|
|
|
G00: Rapid linear motion. This command instructs your CNC machine to move from 'Point A' to 'Point B' as quickly as it can. This means each Servo or Stepper will be instructed to move to the programmed location in it's axis at the fastest speed the motor is capable of. You should only use G00 for positioning moves and never use them when the cutter is located at or below your defined Z zero location! Make sure your cutter is positioned at a safe height, called the Rapid Plane, before moving in either X or Y coordinates. To minimize cutting 'air', the cutter should be moved in the Z axis to a minimum height, the Clearance Plane, above the work piece before plunging into the material at the slower cutting speed. |
![]() |
|
Almost all CNC machines will interpret a G00 command to instruct each servo or stepper motor to move at it's defined rapid speed individually. This is important because, unlike a linear move at feedrate (G01), there is no guarantee that each axis will arrive to the defined endpoint at the same time. If you were to plot the actual motion of a rapid command on your CNC machine, it would most likely look like the curved motion shown at right. The format for rapid positioning is G00 followed by the location Words in each axis to move to: G00 X0. Y0. Z.1 Each word location represents a location in either Absolute Coordinates or Incremental Coordinates. |
![]() |
|
G01: Linear motion at feedrate. This command instructs your CNC machine to move from 'Point A' to 'Point B' at the programmed feedrate. Unlike the G00 'Rapid' command, the G01 command ensures that each servo is syncronized so that each axis arrives at the destination point at the same time. A G01 command results in a straight line from point A to point B. If, for whatever reason, you want a rapid motion while below the clearance plane, and you are sure there is nothing between where you are and where you are going... use a G01 command with the rapid feedrate instead of using G00! This will ensure that the move is truely a linear move and not a curved motion as discussed earlier (see G00). The format for a linear move is G01 with the locations in each axis to move to followed by the feedrate, which is the cutting speed in inches or millimeters/minute: G01 X0. Y0. Z-0.1 F50 |
![]() |
|
G02: Circular motion, clockwise direction. There are two circular motion commands for cutting arcs, which are segments of circles, and full circles. Circular motion commands always move at the feedrate and are not rapid motion commands. The G02 command is the instruction for a clockwise circular motion. The arc will start at the tools current location and sweep around clockwise to the designated ending location at the programmed feedrate. There are several 'standard' methods to define the radius of the arc. These methods are discussed below, after the discussion on the counter-clockwise command. |
![]() |
|
G03: Circular motion, counter-clockwise direction. The G03 command is the instruction for a counter-clockwise circular motion. The arc will start at the tools current location and sweep around counter-clockwise to the designated ending location at the programmed feedrate. There are several 'standard' methods to define the radius of an arc. These methods are discussed below, after the discussion on the counter-clockwise command. |
![]() |
|
Circular motion format, Arc Radius Definitions: A standard circular motion G-code instruction will always designate the arc's ending point in X, Y, and Z. However, there are several 'standard' formats for programing the arc's radius. Some controls support only one format, others support two or more formats. Refer to your machine's programming manual to determine which formats your CNC control supports. The simplest method supported by many controls is to just include the radius value in the G-code line. The CNC control will do the calculations from there! For control's that support this format, the radius value is programmed by an 'R' word. In the following example a 0.5 inch radius will be machined (The Z value is modal in this example). Note: If the CNC control can't calculate the defined radius, an error will occur at the machine.
The most commonly supported format is the usage of I and J words to define the arc's center point location. Unfortunately, there are several different formats for defining the I and J locations! The first I and J format some controls support, one that is pretty straightforward, is to program the arc center-point in absolute coordinates. Program the arc's center-point location in the X axis with the 'I' word and the arc's center-point location in the Y axis with the 'J' word. This format, again one that makes a 0.5 inch radius, is written as follows:
|
|
|
G04: Dwell. |
|
|
G09: Exact stop. |
|
Copyright 2000, Wayne and Anita Hohler
All rights reserved. Unauthorized duplication Prohibited.
Questions or Comments about this site?
Please send to webmaster@xmlcreate.com
See our Disclaimer