Preliminary motion may be confusing on first read. It should come clear as you work through the examples in G80 and G81 below. Preliminary motion is a set of motions that is common to all of the milling canned cycles. These motions are computed at the time the canned cycle block is encountered by the interpreter. They move the tool into the proper location for the execution of the canned cycle itself.
These motions will be different depending on whether the canned cycle is to be executed using absolute distances or incremental distances. These motions will also be affected by the initial position of the z axis when the canned cycle block is encountered in a program.
If the current Z position is below the R position, the Z axis is traversed to the R position. This happens only once, regardless of the value of L.
In addition, for each repeat as specified by L, one or two moves are made before the rest of the cycle: 1. a straight traverse parallel to the XY-plane to the given XY-position 2. a straight traverse of the Z-axis only to the R position, if it is not already at the R position.