Canned Cycles G81 through G89 have been implemented for milling. This section describes how each cycle has been implemented. In addition G80 and G98/G99 are considered here because their primary use is related to canned cycles.
All canned cycles are performed with respect to the XY plane With the current 3 axis interpreter, no A, B, C-axis motion is allowed during canned cycles inverse time feed rate is not allowed cutter radius compensation is not allowed Each of the canned cycles defines a new machine motion mode. As a motion mode, they will stay in effect until replaced by another motion G word or by G80 as described below.
All canned cycles use X, Y, R, and Z values in the NC code. These values are used to determine X, Y, R, and Z positions. The R (usually meaning retract) position is along the Z-axis. Some canned cycles use additional arguments that are listed with the specific cycle.
In absolute distance mode, the X, Y, R, and Z values are absolute positions in the current coordinate system. In incremental distance mode, X, Y, and R values are treated as increments to the current position and Z as an increment from the Z-axis position before the move involving Z takes place.
A repeat feature has been implemented. The L word represents the number of repeats. If the repeat feature is used, it is normally used in incremental distance mode, so that the same sequence of motions is repeated in several equally spaced places along a straight line. EMC allows L > 1 in absolute distance mode to mean "do the same cycle in the same place several times." Omitting the L value is equivalent to specifying L=1.
When L>1 in incremental mode, the X and Y positions are determined by adding the given X and Y values either to the current X and Y positions (on the first go-around) or to the X and Y positions at the end of the previous go-around (on the second and successive go-arounds). The R and Z positions do not change during the repeats.
The number of repeats of a canned cycle only works for in the block containing L word. If you want to repeat a canned cycle using the repeat feature by placing a new L word on each line for which you want repeats.
The height of the retract move at the end of each repeat (called "clear Z" in the descriptions below) is determined by the setting of the retract_mode: either to the original Z position (if that is above the R position and the retract_mode is G98, OLD_Z), or otherwise to the R position. (See G98/G99 below)