What's new
What's new

3.5" NPT G76 Cycle

Try it on an actual machine, using actual values and observe actual coordinates. There is another Forum Member that came to the same conclusion and submitted his algorithm for obtaining the correct taper for the final pass. I can't recall the members name, but his Post was not that long ago, certainly within the last 12 months.
Since I have not practically verified this, I cannot really comment, but the whole world has been using G76 for several decades, and nobody has ever complained that the taper obtained by G76 is not accurate. I can, therefore, conclude that even if there is some inaccuracy, it is insignificant for all practical purposes. I am reminded of your example of an engineering student inching towards a pretty girl, whereas the mathematics student gave up! It is all about "practical purposes."
 
Since I have not practically verified this, I cannot really comment, but the whole world has been using G76 for several decades, and nobody has ever complained that the taper obtained by G76 is not accurate. I can, therefore, conclude that even if there is some inaccuracy, it is insignificant for all practical purposes. I am reminded of your example of an engineering student inching towards a pretty girl, whereas the mathematics student gave up! It is all about "practical purposes."
If you care to revisit my first Post, Post #5, you will see I used the term, "if you want to split hairs", meaning, if you want to be pedantic, if a Thread Angle of other than Zero is specified in the first G76 Block, the taper amount will be slightly off by the time the tool gets to the Minor Diameter.

This a fact. and I'm not the only one to bring this matter up on this Forum. The Poster's name is Madonno and made the following Post on 6th August 2023. You actually participated in the Thread.

I noticed yesterday (test cutting NC-50 pipe thread) that if you're using "60" (flank cutting) as opposed to 00 (plunge cutting) in the first G76 line (eg P010060), it messes with your taper angle! I dry ran it and calculated the angle (took pictures of the "distance to go" values while it was threading).
It's easy to calculate. What the machine does is: It moves over the Z-start position to start from the top of the one side of the flank. So you just have to use the thread depth value (P-value in second G76 line) and calculate: tan(30) (flank angle) X thread depth (P-value) X tan(4.764) (thread taper angle)
I made a Google sheet (you can copy it to use/edit it) that calculates the correct R-value for the second G76 line (negative value for OD thread).

I wasn't aware of this error until he brought it up. I have checked it out and the error occurs as I have explained.

The error in the taper amount is small, but so is the error in the diameter of a tapered feature, cutting small to large diameter, when TNR comp is not applied neither in the part program, nor via the Control, but just about everyone will attend to this error. The mathematic involved to correct the taper in the tapered thread is not difficult and is simply based on the total amount of Shift of the Z Start Point for the final Threading pass.
 
Last edited:
Experimental observation cannot be questioned, especially when two people have seen the same thing.
As suggested, a simple solution is to use a modified R, instead of the R calculated on the basis of the total Z travel. G76 can be modified to do this calculation internally, so that it uses the appropriate R, instead of user-specified R.
Since Fanuc manuals show exact parallelism in all passes, I was under the impression that it is ensured by the control.

Maybe this be reported to Fanuc. They do modify canned cycles. For example, the approach move of G76 in model C and D are different ...
------------------------------------------ As in Model C--------------------------------------As in Model D----------------
1706019823216.png
 
It isn't the fault of the machine, in fact it isn't the job of the machine to thread an NPT on it's own.
It is the super unintuitive idiotic ( to me anyway) description of the NPT standard.
Just flip open the machinery handbook, and you'll find definitions as pipe face, gage notch, pipe end L1, length of hand engagement, length of effective thread, length of wrench makeup, overall external thread length ....
I'm sure someone is going to come by shortly to defend that kind of stupidity, but I will stand by and state that it is a fucked up way to define something.
I have been saying this for years now. Since I was first introduced to the Machinist Handbook when my uncle showed me one when I was super young. I always thought it was time to up date the wording of the books and change the dimensioning for a CNC Programming section since youre not likely going to cut a tapered thread on a manual lathe, yes it can be done but its not easy or is it practical.
 
I have been saying this for years now. Since I was first introduced to the Machinist Handbook when my uncle showed me one when I was super young. I always thought it was time to up date the wording of the books and change the dimensioning for a CNC Programming section since youre not likely going to cut a tapered thread on a manual lathe, yes it can be done but its not easy or is it practical.
Yep. This has been the bane of my existence when it comes to single pointing NPT threads. With straight threads you have a minor, major and pitch diameter. Its pretty easy. But then you have tapered threads and you almost need to be a degreed engineer to do the math to calculate.
 
Yep. This has been the bane of my existence when it comes to single pointing NPT threads. With straight threads you have a minor, major and pitch diameter. Its pretty easy. But then you have tapered threads and you almost need to be a degreed engineer to do the math to calculate.
Drawing the correct taper in AutoCad with start and end points added to what you already know about straight threads is about all there is to it. Just tweak to fit. No trig needed.
 
Drawing the correct taper in AutoCad with start and end points added to what you already know about straight threads is about all there is to it. Just tweak to fit. No trig needed.
Im talking more inline with how the tapered threads are described in the handbook. Hand tight engagement / imperfect threads / pitch diameter at start of thread
I would think root diameter at start and root diameter at end would be far more useful in modern machining than hand tight engagement.
 
This all hurts my brain. I have drawn up my taper on the computer but still have no idea what values to use and where. Most of it I understand. But I guess when it comes to the second line G76 values is where im confused. There was a note in the control stating that if I dont plus up my thread tool the first cut will be too deep and possibly break the insert. So thats where I am at. I have to run these nipples this week so any extra input would be helpful. I have a programming book from Peter Smid but its still very confusing as to what values the machine needs. Sorry, as said I havent programmed a machine in years.
 
Smid's books are more suitable for older Fanuc versions. If you are using an i-series Fanuc control, it will be more helpful if you read my books. Every week one of my books remains available for free download. The book on Live Tools is free this week. The book on threading cycles, including G76, will be free next week. The book explains G76 in quite detail, with examples. You may follow the thread "Free CNC resources" for prior information about free offers.

I have updated and compiled all my books in a single book, and published it as a CNC Handbook. I recommend that you read this. This was free a couple of weeks back. It will again be free after 10 weeks on all amazon sites. Meanwhile, you may like to read the description of the book at
Sample pages can be read without purchasing, by clicking "Read sample."
1706420058083.png
 
Smid's books are more suitable for older Fanuc versions. If you are using an i-series Fanuc control, it will be more helpful if you read my books. Every week one of my books remains available for free download. The book on Live Tools is free this week. The book on threading cycles, including G76, will be free next week. The book explains G76 in quite detail, with examples. You may follow the thread "Free CNC resources" for prior information about free offers.

I have updated and compiled all my books in a single book, and published it as a CNC Handbook. I recommend that you read this. This was free a couple of weeks back. It will again be free after 10 weeks on all amazon sites. Meanwhile, you may like to read the description of the book at
Sample pages can be read without purchasing, by clicking "Read sample."
View attachment 425360
None of our machines are live tooling because the owner is a cheapskate. LOL. And the i model is newer sure. But the G76 also works on a 30 year old control we use. So I dont think its necessary to buy your book no offense. I am not serious about programming nor am I going to read a book and tons of formulas which A. I dont understand as im not a "formally" trained machinist and B. I dont have a ton of time to sit and read a bunch unfortunately. LOL.
But I guess no one can give me a straight forward answer as to what I need to change in the formula I listed above to get this thread done. Im sorry I dont sugar coat stuff.
 
G01 X4.1 Z.2 F.05 M08
G76 P040055 Q0030 R0005
G76 X3.916 Z-1.25 P1000 Q0020 R-.0438 F.125
Hello Rogue_Machinist,
The code above is not going to work well for you, or at best, will take a month of Sundays to complete the Threading operation. You have a minimum DOC set via "Q" in the first G76 Block of 0.003" and a First DOC specified in the second G76 Block of 0.002". Accordingly, all Threading passes, with exception of the finishing passes, will be made using the 0.003" DOC.

Rule of Thumb, the First Pass DOC specified in the second G76 Block should be as much as the Threading Insert and the workpiece set up can consistently handle. Typically, I start with a 0.020" (0.5mm) value on most threads.

Disregarding the error in the taper that is introduced by a tool tip angle other than Zero being used, which I've already mentioned, your R value is incorrect for the total Z travel of 1.45". Based on that travel, the R value in the second G76 Block should be R-0.0453"

The X value used in the second G76 Block should be the Minor Diameter at the large diameter of the Thread (Male Thread). Without looking up the precise numbers, that would be circa 3.7". However, disregarding that incorrect number, and using the numbers you have plugged in, the Major Diameter calculated by the control for the large end of the Thread, will be 4.116". This is larger by 0.016" than you X Start Position of X4.1" and will have an affect on the G76 Threading Cycle.

Regards,

Bill
 
G01 X4.1 Z.2 F.05 M08
G76 P040055 Q0030 R0005
G76 X3.916 Z-1.25 P1000 Q0020 R-.0438 F.125
Along with what Angelw said. the X and Z on the first line and the X and Z on the last line must make the correct taper for this pipe thread. Using Auto Cad, draw the OD of the pipe with an end of pipe line. Draw the correct taper. If the start X Z and the end X Z do not match the taper, the dimensions are not correct.
 
Along with what Angelw said. the X and Z on the first line and the X and Z on the last line must make the correct taper for this pipe thread.
That's not right at all.
The X in the last (2nd G76 Block) line is the Minor Diameter of the Thread at the large end of the Thread. The X value in the 1st G76 Block can be any value greater than the X value in the 2nd G76 Block, plus 2x the "P" value (Thread Height) in the 2nd G76 Block. The X value in the 1st Block can be as large as the X Reference Return position and the G76 Cycle will operate successfully. X10.0 Z0.2 would work, albeit with a lot of fresh air travel.

The taper amount is based purely on total Z Travel from the Z Start Stand Off position, Z0.2" in the Rogue_Machinist example, to the Z Finish coordinate specified in the 2nd G76 Block, Z-1.25 in the Rogue_Machinist example, and a constant, being the Taper per Unit of the thread of 1/16 in diameter. Accordingly, the taper value for the "R" address in the 2nd G76 Block will be 1.45" x 0.03125, or 1.45" / 32; X values don't come into the equation.

If the X Value in the 2nd G76 Block is wrong, and the "R" address value correct, the correct taper will be cut, but the Pitch and Minor Diameter will be incorrect.

Regards,

Bill
 
Hello Rogue_Machinist,
The code above is not going to work well for you, or at best, will take a month of Sundays to complete the Threading operation. You have a minimum DOC set via "Q" in the first G76 Block of 0.003" and a First DOC specified in the second G76 Block of 0.002". Accordingly, all Threading passes, with exception of the finishing passes, will be made using the 0.003" DOC.

Rule of Thumb, the First Pass DOC specified in the second G76 Block should be as much as the Threading Insert and the workpiece set up can consistently handle. Typically, I start with a 0.020" (0.5mm) value on most threads.

Disregarding the error in the taper that is introduced by a tool tip angle other than Zero being used, which I've already mentioned, your R value is incorrect for the total Z travel of 1.45". Based on that travel, the R value in the second G76 Block should be R-0.0453"

The X value used in the second G76 Block should be the Minor Diameter at the large diameter of the Thread (Male Thread). Without looking up the precise numbers, that would be circa 3.7". However, disregarding that incorrect number, and using the numbers you have plugged in, the Major Diameter calculated by the control for the large end of the Thread, will be 4.116". This is larger by 0.016" than you X Start Position of X4.1" and will have an affect on the G76 Threading Cycle.

Regards,

Bill
This part isnt going to be a perfect part. And from what ive heard you never wanna take that heavy of a first cut. I dont know. But yeah time isnt an issue on this job. Its not a production job its literally for in house assembly operation. There is no inspector checking these and there is no cmm guys. LOL. And my machine wont recognize any x or z in the first line. There are 6 other NPT programs in the control and none have a x or z in first line.
 
That's not right at all.
The X in the last (2nd G76 Block) line is the Minor Diameter of the Thread at the large end of the Thread. The X value in the 1st G76 Block can be any value greater than the X value in the 2nd G76 Block, plus 2x the "P" value (Thread Height) in the 2nd G76 Block. The X value in the 1st Block can be as large as the X Reference Return position and the G76 Cycle will operate successfully. X10.0 Z0.2 would work, albeit with a lot of fresh air travel.

The taper amount is based purely on total Z Travel from the Z Start Stand Off position, Z0.2" in the Rogue_Machinist example, to the Z Finish coordinate specified in the 2nd G76 Block, Z-1.25 in the Rogue_Machinist example, and a constant, being the Taper per Unit of the thread of 1/16 in diameter. Accordingly, the taper value for the "R" address in the 2nd G76 Block will be 1.45" x 0.03125, or 1.45" / 32; X values don't come into the equation.

If the X Value in the 2nd G76 Block is wrong, and the "R" address value correct, the correct taper will be cut, but the Pitch and Minor Diameter will be incorrect.

Regards,

Bill
The way I mentioned was how I got my tapered thread dimensions, if I recall correctly. I didn't cut pipe thread everyday and have been retired for a while. But still, the taper must be correct.
 
This part isnt going to be a perfect part. And from what ive heard you never wanna take that heavy of a first cut. I dont know. But yeah time isnt an issue on this job. Its not a production job its literally for in house assembly operation. There is no inspector checking these and there is no cmm guys. LOL. And my machine wont recognize any x or z in the first line. There are 6 other NPT programs in the control and none have a x or z in first line.
The first line that I mentioned was your G01 X4.1 Z.2 F.05 M08. You are correct, there is no X Z in the first line of a G76 code.
G01 X4.1 Z.2 F.05 M08
G76 P040055 Q0030 R0005
G76 X3.916 Z-1.25 P1000 Q0020 R-.0438 F.125
And remember you've cut the OD down to a taper, so you'll start the G76 at a smaller dimension.
 
Last edited:
This part isnt going to be a perfect part. And from what ive heard you never wanna take that heavy of a first cut. I dont know. But yeah time isnt an issue on this job. Its not a production job its literally for in house assembly operation. There is no inspector checking these and there is no cmm guys. LOL. And my machine wont recognize any x or z in the first line. There are 6 other NPT programs in the control and none have a x or z in first line.
As I mentioned, the Rule of Thumb is to use as heavy a First DOC as the Insert and Workpiece will consistently tolerate. There is absolutely nothing wrong with doing this within the constraints of what the Insert and Workpiece will tolerate. Each successive DOC is calculated by the control using the following algorithm:

DOC = SQR(N) x Q
Where:
N = The Nth Threading Pass (1,2,3, etc)
Q = First Threading Pass DOC specified in the 2nd G76 Block

The DOC as specified by the result of the above algorithm applies until the difference between the previous DOC and the current calculated DOC is less than the Minimum DOC specified by Q in the 1st G76 Block. From then on, the Minimum DOC will be used. By specifying a small First DOC, the value less than the Minimum DOC will be reached early and therefore, the Thread will be cut mostly using the Minimum DOC.

The way I mentioned was how I got my tapered thread dimensions, if I recall correctly. I didn't cut pipe thread everyday and have been retired for a while. But still, the taper must be correct.

The Taper of the Blank before Threading should be correct, but unless in your CAD drawing, you take into account the Z Start Standoff position of the Threading Tool, the Taper of the Thread will not be correct. Accordingly, the taper value to register in the "R" address in the 2nd G76 Block comes back to the Total Z travel of the tool and the Taper per Unit Used (Radial Value)

Regards,

Bill
 
As I mentioned, the Rule of Thumb is to use as heavy a First DOC as the Insert and Workpiece will consistently tolerate. There is absolutely nothing wrong with doing this within the constraints of what the Insert and Workpiece will tolerate. Each successive DOC is calculated by the control using the following algorithm:

DOC = SQR(N) x Q
Where:
N = The Nth Threading Pass (1,2,3, etc)
Q = First Threading Pass DOC specified in the 2nd G76 Block

The DOC as specified by the result of the above algorithm applies until the difference between the previous DOC and the current calculated DOC is less than the Minimum DOC specified by Q in the 1st G76 Block. From then on, the Minimum DOC will be used. By specifying a small First DOC, the value less than the Minimum DOC will be reached early and therefore, the Thread will be cut mostly using the Minimum DOC.



The Taper of the Blank before Threading should be correct, but unless in your CAD drawing, you take into account the Z Start Standoff position of the Threading Tool, the Taper of the Thread will not be correct. Accordingly, the taper value to register in the "R" address in the 2nd G76 Block comes back to the Total Z travel of the tool and the Taper per Unit Used (Radial Value)

Regards,

Bill
I would extend the tapered line .05" off the end of the part, using that as my start point in Z and I extended the same tapered line .02" ( or farther if the OD was out of round) past the OD using that as the end of the thread in G76. Worked for me, or at least I think it did.
 
Last edited:
This all hurts my brain. I have drawn up my taper on the computer but still have no idea what values to use and where. Most of it I understand. But I guess when it comes to the second line G76 values is where im confused. There was a note in the control stating that if I dont plus up my thread tool the first cut will be too deep and possibly break the insert. So thats where I am at. I have to run these nipples this week so any extra input would be helpful. I have a programming book from Peter Smid but its still very confusing as to what values the machine needs. Sorry, as said I havent programmed a machine in years.
It's really not that complicated, It can be done in CAM, good software should auto adjust the infeed to remain constant to the taper angle being programmed via G32, as well as calculate the correct Depth of cut. I haven't used a G76 in quite some time. Seems like alot of splitting hairs going on here.
 
Last edited:








 
Back
Top