Single-Point Thread Programming
Single-point threading cuts a helical groove by synchronizing spindle rotation with tool feed. For a single-start thread, the feed per revolution must equal the pitch exactly. This page covers the geometry, the G76 cycle, and a worked M10×1.5 example.
Concept
A screw thread is a helical ridge wrapped around a cylinder. On a CNC lathe, a single-point threading tool moves along Z while the spindle rotates. The controller must keep the tool position synchronized with spindle angle so that every pass follows the same helix.
Pitch (P) is the distance between adjacent thread crests, measured along the axis. Lead (L) is the axial distance the tool advances in one full spindle revolution. For a single-start thread, pitch = lead. For a multi-start thread (two or more parallel helices), lead = pitch × number of starts.
Major diameter is the outer diameter of an external thread. Minor diameter (core diameter) is the diameter at the root. The radial thread depth determines how much material the tool removes on successive passes.
Why It Matters
This Haas teaching example uses G97 S500 to keep spindle speed constant, following the manufacturer's G76 example. F specifies the lead per revolution. The programmed lead does not change merely because RPM changes; synchronization, permitted modes and overrides must follow the specific controller manual. The G76 cycle handles the multi-pass strategy automatically — the programmer only specifies the final minor diameter, total thread depth, first-pass depth, and feed (= lead).
How It Works
Thread Geometry: H, h3, and the 0.613 factor
The theoretical sharp 60° triangle has height:
H = (√3 / 2) × P ≈ 0.8660254 × P
Actual metric external threads (per ISO 68-1 / DIN 13 design profile) truncate the crest and root, leaving a smaller working radial height. The selected design geometry uses:
h3 = 17H / 24 ≈ 0.6134347 × P
This 0.61343 factor is documented in Hexagon Infoletter No. 37 (thread depth bolt h3 = 0.61343 P for metric DIN external thread design geometry). It applies to the ISO metric external thread design profile used in this page; other thread forms must be checked against their own standards or tooling references.
Worked Calculation: M10×1.5
| Quantity | Formula | Value |
|---|---|---|
| Pitch P | given | 1.5 mm |
| Sharp triangle H | 0.8660254 × 1.5 | 1.299038 mm |
| Design thread depth h3 | 0.6134347 × 1.5 | 0.920152 mm |
| Minor diameter d3 | 10 − 2×0.920152 | 8.159696 mm |
For teaching, we round to K = 0.92 mm and X endpoint = 8.16 mm. The rounding introduces about 0.0003 mm of diameter difference — negligible for a programming example but not a 6g limit dimension.
G76 Threading Cycle (Haas lathe)
The single-line Haas G76 format:
G21 G18 G97 S500 M03 (unit/plane/coords set; offsets established; snippet only)
G00 X11. Z3. (approach: above stock, 3 mm lead-in)
G76 X8.16 Z-20. K0.92 D0.2 F1.5
Reading the line:
- X8.16 = final minor diameter (program endpoint in diameter mode)
- Z-20 = thread end position
- K0.92 = total radial thread height (truncated from K=0.920152)
- D0.2 = first pass depth (a teaching assumption, not a recommended cutting parameter)
- F1.5 = lead in mm/rev (= pitch for single-start)
The controller automatically takes successive passes with decreasing radial depth until reaching X8.16. D0.2 is a teaching value — real first-pass depth depends on insert grade, material, coolant, and machine rigidity; follow the tool manufacturer's charts.
Lead-In and Lead-Out
The Z3. approach position provides lead-in distance so the spindle speed reaches sync before the tool cuts the first thread. A lead-out (or thread relief groove) at Z-20+ allows the tool to retract cleanly. Without lead-in, the first few threads may be off-pitch.
Pitch vs Lead on Multi-Start Threads
For a double-start thread with P=1.5, the lead is 3.0 mm/rev, so F=3.0. The controller cuts one groove per pass sequence, then shifts Z by one pitch to cut the second start. This is why F in G76 is always the lead, not the pitch — the programmer must account for multiple starts.
Example
Example 1 — Single-start M10×1.5: At S500 RPM, the ideal synchronous axial feed is 500 × 1.5 = 750 mm/min. The tool must not change feed override during the cut.
Example 2 — Double-start M10×1.5 (pitch 1.5, lead 3.0): F=3.0 mm/rev. At S500, axial feed = 1500 mm/min. The programmer arranges the second start by the controller's specified phase or axial offset; do not assume the cycle shifts automatically.
Tolerance and inspection: In this teaching example we assume a 6g external thread, checked with a thread ring gauge (go/no-go). The mating internal thread would use 6H and a thread plug gauge — but always follow the tolerance class specified on your drawing. The ring gauge confirms functional acceptance; it does not verify every dimension on the drawing.
G32 — Single-Pass Threading (Manual)
Before G76 canned cycles, programmers cut threads pass by pass using G32 (constant lead threading). Each pass is a separate block. For an external M10×1.5 thread on Ø10 stock, the first cut starts just below the major diameter and takes a small radial bite:
G97 S500 M03
G00 X9.8 Z3. (first pass: 0.1mm radial below Ø10)
G32 Z-20. F1.5 (cut thread at 1.5 mm/rev lead)
G00 X12. (retract X clear)
Z3. (return Z to start)
X9.6 (next pass: another 0.1mm radial deeper)
G32 Z-20. F1.5 (second pass)
G00 X12.
Z3.
... (further passes omitted; shown two passes only)
X9.8 means the tool cuts 0.1 mm radially below the Ø10 surface. X9.6 cuts another 0.1 mm deeper. The number of passes and depth per pass depend on tool material, insert grade, and material — follow the tooling catalog. G32 gives full control but is tedious; G76 automates the multi-pass strategy.
Threading on a Mill: Tapping vs Thread Milling
Tapping (G84 rigid tap cycle): A tap rotates and feeds synchronously. In G94 mode, F = pitch × RPM. For M10×1.5 at S500, F = 750 mm/min. The tap cuts the full thread form in one operation.
Thread milling: A threaded tool follows a helical interpolation path — one circular orbit around the hole, with one pitch of axial travel per orbit. The feed rate is based on feed per tooth, number of flutes, and the tool-center path speed, not simply F = lead × RPM. The 1.5 mm axial rise per orbit defines the pitch, but the programmed F is the tool-center feed around the circle. Thread milling is flexible for large holes and hard materials but requires CAM or careful helical math.
Common Threading Problems
| Problem | Check | Corrective direction |
|---|---|---|
| Ring gauge GO won't enter | Check pitch, setup, burrs, major diameter, then measure pitch diameter | If pitch diameter is too large, take one more light pass per tooling data; material already cut cannot be restored |
| NO-GO gauge enters | Pitch diameter may be over-cut | Check against the drawing's gauge acceptance rule; material already removed cannot be recovered |
| Off-pitch at start | No lead-in distance | Provide enough lead-in for the control to sync; set it from acceleration/RPM data |
| Chatter / poor finish | Spindle speed too high or tool worn | Reduce RPM, check insert condition |
| Tool breaks | Pass depth too aggressive | Reduce first-pass depth per tooling catalog |
Common Mistakes
- Confusing pitch with lead on multi-start threads — F must be the lead, not the pitch.
- Using a spindle mode not verified for this threading cycle — follow the chosen controller's documented setup; this example uses G97.
- Changing spindle RPM mid-thread — the controller syncs to a fixed spindle speed during the cut. Do not change S during threading.
- No lead-in distance — the first threads are off-pitch before spindle sync. Choose lead-in based on acceleration, RPM, and controller; Z3 in this example is a classroom value, not a universal fix.
- Treating 8.16 mm as a finished tolerance dimension — it is a theoretical minor diameter estimate used as the G76 X endpoint; actual acceptance is by gauge per drawing.
- Forgetting G97 before G76 on this Haas example — this teaching example follows the manufacturer's G97 setup. On other controllers, verify the recommended spindle mode for threading.
Practice
1. Single-start M12×1.75: what is F? Compute H and h3.
Show answer
F = 1.75 mm/rev (lead = pitch). H = 0.8660 × 1.75 = 1.5155 mm. h3 = 0.61343 × 1.75 = 1.0735 mm. Minor ≈ 12 − 2×1.0735 = 9.853 mm.
2. Given G76 K0.92 on a 60° metric thread, find P.
Show answer
P = 0.92 / 0.61343 = 1.4998 ≈ 1.5 mm. This confirms the M10×1.5 example.
3. A double-start thread has pitch 1.5. What is F in G76, and why?
Show answer
F = 3.0 mm/rev (lead = 2 × pitch). G76 feed is always the lead, so on a multi-start thread it is larger than the pitch. At S500, axial feed = 1500 mm/min.
Inspection Is by Gauge, Not by Minor Diameter Alone
The X8.16 endpoint is a design minor diameter for programming. Whether the thread accepts a mating part is decided by the ring or plug gauge specified on the drawing, which checks pitch diameter, flank condition, and fit. A measured minor diameter that looks right does not prove the thread is good, and a NO-GO entry must be interpreted under the drawing's gauge acceptance rule rather than assumed scrap on first contact.
Multi-Start Phase Shift
For a double-start thread, F becomes the lead (3.0 mm/rev for P1.5). The second helix is 180° out of phase with the first. How the programmer or controller sets that starting phase depends on the control; Haas G76 has a Q thread-start angle whose unit and range must be checked before use.
G76 Parameters in Detail
X is the final minor diameter in diameter mode. Z is the thread end. K is the radial thread height from the crest to the root of the truncated profile. D is the first-pass radial depth, chosen as a classroom assumption. F is the lead. The controller computes successive passes with decreasing engagement until X is reached. Do not confuse K (total depth) with D (first pass); they are separate numbers.
Why G97 and Not G96
Under synchronous feed, lead is the axial distance per spindle revolution and is set by F. Changing RPM changes the required axial speed and synchronization demand, not the programmed lead. This Haas teaching example uses G97 S500 before G76 per the manufacturer setup; verify the recommended spindle mode on the specific control.
Thread Inspection beyond the Minor Diameter
A thread gauge checks functional fit. The GO ring should assemble under hand force; NO-GO acceptance follows the drawing's gauge rule. Measuring the minor diameter with a caliper or micrometer does not replace the gauge, because pitch diameter and flank condition matter. Once a thread is overcut, material cannot be restored.
Insert Grades and Thread Pass Count
Number of passes depends on insert grade, material, and machine rigidity; this example does not prescribe it. Start from the tool catalog, then watch the first part for chatter, flank wear, and ring gauge fit.
Why the Major Diameter Slightly Below Nominal
External threads are typically turned a few hundredths below nominal major diameter to leave crest room and match tolerance classes. The example treats major as O10 for geometry teaching; on a real part, follow the drawing.
Thread Relief Groove
When a thread runs up to a shoulder, a relief groove under the thread lets the tool retract without rubbing the shoulder. Its width and diameter are specified on the drawing; program Z to that relief rather than guessing.
External vs Internal Thread Programming
In this diameter-mode programming, internal threading toward the bore wall uses a target X that increases (away from spindle axis); retract direction is verified against the controller. The G76 parameter signs and retract direction must match the controller; verify before running.
Checking Pitch on the First Part
Before trusting the cycle, measure pitch with a screw pitch gauge or compare with a known mating part. A wrong F produces threads that look shaped but do not assemble; pitch check catches it early.
When to Use a Threading Insert Holder with a Built-In Blade
Parting and threading share some holder geometry but the insert angles differ. Do not substitute a parting blade for a threading insert; the flank angles are wrong and the thread form will be off.
Why the First Pass Matters
The first threading pass sets how the insert bites. Too heavy a first pass overloads the corner; too light a pass rubs and work-hardens the surface. Start from the tooling catalog and watch the first chip form.
Thread Relief and Retract
A thread runout or relief groove lets the tool leave cleanly. Without one, the insert may drag on the shoulder at thread end.
Threading Program Snippet Entry State
The G76 blocks in this page assume G54 selected, tool geometry and wear offsets established, nose radius and orientation set, and lead-in/retract space verified on the part. They are fragments, not complete programs.
When to Rework a Thread vs Scrape
If GO will not enter, the thread may be oversize or have burrs. Clean and re-measure before adding a pass. If NO-GO enters, material is already removed; that part is usually beyond correction. Check with the drawing's gauge rule before deciding.
Threading Insert and Grade Selection
Use the insert grade matched to the workpiece. Tool wear shows as flank wear, built-up edge, or poor finish. Replace the insert on a schedule, not after every thread.
Why the First Pass Matters
The first threading pass sets how the insert bites. Too heavy a first pass overloads the corner; too light a pass rubs and work-hardens the surface. Start from the tooling catalog and watch the first chip form.
Thread Relief and Retract
A thread runout or relief groove lets the tool leave cleanly. Without one, the insert may drag on the shoulder at thread end.
Sources
- Hexagon Infoletter No. 37, "SR1 – Thread up to M160": h3 = 0.61343 P for metric DIN external thread design geometry. hexagon.de/info37_e.htm, retrieved 2026-09-24.
- Haas Automation Mill/Lathe Operator's Manual — G76 thread cycle parameter definitions (K, D, F, X, Z). haascnc.com.
- ISO 68-1:2023 — Basic profile of Metric ISO threads (H = 0.866 P fundamental triangle). Design profile h3 per the above Hexagon reference.