G71 Cycle | Stock Removal in Turning

G71 Canned Cycle

G71 Cycle is a CNC code and used to stock removal in turning for CNC lathe machines. G71 canned cycle is most common roughing cycle for CNC lathe and turning machines. Its purpose is to remove stock by horizontal cutting, primarily along the Z-axis, typically from the right to the left. It is used for roughing out material out of a solid cylinder.

The G71 Cycle generally processes the profile to be processed with the tolerances you specified in the program, and then finish with the G70 Finishing Cycle. In addition, although many of operators use the G71 code to turning the outer diameter, boring or hole turning operations can also be performed with the G71 command.

G71 Cycle Format

Like most of CNC cycles, G71 canned cycle comes in two formats - a one-block (known as single line or type 1) and a double block format (known as also two line or type 2), depending on the control system, especially for Fanuc CNC controller. Even if it’s known for Fanuc CNC controller, most of other controller also using same structure for G71 G code.

G71 Cycle for Fanuc 6T/10T/11T/15T

The one-block (Single line or Type 1) format for the G71 turning cycle is:
G71 P… Q… I… K… U… W… D… F… S…

Parameters

P : First block number of the contour in program (N10, N20… etc.)
Q : Last block number of the contour in program (N80, N90… etc.)
I : Distance and direction of rough semi finishing in the X-axis - per side (Optional)
K : Distance and direction of rough semi finishing in the Z-axis (Optional)
U : Amount left for finishing in the X-axis (in diameter)
W : Amount left for finishing in the Z-axis
D : Depth of roughing cut
F : Cutting feedrate (in/rev or mm/rev) overrides feedrates between P block and Q block
S : Spindle speed (ft/min or m/min) overrides spindle speeds between P block and Q block

Note: The I and K parameters are not available on all machines. They control the amount of cut for semi finishing, the last continuous cut before final roughing motions.

G71 Cycle for Fanuc 0T/16T/18T/20T/21T

If the control requires a double block entry (Two line or Type 2) for the G71 turning cycle, the programming format is:
G71 U… R…
G71 P… Q… U… W… F… S…

Parameters

First block:
U : Depth of roughing cut
R : Amount of retract from each cut

Second block:
P : First block number of the contour in program (N10, N20… etc.)
Q : Last block number of the contour in program (N80, N90… etc.)
U : Amount left for finishing in the X-axis (in diameter)
W : Amount left for finishing in the Z-axis
F : Cutting feedrate (in/rev or mm/rev) overrides feedrates between P block and Q block
S : Spindle speed (ft/min or m/min) overrides spindle speeds between P block and Q block

Note: Do not confuse address U in the first block, depth of cut per side, and address U in the second block, stock left on diameter. The I and K parameters may be used only on some controls and the retract amount R is set by a system parameter.

G70 Finishing Cycle

G70 Finishing Cycle is used for finish cutting operations (final cleaning cutting) in CNC lathes. G70 cycle is used to final cutting after any roughing cycles like G71 Turning Cycle, G72 Cycle or G73 Pattern Repeating Cycle. It’s possible to proceed finish cutting with different tool, spindle speed or feedrate after roughing cycles, and use in same program. G70 finishing cycle follows same tool path and contour with G71 turning cycle but only once, not more.

It is not compulsory to use G70 after G71 turning but in general, CNC machine users perform rough cutting with G71, and finishing cut with G70. The amount of finishing passes to be left for G70 is specified with the U and W values in second row of G71 command.

G71 Cycle Example

G71 Canned Cycle Example for Boring and Roughing

We will machining the outer diameter and boring of the material given above with G71. Please consider that the middle of the material to be machined is already a 28-diameter hole - since no drilling is performed in the program in our example. So, in summary, our process steps will be outer diameter machining with G71 and subsequently boring with G71 cycle.

O3000;
N05 T0101;
N10 M4 S1800;
N15 G0 X102 Z0 M8;
N20 G71 U2 R1;
N25 G71 P30 Q45 U0.6 W0.2 F0.25;
N30 G1 X94;
N35 G3 X98 Z-2 R2;
N40 G1 Z-26;
N45 G1 X100;
N50 G70 P30 Q45;
N55 G0 X200 Z200 M9;
N60 T0808;
N65 M4 S1500;
N70 G0 X28 Z5 M8;
N75 G1 Z0 F0.15;
N80 G71 U1.5 R1;
N85 G71 P90 Q130 U-0.4 W0.2 F0.15;
N90 G1 X80 F0.05;
N95 G1 Z-3;
N100 G3 X78 Z-4 R1;
N105 G1 X70;
N110 G1 Z-9;
N115 G3 X47 Z-27 R32.5;
N120 G1 X42 Z-40;
N125 G1 X30;
N130 G1 Z-69;
N135 G70 P95 Q130;
N140 G0 Z200 M9;
N145 G28 U0 W0;
N150 M30;

Things to Know

  • Return motion to the start point is automatic, and must not be programmed.
  • F cutting feedrates given after the G71 cycle lines is used in the G70 finishing turning cycle.
  • G41 and G42 tool nose radius compensation cannot be used with the G71 cycle. If written in the program, the G70 is used during the finishing cycle.
  • If the program is stopped during the G71 cycle and some manual axes movements are performed, it must be moved to the point where the program is stopped manually before starting the program again.
  • P and Q lines defining the finish profile must be written on the same line as G71 code.
  • The G71 canned cycle cannot be run under MDI mode.
  • M98 and M99 commands are not used in lines where G71 cycle is written.
  • Change of direction is allowed only for Type II G71 G code, and along one axis only (W0).
  • For internal turning, finishing pass (U in second line) value must be given negative (-). (Such as G71 P20 Q50 U-0.3 W0 F0.12).