Fanuc (milling)
G99 G84 X20. Y20. Z-18. R5. F625.On Fanuc rigid tapping is armed with M29 S500 in the previous block; without M29 the control may run it as tapping with a floating holder. F = pitch x rpm under G94: 1.25 x 500 = 625 mm/min.
We use technical and security cookies and, only if you accept, analytics with no cross-site tracking. More in the Cookie policy and Privacy policy.
We use first-party cookies and technical storage to make the site work, Google reCAPTCHA security technology and, only if you accept, Vercel analytics (no cookies, no cross-site tracking). You can accept or reject analytics; both options are equivalent and you can change your choice at any time. More info: Cookie policy, Privacy policy, Legal notice and Terms and conditions.
G84 taps by synchronizing spindle rotation with Z feed: it runs down to the bottom, reverses rotation and comes back out at the same ratio, with no floating tap holder needed. The feedrate is the key: in mm/min (G94) F has to be exactly pitch times rpm, and in mm/rev (G95) F is the pitch. For a left-hand thread on a mill the cycle is G74, not G84.
For reference only: syntax changes with the control, the post-processor and the machine parameters. Check the official manual and run a simulation before cutting. Legal notice.
Fanuc (milling)
G99 G84 X20. Y20. Z-18. R5. F625.On Fanuc rigid tapping is armed with M29 S500 in the previous block; without M29 the control may run it as tapping with a floating holder. F = pitch x rpm under G94: 1.25 x 500 = 625 mm/min.
Haas (milling)
G99 G84 X20. Y20. Z-18. R5. F625.Haas needs no M29: rigid tapping is built into G84 if the machine has it. In inch the feedrate is worked out the same way, with the pitch in inches (1 divided by threads per inch).
Siemens 840D / 828D
CYCLE84(RTP, RFP, SDIS, DP, DPR, DTB, SDAC, MPIT, PIT, POSS, SST, SST1)CYCLE84 is rigid tapping, with no compensating holder; CYCLE840 is the one that works with a floating holder. PIT is the pitch, SST the entry rpm and SST1 the exit rpm, so the feedrate is not worked out by hand.
Heidenhain TNC (Klartext)
CYCL DEF 207 ROSCADO RIGIDOIn cycle 207 the pitch goes in Q239, with a negative value if the thread is left-hand: you do not need a different cycle for the hand of the thread. Cycle 206 is the equivalent with a compensating tap holder.
| Letter | What it sets | Unit |
|---|---|---|
| X Y | Thread position. Every new block with an X or a Y repeats the whole cycle at that position. | mm / in |
| Z | Bottom of the thread, that is, how far the tap goes in. It is not the depth of the pilot hole, which has to be deeper. | mm / in |
| R | Reference plane. In tapping it is worth leaving it higher than in drilling (around 5 mm) so the control has room to synchronize spindle and axis before going in. | mm / in |
| F | Synchronized feedrate: pitch times rpm under G94, or the pitch itself under G95. It is the number that breaks the most taps when it does not add up. | mm/min under G94, mm/rev under G95 |
| S | Spindle rpm during tapping. It has to be the same number used to work out F and the same one armed with M29 on Fanuc. | rpm |
| P | Dwell at the bottom before rotation reverses, on the controls that accept it. It settles the spindle in short blind holes. | ms on Fanuc, seconds with decimals on Haas |
Four blind M8 x 1.25 threads with 18 mm of usable thread in steel, with a spiral flute tap and rigid tapping at 500 rpm. The 6.8 mm pilot hole is drilled 24 mm deep to leave room for the point of the tap and for the chips, which cannot get out the bottom.
G91 G28 Z0. | ( Z to the reference point in incremental before the change. ) |
T9 M06 | ( M8 x 1.25 spiral flute tap. ) |
G90 G54 G00 X20. Y20. | ( Absolute, work offset and rapid over the first thread. ) |
G43 H09 Z50. M03 S500 | ( T9 length offset and spindle at the 500 rpm the feedrate was worked out with. ) |
M08 | ( Coolant or tapping oil. ) |
M29 S500 | ( Arms rigid tapping on Fanuc: from here the spindle and the Z axis run synchronized. On Haas this block is not needed. ) |
G99 G84 Z-18. R5. F625. | ( Taps down to 18 mm and returns to the R plane. F = pitch x rpm = 1.25 x 500 = 625 mm/min. The R plane at 5 mm gives room to synchronize before going in. ) |
X60. | ( Second thread. ) |
Y50. | ( Third thread. ) |
X20. | ( Fourth thread. ) |
G80 G00 Z50. M09 | ( Cancels the cycle: until it is cancelled the spindle stays in synchronized mode. After that you can move in rapid. ) |
G91 G28 Z0. M05 | ( Safe retract and spindle stop. ) |
G90 M30 | ( Back to absolute and end. ) |
G84 is the cycle for tapping on a mill when the machine has rigid tapping, that is, when the control can synchronize the spindle encoder with the Z axis. With that you tap without a floating holder, you can cut blind threads to the exact depth and the dimension repeats from part to part. If the machine has no rigid tapping, the same G84 runs as tapping with a compensating holder and the pitch is set by the tap, not by the control, so the depth is no longer reliable.
In mm/min the feed is pitch times rpm: an M8 x 1.25 at 500 rpm is 625 mm/min. In mm/rev the feed is the pitch itself, 1.25. Any other number means the tap advances more or less than it turns, and that strips the thread or snaps the tap. On Fanuc, M29 with the same rpm goes in the previous block to arm the synchronization; on Haas it is not used. During the cycle most controls lock out the feed and spindle overrides precisely so that nobody can break the ratio.
The cycle takes care of going in, reversing at the bottom and coming out, but it knows nothing about the hole. The drilled depth has to be greater than the usable thread, with two to four pitches of margin for the lead chamfer of the tap and for the chips, which in a blind hole have nowhere to go. The pilot drill diameter is yours too: for M8 x 1.25 at 75 percent thread it is 6.8 mm, and going down to 6.5 raises the torque a lot. A spiral flute tap pulls the chips upward and is the right choice in a blind hole.
In mm/min (G94), F = pitch x rpm: an M10 x 1.5 at 400 rpm is 600 mm/min. In mm/rev (G95), F is the pitch itself: 1.5. In inch, the pitch is 1 divided by threads per inch, and you multiply by the rpm the same way.
On Fanuc, yes on most machines: M29 S... arms rigid tapping with the rpm you are going to use. On Haas it is not used because rigid tapping is built into the cycle. If in doubt, the machine manual says so in the description of G84 itself.
On a mill, no: a left-hand thread is cut with G74, which goes in with the spindle in M04. On Heidenhain the cycle does not change, only the sign of the pitch Q239 in cycle 207. Forcing G84 with a left-hand tap breaks the tap on entry.
Some controls let you add Q to G84, and Fanuc has G84.2 and G84.3 for peck tapping. They are machine options: check the manual before you run it, because a misread cycle with a tap down the hole is expensive.
Two to four pitches deeper than the usable thread, for the lead chamfer of the tap and for the chips that cannot fall out the bottom. For an M8 x 1.25 with 18 mm of usable thread, drilling to 23 or 24 mm is a sensible value.
CNC IDE: editing with G/M tooltips, line inspector, conversion between controls and 2D/3D toolpath.
CNC Alarms and Solutions Guide. Enter the error code or symptom to find the cause and how to repair it at the machine.
Estimate CNC turning and milling cycle time from G-code. Calculate parts per hour with a breakdown of cutting, rapids, canned cycles and tool changes.