This non-modal G code is similar to G70 except that it is not limited to a complete circle. G71 belongs to Group 00 and thus is non-modal. A canned cycle must be active so that at each position, a drill or tap function is performed.
* indicates optional
G18 Z-X plane must be active.
G71 Stock Removal:  Setting 73,  Start position,  Z-Axis clearance plane,  Finishing allowance,  Roughing allowance,  Programmed path.
This canned cycle roughs material on a part given the finished part shape. Define the shape of a part by programming the finished tool path and then use the G71 PQ block. Any F,S or T commands on the G71 line or in effect at the time of the G71 is used throughout the G71 roughing cycle. Usually a G70 call to the same PQ block definition is used to finish the shape.
Two types of machining paths are addressed with a G71 command. The first type of path (Type 1) is when the X-Axis of the programmed path does not change direction. The second type of path (Type 2) allows the X-Axis to change direction. For both Type 1 and Type 2, the programmed path of the Z-axis cannot change direction. If the P block contains only an X-Axis position, then Type 1 roughing is assumed. If the P block contains both an X-Axis and Z-Axis position, then Type 2 roughing is assumed. When in YASNAC mode, include R1 on the G71 command block to select Type 2 roughing.
Any one of the four quadrants of the X-Z plane can be cut by specifying address codes D, I, K, U, and W properly.
In the figures, the start position S is the position of the tool at the time of the G71 call. The Z clearance plane  is derived from the Z-axis start position and the sum of W and optional K finish allowance.