G-code
Supported G-code

G76 (Threading lathe)

4min

G76 P... Z... I... J... R... K... Q... H... E... L...

P Pitch

Z driveline endpoint

I Outside thread diameter, always positive.

J First cut is J beyond I, always positive.

R Depth regression, use 1.0 for constant cutting depths or discard the parameter.

K Full thread depth beyond thread peak, always positive.

Q Compound slide angle, typical 30.

H Additional spring passes at full depth, use 0 for none.

E Taper distance along the drive line.

L Taper place, none, enter, exit, both.

;Create a thread from z=20 to z=10, outside diameter=15, inside diameter=14, 10 passes. G0 X20 Z20 G76 P1.0 Z10 I15 J0.1 K1.0

It is an error if:

  • The active plane is not the ZX plane
  • Other axis words, such as X... or Y..., are specified
  • The R... degression value is less than 1.0.
  • All the required words are not specified
  • P..., J..., K... or H... is negative
  • E... is greater than half the drive line length

The “drive line” is a safe line outside the thread material. The “drive line” goes from the initial location to the Z... value specified with G76. The Z extent of the thread is the same as the drive line.

The “thread pitch”, or distance per revolution, is given by the P... value.

The “thread peak” is given by the I... value, which is an offset from the drive line. A negative I value indicates external threads and a positive I value indicates internal threads. Generally, the material has been turned to this size before the G76 cycle.

The “initial cut depth” is given by the J... value. The first threading cut will be J beyond the “thread peak” position. J... is positive, even when I... is negative.

The “full thread depth” is given by the K... value. The final threading cut will be K beyond the “thread peak” position. K... is positive, even when I... is negative.

The “depth degression” is given by the R... value. R1.0 selects constant depth on successive threading passes. R2.0 selects constant area. Values between 1.0 and 2.0 select decreasing depth and increasing area. Values above 2.0 select decreasing area. Beware that unnecessarily high degression values will cause a large number of passes to be used.

(degression = a descent by stages or steps.), every next cutting pass less material is removed during the cutting process.

The “compound slide angle” Q... is the angle (in degrees) describing to what extent successive passes should be offset along the drive line. This is used to cause one side of the tool to remove more material than the other. A positive Q value causes the leading edge of the tool to cut more heavily. Typical values are 29, 29.5, or 30.

The number of “spring passes” is given by the H... value. Spring passes are additional passes at full thread depth. If no additional passes are desired, program H0.

Tapered entry and exit moves can be programmed using E... and L.... E... gives a distance along the drive line used for the taper. E0.2 will give a taper for the first/last 0.2 length units along the thread. L... is used to specify which ends of the thread get the taper. Program L0 for no taper (the default), L1 for entry taper, L2 for exit taper, or L3 for both entry and exit tapers.

The tool will pause briefly for synchronization before each threading pass, so a relief groove will be required at the entry unless the beginning of the thread is past the end of the material or an entry taper is used.

Unless using an exit taper, the exit move (traverse to original X) is not synchronized to the spindle speed. With a slow spindle, the exit move might take only a small fraction of a revolution. If the spindle speed is increased after several passes are complete, subsequent exit moves will require a larger portion of a revolution, resulting in a very heavy cut during the exit move. This can be avoided by providing a relief groove at the exit, or by not changing the spindle speed while threading.

The sample program g76.ngc shows the use of the G76 canned cycle and can be previewed and executed on any machine using the sim/lathe.ini configuration.

Figure: G76 canned cycle
Figure: G76 canned cycle


This is how it works:

  1. Before the start, the spindle rate is measured.
  2. The feed for de z-axis is calculated: F = pitch * spindleRate
  3. The controller is programmed such that a movement is started on the spindle pulse.
  4. The movement is calculated and sent to the machine.
  5. The movement is started when the spindle pulse passes.
  6. Before the treading starts, the spindle rate is measured, averaged, and the feed is calculated from this.

Not that the inside and outside thread diameter is determined by the start position, the position before G76, and the I, and K parameters.