Single-point thread programming can be fun and easy

Single-point thread programming can be fun and easy

Before CNC lathes, single-point threading was a pain in the neck. Fast reflexes were needed to engage an engine lathe's lead-screw dial at precisely the right time and disengage it before crashing into the shoulder. Around the time of the U.S. Bicentennial celebration, tape-operated lathes made all of this headache obsolete. No more fooling with clumsy gearboxes or levers. You simply programmed where you wanted the tool to go and the machine control took care of the rest.

August 5, 2016By Kip Hanson

G76 is an elegant single-point threading routine.

Before CNC lathes, single-point threading was a pain in the neck. Fast reflexes were needed to engage an engine lathe's lead-screw dial at precisely the right time and disengage it before crashing into the shoulder. Around the time of the U.S. Bicentennial celebration, tape-operated lathes made all of this headache obsolete.

No more fooling with clumsy gearboxes or levers. You simply programmed where you wanted the tool to go and the machine control took care of the rest. For example, the following is a possible program for a 3/4"-16 × 1"-long thread on the OD of a shaft:

G0 X1.0 Z0.2 (position the tool to clear the thread's major diameter and three to four times its pitch in front of the part face)

X0.72 (rapid move to the diameter of the first pass)

G32 Z-1.0 F0.0625 (cut at a feed rate of 0.0625 ipr, or 1.588 mm/rev.)

G0 X1.0 (move to the X-axis start position)

Z0.2 (rapid to the Z-axis start position)

The last four lines are repeated, taking progressively shallower passes in the X-axis until the thread is completed. By swapping X for Z in the G32 line, the cycle will cut spiral, or scroll, threads across the face of a workpiece. Tapered threads are also possible by including an X-axis command with the G32 Z-movement.

Powerful stuff, but G32 needs four lines of code for each threading pass and may require 100 or more lines to cut deep or large threads, especially in challenging materials such as nickel-based superalloys, where only a few thousandths can be removed per pass.

Although G32 remains a useful and important function for tapping threads on mills and lathes, it is otherwise an outdated method of single-point threading. Enter G92, a slightly more modern approach to single-point threading:

G0 X1.0 Z0.2 (initial tool position for 3/4"-16 × 1"-long thread)

G92 X0.72 Z-1.0 F0.0625 (first pass)

X0.71 (second pass)

X0.672 (final pass)

Instead of 100 lines of code, only 25 or so are needed. Just don't forget to clear the cycle with a G0 command to a safe position or bad things will happen. Both of these cycles are far better than cranking handles and watching dials, but they make it difficult to achieve one aspect of efficient threading available on even the ugliest, oldest engine lathe: compound infeed, something many learned at vo-tech school.

Compound infeed is achieved by tipping the compound rest on an engine or toolroom lathe at an angle—typically 29° or 30° for a 60° V-thread. While it's possible to do the same thing with G32 and G92, it involves calculating the Z-axis offset amount for each single pass and adjusting the start position accordingly. Ugly at best.

Turn to Elegant

Instead, G76 is an elegant single-point threading routine. With one or two lines of code, any thread form imaginable can be cut—British Standard to Buttress, Acme to Whitworth. Because G76 provides easy control over the infeed angle, tool life and thread quality improve, compared to the radial infeed methods offered by G32 and G92.

The older of the G76 cycles works like this:

G0 X1.0 Z0.2 (initial tool position)

G76 X0.672 Z-1.0 I0 K0360 A60 D0100 P1 F0.0625

That's it. The X and Z values represent the thread minor diameter and its length. F represents the feed rate. The I value can be used to create a tapered thread and is equal to the taper angle times its "length (better break out the trigonometry book). K is the radial thread height, and D is the depth of the first pass. P values 1 to 4 determine single-edge or double-edge cutting and whether a constant-amount or constant-depth material-removal algorithm is used. Refer to the control manual for your machine to see which is which. Also, note the missing decimal points in values I, K, A and D—mess this up by adding one and you'll trigger an alarm.

Last but not least is A, the infeed angle. Six settings—A0, A29, A30, A55, A60 and A80—are available. When cutting titanium, an angled infeed is the cat's meow, but even with soft materials, better finish, accuracy and tool life are achieved by virtually "tipping the compound."

A second and more esoteric G76 uses two lines of code:

G76 P010260 Q0015 R0.001

G76 X0.672 Z-1.0 R0 P0360 Q0100 F0.0625

You can use the G76 G-code Generator on the Machining Doctor website and look at the code in different scenarios.

Let's break it down. The P word in the first line is actually three separate commands of two digits each. The first pair (01) refers to the number of finish passes (0 to 99). Next comes the pullout value near the end of the thread, in this case 0.2 times the lead (also known as the chamfer). The final P-word pair is the infeed angle and uses the same rules as the other G76 routine. The Q word signifies minimum cutting depth, and the R word is the finishing amount for the final pass.

The second line is easier to understand. The R value is equivalent to the I in the 10T example. P is the same as K, and Q corresponds to D. The constant-amount or constant-depth algorithm (P1 to P4) is determined internally by parameter settings.

It's important to know that feed hold is ineffective during the threading pass in all of these cycles. Hitting the emergency stop (the big red button) would probably stop the machine, but I've never tried it. Be sure to have all your ducks in a row before pushing cycle start. Also, spindle speeds must remain constant during threading. Don't use G96 (constant surface speed) or change spindle speed mid-cycle. And don't go too fast. Available rpm is determined by the machine's maximum controllable feed rate; if you're cutting an 8-pitch thread at 1,600 rpm, the Z-axis is traveling at 200 ipm (5,080 mm/min.). This is moving at a pretty good clip for most CNC lathes and may give unpredictable results.

A number of machine parameters determine how these threading cycles behave. Also, depending on the machine builder and control model, there may be details not mentioned here. Read the control manual or attend a class. If your threading routines are stuck in the 70s, kick off your disco shoes and get with the program, because G76 is the way to go.

Thanks to Dan Knepp, CNC applications engineer for FANUC America Corp., Hoffman Estates, Ill., for his input.

Glossary terms in this article

  • toolroom lathe
    High-precision lathe built to hold tighter tolerances than regular, general-purpose lathes can hold. See lathe; turning machine.
  • superalloys
    Tough, difficult-to-machine alloys; includes Hastelloy, Inconel and Monel. Many are nickel-base metals.