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.
- Calculate pitch and lead
- Interpret a Haas G76 fragment
- Separate endpoint and usable thread length
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 automates the repeated motion, but setup and cycle settings remain the programmer’s responsibility. The line identifies 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:
Scope and entry contract: this is a Haas lathe fragment in metric diameter programming. G54 has its origin at the spindle axis and the prepared front face. T0101 is an external threading tool with verified geometry, wear and orientation. Stock, toolholder, chuck, spindle direction and the entire approach/return envelope have been checked. The part is already prepared to the drawing's major-diameter limit. Z3 is a classroom approach value, not a calculated synchronization distance. This fragment selects M23; Settings 95/96 must be recorded before evaluating the end geometry.
(FRAGMENT - ENTRY CONTRACT ABOVE IS REQUIRED)
G21 G18 G40 G80 G99
G54
T0101
G97 S500 M03
M23
G00 X11. Z3.
G76 X8.16 Z-20. K0.92 D0.2 F1.5
G00 X12.
G00 Z3.
M05
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 selected cycle plans multiple passes; the pass distribution also depends on its strategy and settings. Do not infer one universal decreasing-depth schedule from this abbreviated line. 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.
Cycle Endpoint Is Not Usable Thread Length
Define three different quantities before assigning Z coordinates: the approach position, the cycle endpoint, and the drawing's required full-profile thread interval. The first is outside the face in this example; the second is a programmed motion limit; the third excludes incomplete entry and exit thread. Moving from Z3 to Z−20 spans 23 mm of axial travel, but it does not prove that the finished component contains 23 mm, or even 20 mm, of acceptable full-profile thread.
In the selected Haas cycle, M23 enables an exit chamfer and M24 disables it. Settings 95 and 96 control its size and angle. With pitch 1.5 mm and a classroom Setting 95 value of 1.0 thread, the nominal axial chamfer amount is 1.5 mm. If the endpoint remains Z−20, that withdrawal region starts nominally around Z−18.5. Do not describe the region through Z−20 as full-depth thread. This arithmetic illustrates the drawing problem; it is not a guarantee of a particular usable length on a real part.
If the drawing requires full-profile thread to Z−20, the process plan needs space beyond that location for the selected exit geometry. One arithmetic illustration moves the cycle endpoint to Z−21.5 for a 1.5 mm nominal runout; this is not permission to extend the existing program. Check the shoulder, relief groove, insert width, toolholder and workholding before deciding whether such a path is possible. An alternative relieved design needs its own dimensions and a verified retract. M24 does not create a relief groove and does not make a shoulder disappear.
Record entrance chamfer length separately as well. A lead-in move in air and an entry chamfer on the part are different features. The air move supports the selected machine's synchronization and acceleration requirements; the part chamfer affects where the thread reaches full form. Machine data, spindle speed and axial motion capability determine an adequate approach. The 3 mm classroom value must therefore be verified or replaced for the intended setup rather than copied as a universal threading rule.
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 programmer must explicitly arrange the second start by the controller-specified phase or axial offset; it does not happen automatically. This is why F in G76 is always the lead, not the pitch — the programmer must account for multiple starts.
Entry state for the G76 example: G54 selected, tool geometry and wear offsets established, nose radius and orientation set, lead-in/retract space verified. The G76 and G32 listings are fragments, not interchangeable complete production programs.
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 plans passes according to the selected strategy and settings; the short example does not specify a universal pass count. 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.
When to Rework a Thread vs Scrap
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.
Example
Example 1 — Single-start M10×1.5: At S500 RPM, the ideal synchronous axial feed is 500 × 1.5 = 750 mm/min. Use the controller’s documented threading override behaviour; do not alter the planned speed or synchronization settings while proving 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)
A separate programming approach cuts 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. This two-pass geometry fragment additionally assumes a prepared relief encompassing Z−20 with sufficient axial width and radial depth for the insert and withdrawal. The selected tool/offset, G21/G18/G40/G54/G99, diameter mode and clear entry are already established. It does not demonstrate full thread completion or a shoulder exit:
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 | Insufficient verified approach or another synchronization/setup issue | Verify the cause and 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 |
Document the Thread-Length Decision
For a reviewable setup sheet, list the drawing's thread designation and tolerance class, the prepared major diameter, the desired full-form start and end, the actual G76 start and endpoint, and the selected chamfer or relief strategy. Then write the relevant machine settings beside the program revision. A reviewer can compare these entries with the physical drawing rather than infer them from a single Z word.
For example, the teaching line ending at Z−20 may be adequate for a component whose drawing explicitly allows its final 1.5 mm to be runout, but it cannot simply be reused where a gauge must engage full thread through that interval. A successful cycle completion message only confirms that execution ended; it does not inspect usable engagement, tolerance class or the surface. Check the required thread length and gauge result separately, and retain both records with the first-part inspection.
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 — entry quality may be affected. Verify the actual cause and 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.
4. The nominal runout is 1.5 mm and the cycle endpoint is Z−20. Where does nominal runout begin, and what cannot be inferred?
Show answer
Z−18.5. Neither the endpoint nor this subtraction certifies 20 mm of full-profile thread; entry geometry, runout, drawing limits and actual inspection still govern acceptance.
Sources
- Haas M23/M24: explicit chamfer selection and its relationship to Settings 95/96.
- 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.