What's new
What's new

Threading to fit with G76 and G92 follow-up....

jasonixo

Aluminum
Joined
Jan 22, 2009
Location
Dacula, GA USA
Haas TL-1. Any problems with this concerning modals and synchronization? I'm running M24 (no thread chamfer out) with a unique thread form

G76 X.987 Z-.7625 K.045 D.01 A59 F.0625 P2
M00 (Check Fit-)
G92 X.986 Z-.7625 F.0625
M00 (Check Fit)
/X.985
/M00 (Check Fit)
/X.984
/M00 (Check Fit)
/X.983
/M00 (Check Fit)
/X.982
/(wash rinse repeat)
/...
(Next op & tool)
 
Usually, the G70 series of cycles has to be cancelled with a G80.
Outside of that, it looks fine, it looks like a good method to make a really good fit.
Do you have the 1 line or the 2 line format for the G76?
For the 2 line, I have several examples on the website if you need it.
Heinz at doccnc.com
 
Thanks for the feedback Heinz! It's a brand-new Haas TL-1 but I've been programming in 1-line format. The manual supports this as well. So far, the most time-consuming op in this program is fitting the threads since I currently re-run the entire G76 format after adjusting the G76 X value.
 
Just to be safe, I would completely repeat the G92 threading code for each step down (add the G92 and F.0625 to each line). It won't hurt anything and might save your ass.

That being said, I would go about this completely differently. Add a G92 as a spring pass so you can just run that line as you creep up on the size using the tool wear compensation.

I'll assume your starting diameter is 1".

G00 X1.00 Z.1 [position for thread]
G76 X.987 Z-.7625 K.045 D.01 A59 F.0625 P2
M00 (Check Fit) [can jog away if needed, that's why you add another positioning move in the next line]
(SPRING CUT)
G00 X1.00 Z.1 [position for thread]
G92 X.987 Z-.7625 F.0625

I just keep running the G92 code line in single block over and over, adjusting the wear offset .005" at a time (your finish pass amount), until the thread is on size. Alternately, you could measure the thread and adjust it all in one shot, then run both the G76 and G92 cycles again.

Once the first part is in spec, change your final thread depth to however much you had to adjust your wear comp, zero the wear comp, and then you are good. So if you had to put -.012" in the wear comp, change the X value for thread depth to .975 in the program and then zero the X wear comp. Now your program is ready to run as many parts as needed.

You could also skip the wear comp and change the X value in the program each time you run it. There's many different ways to skin a cat.
 
Curious, what is the P2 for on the G76 line?

Hi Dave,
When using the Fanuc Style FS15 Single Block G76 format, P1 to P4 can be specified to establish the style of thread cutting, the meaning of which is shown in the following table.

P1 = Cutting amount constant, single edge
P2 = Cutting amount constant, both edges (The cutter alternates between the leading and trailing thread flank when each new depth of cut is set)
P3 = Cutting depth constant, single edge cutting
P4 = Cutting depth constant, both edges (The cutter alternates between the leading and trailing thread flank when each new depth of cut is set)

If a G92 cycle is used to follow the G76 cycle using an "A" address, either P2 or P4 (alternating leading edge, trialing edge) would have to be used so that the G92 thread path tracks in the same "Z" location as the G76 cycle path

Usually, the G70 series of cycles has to be cancelled with a G80.
Outside of that, it looks fine, it looks like a good method to make a really good fit.

Hi Heinz,
This is definitely not the case. No cancel code whatsoever is required for any of the Fanuc Style Multi Repetitive Cyles. G80 is used to cancel Canned Cycles (drilling, boring, tapping) used with a Fanuc Style Machining Centre controls and lathes equipped with live tooling.


Regards,

Bill
 
Haas TL-1. Any problems with this concerning modals and synchronization? I'm running M24 (no thread chamfer out) with a unique thread form

G76 X.987 Z-.7625 K.045 D.01 A59 F.0625 P2
M00 (Check Fit-)
G92 X.986 Z-.7625 F.0625
M00 (Check Fit)
/X.985
/M00 (Check Fit)
/X.984
/M00 (Check Fit)
/X.983
/M00 (Check Fit)
/X.982
/(wash rinse repeat)
/...
(Next op & tool)

Rather than use a whole lot of additional blocks, you can combine Armedsask's solution with the following method so as to cut down on code. It then becomes a Block Delete On or Off exercise depending on whether the thread fit is correct or not.

Regards,

Bill

G00 X1.100 Z0.150 (Threading tool X, Z start position)
G76 X.987 Z-.7625 K.045 D.01 A59 F.0625 P2
G00 X2.000 Z3.000
M00 (Check Fit)
/GOTO200 (or M99 P200) (Block Delete Off if thread fit is correct)
(SPRING CUT)
N100 G00 X1.1000 Z0.150 (Return tool to X, Z start position)
G92 X.987 Z-.7625 F.0625
G00 X2.000 Z3.000
M00 (Check Fit)
/GOTO100 (or M99 P100) (Block Delete Off to repeat spring cut after adjusting tool offset)
N200
---------
---------
etc
 
Currently I'm adjusting the G76 X value to fit my threads. Every part that I am doing fits one part, so the next part I run starts all over- it's a different size than the previous. Since these parts are one-off runs, my goal is to make the cycle operation as efficient as possible without editing. I know I'm going to forget to reset something sooner or later. : )
 
Currently I'm adjusting the G76 X value to fit my threads. Every part that I am doing fits one part, so the next part I run starts all over- it's a different size than the previous. Since these parts are one-off runs, my goal is to make the cycle operation as efficient as possible without editing. I know I'm going to forget to reset something sooner or later. : )
Cut your parts to a standard, measurable size. Never make a thread just to fit a mating part. It will bite you in the butt one day.
 
Cut your parts to a standard, measurable size. Never make a thread just to fit a mating part. It will bite you in the butt one day.
I was going to ask what kind of crap is this that a group of parts are all different sizes, in a thread? Never heard of such a thing in 30 years! And for the life of me, I can't envision a plausible scenario where it would occur. Threads are supposed to be made to a standard, and that "standard" calls for a certain clearance, unless your trying for some sort of oddball extra tight fit, which will invariably end up with somebody putting the wrong mating part on a thread, getting it stuck there "cause that damned machinist said they fit!", and yes, it WILL bite you in the ass.
 
Cut your parts to a standard, measurable size. Never make a thread just to fit a mating part. It will bite you in the butt one day.


I agree with that mentality- unfortunately this project requires the mating part to be re-machined before this op and only cut enough to achieve proper shape and position in order to preserve strength. My pitch diameter changes up to .025" on a 16tpi thread in some cases. Other features change as well part-to-part, so each program is unique anyways. I've actually started archiving my programs with the mating part's serial number in the even that it returns to the shop for rebuild.
 
G76 followed by G92:
Using G76 P2/P4 is the simplest, but one can also use G76 P1/P3 provided start Z of G92 is shifted by
a tan (half of tip angle)
where a = Depth of thread - First depth of cut - Finishing allowance/2

Though I have not tried it, but it should work.
 
I was going to ask what kind of crap is this that a group of parts are all different sizes, in a thread? Never heard of such a thing in 30 years! And for the life of me, I can't envision a plausible scenario where it would occur. Threads are supposed to be made to a standard, and that "standard" calls for a certain clearance, unless your trying for some sort of oddball extra tight fit, which will invariably end up with somebody putting the wrong mating part on a thread, getting it stuck there "cause that damned machinist said they fit!", and yes, it WILL bite you in the ass.

The work I am doing does indeed warrant it. My question pertains to coding to efficiently enable me to accommodate it. These mating parts are not intended to be interchangeable. I imagine my last statement will instigate a diatribe on the ideologies of Eli Whitney and modern industry, but it isn't necessary. My question isn't "if" I should do it, it's "how" I should do it.
 
While researching the best way to custom fit a thread, I found this thread. I realize it is old but I am needing to do the exact same thing as the OP. In fact, looking at his numbers, I think I am working on the same parts. I am using a Fanuc control though that uses a 2 line G76. From what I have read so far, I really don't think the G76 and G92 can be combined with my control.

Up to this point I have been using G76 with the X value set a little fat. After running the cycle, I'll test fit and adjust the X value smaller. Run again and adjust again and repeat until I get the fit I want. Watching the program cut air is getting old. I am thinking about switching to a G92 cycle and using block deletes on the beginning of the thread to limit the amount of time spent cutting air. Then only the few "custom fit" passes will cut air.

I am curious what the OP came up with now that it's a year and a half later and if there are any better solutions to this.

Edit: I have only used a G76 cycle so far. I only have manual lathe experience and have always infed at 30* so I assumed G76 was what I wanted because it allowed for that. I am guessing with the rigidity of a turning center, straight infeed will be fine on a 16tpi thread.
 
You could set up a second G76 with greatly modified depth setting for the first pass so that it gets right down to the final cutting passes very quickly.
 
That is right.
Just make sure that the position of the workpiece as well as the tool does not get disturbed in the second G76.
 
I have a pdf that explains really well how the P works in the single line G76 cycle but it is too big to load up on the site. Is this feature available in the 2 line G76 cycle? If yes, then what or how to make it work?



Brent
 
I have a pdf that explains really well how the P works in the single line G76 cycle but it is too big to load up on the site. Is this feature available in the 2 line G76 cycle? If yes, then what or how to make it work?



Brent

I'm really new to this but I do know the P values in the first line is as follows:

Digits 1 and 2: number of finishing cuts
Digits 3 and 4: amount of pullout (I've been using 00 for everything so far because I've been threading tight to a shoulder)
Digits 5 and 6: infeed angle 00 is straight radial infeed, 30 is 30* (I believe this is what you are asking)

But this does bring up another question I have since I have not used a G92 yet. How does the pullout work? You can adjust it with a G76. Is the G92 a straight pullout or does it taper out of the thread?
 








 
Back
Top