CNC Path Analyzer

The G70 finishing cycle: reusing the roughing profile to finish with a finishing tool

Explains, with an example containing an arc, how the G70 finishing cycle re-reads the P–Q profile blocks of G71, G72 and G73, when F and S inside the profile are applied, and the practical order with a tool change in between.

G70 does not write the profile again

G70 P_ Q_ is a finishing command that follows the blocks from sequence number P to Q once, exactly as written, in the program. The roughing cycles (G71, G72, G73) have already cut to those same blocks while leaving an allowance, so G70 just removes the remaining allowance to reach the final dimensions.

In other words, G70 itself contains no profile coordinates. To change the profile you edit the P–Q blocks, and roughing and finishing change together. Having to maintain only one place is the biggest advantage of this structure.

Feed and spindle speed used by G70

While a roughing cycle runs, F, S and T inside the P–Q blocks are ignored and the F of the cycle block is used. Conversely, when G70 runs, the F, S and T inside the P–Q blocks apply. In the example, roughing runs at the cycle's F0.3 and finishing at F0.1 from the second line of the profile.

If there is no F at all in the profile blocks, G70 simply inherits the previous modal F, that is, the roughing feed. If the finished surface is rougher than expected, check this first.

Practical order: rough → retract → tool change → finish

G71 with roughing tool T01, then a change to finishing tool T03 to run G70

O2004
T0101
G21 G90 G18 G40 G99
G50 S2000
G96 S160 M03
G00 X46. Z2.
G71 U2. R0.5
G71 P100 Q200 U0.5 W0.05 F0.3
N100 G00 X16.
G01 Z0. F0.1
G03 X24. Z-4. R4.
G01 Z-18.
X32. Z-24.
Z-36.
N200 X46.
G00 X150. Z100.
T0303
G96 S220 M03
G00 X46. Z2.
G70 P100 Q200
G00 X150. Z100.
M30
G71 with roughing tool T01, then a change to finishing tool T03 to run G70 — ZX (radius) pathZX (radius)
Dashed light blue is G00 rapid traverse; solid orange is cutting motion. Arcs are expanded into calculated static curves.

The figure above is the CNC Path Analyzer result for this program (rapid 29 segments, linear cutting 13 segments, arc 1 segments).

Points to notice in the example

  • G50 S2000 caps the spindle speed at 2,000 rpm so that it does not rise without limit as the diameter shrinks under constant surface speed control (G96).
  • After roughing, G00 X150. Z100. backs well away to the tool change position. It must be a position where the turret does not hit the workpiece or chuck when it indexes.
  • The finishing tool T0303 raises the surface speed to S220. Finishing uses a shallow depth of cut, so a higher cutting speed can be used.
  • G00 X46. Z2. just before G70 is the same position as the roughing cycle start point. Starting from a different position also changes the return position after finishing.
  • G03 X24. Z-4. R4. in the profile is an R4 round on the face side. Without tool nose radius compensation (G41/G42) on the finishing tool, the dimensions of the round and taper sections are off by the nose radius.

Common problems when using G70

SituationReasonRemedy
G70 cannot find the sequence numberTypo in the P/Q number, or the profile is in another programCheck the N numbers and their position in the same program
G70 alarm in DNC operationTape and DNC operation often cannot go back to blocks already passedRun from memory, or write the finishing profile explicitly
Finished dimensions consistently oversizeWear offset of the finishing tool or nose radius compensation not appliedCheck the tool offset screen and G41/G42
The return after finishing scratches the workpieceG70 start point too close to the workpieceMake the start point X sufficiently larger than the stock OD

How to choose the finishing allowances U and W

The finishing allowance in the second block of the roughing cycle is the thickness G70 will actually cut. Too much, and the finishing tool is loaded like a roughing tool, so size and surface finish fluctuate; too little, and the chatter marks or thermal distortion left by roughing are not fully removed. The example's U0.5 leaves 0.5 mm on the diameter, that is, 0.25 mm on the radius.

A common starting point is to choose it so that the finishing depth of cut is about equal to or slightly smaller than the nose radius of the finishing insert. For an R0.4 nose insert, that is a radial allowance of 0.2–0.3 mm, or about U0.4–0.6. The Z allowance W is usually smaller than U, because faces are short and the tool cuts them with its side edge. The example uses W0.05.

Finishing insert nose radiusExample radial allowanceExample second-block U
R0.20.1–0.15 mmU0.2–0.3
R0.40.2–0.3 mmU0.4–0.6
R0.80.3–0.5 mmU0.6–1.0

Finishing without G70

When the profile blocks are split off into a subprogram, or only the finishing has to move to another operation, the finishing path is sometimes written separately instead of using G70. In that case the roughing and finishing profiles are maintained separately, so both must be changed whenever the drawing changes. Overlaying the two paths on the same screen in CNC Path Analyzer makes profile mismatches quick to find.

Frequently asked questions

Can G70 also be used after G73 (pattern repeating)?
Yes. G71, G72 and G73 all share the P–Q profile in the same way and are finished with G70.
Are the finishing allowances U and W specified again when G70 runs?
No. The finishing allowance only has meaning in the second block of the roughing cycle. G70 follows the profile exactly, with no allowance.

Next steps

Check the path in CNC Path Analyzer