Help with thread G Code
Help with thread G Code
(OP)
Hello,
I'm using NX CAM 7.5.1.5 and no matter what I try I can't get the thread cycle to run correctly.
I know I need to output a G99 code to cut thread on the lathe, but no matter what I've tried it keeps posting a G98.
I've tried changing the insert type, the cutting type, the thread type, the feedrates, just about everything I could think of on the UG pallet side of things.
On the post-processor side I've changed blocks of code, the best I could get it to do was to Output a G99 but in the wrong spot and the G98 was still present further in the post so it cancelled it out.
Any advice would be much appreciated. Thanks.
Has anyone else had this problem?
I'm using NX CAM 7.5.1.5 and no matter what I try I can't get the thread cycle to run correctly.
I know I need to output a G99 code to cut thread on the lathe, but no matter what I've tried it keeps posting a G98.
I've tried changing the insert type, the cutting type, the thread type, the feedrates, just about everything I could think of on the UG pallet side of things.
On the post-processor side I've changed blocks of code, the best I could get it to do was to Output a G99 but in the wrong spot and the G98 was still present further in the post so it cancelled it out.
Any advice would be much appreciated. Thanks.
Has anyone else had this problem?





RE: Help with thread G Code
Did you try setting your feeds as inches per rev?
I know it seems obvious, but, sometimes overlooked.
See attached picture.
J
NX 6.0.5.3
RE: Help with thread G Code
Yes, G99 is IPR feed.
I did try that,
I even went through and changed all the available cut modes to ipr.
Thanks for the help every suggestion brings me closer to the answer
RE: Help with thread G Code
RE: Help with thread G Code
I haven't tried there. I will check it out and see what I can come up with.
RE: Help with thread G Code
However, it cancels it out when it gets to the actual thread cutting and inputs G99.
I will keep playing with it.
Thanks again!!
RE: Help with thread G Code
RE: Help with thread G Code
RE: Help with thread G Code
RE: Help with thread G Code
RE: Help with thread G Code
I'm still working on it. I'm trying to get it to actually cut with a proper G76 cycle.
RE: Help with thread G Code
I think I'll start another thread to see how others have dealt with this.
Thanks again to all that helped
RE: Help with thread G Code
RE: Help with thread G Code
RE: Help with thread G Code
8 threads per inch, probable height of thread .060". With a full-form insert .
G99
G0 X2.56 Z.15
G76 P020060 Q20 R5
G76 X2.380 Z-x.xxx P600 Q120 F.125
First line of G76 the P is: 1st pair is number of free passes (a.k.a. spring passes) at final depth
2nd pair is number of "leads" to exit at the Z axis end of stroke ex. 32 means 3.2 turns of pullout, starts pulling X axis out at (.125 x 3.2=.4) from end Z position, offering a stronger thread. Good for high strength studs
3rd pair is the included angle of the thread, needed to work the insert in in the "compound angle"
the Q is: "clamp value", meaning the smallest increment the infeed goes to in the penultimate pass. Working in conjunction with the second line's Q value, this Q value helps determine the total number of strokes it will takes to complete the cycle. Bigger 1st Q, fewer strokes, smaller means more finite stepping down to size. Normally, I never have that R be larger than the Q.
The R is: final pass depth before the "free passes" of the first two digits of the 1st G76's P code.
The SECOND G76:
X is the final "root" or "minor" diameter of the thread
Z is your length from the Z zero point
P is the incremental ("on a side") height of the thread
Q is the incremental depth of the first pass
R is (optional) incremental taper of the thread. Use this when making a tapered (pipe) thread or for correcting slight tapers in a long, unsupported thread.
F is the feed rate for the pitch (lead) of the thread. Your 8 pitch example: 1 divided by 8 = .125
Thanks
RE: Help with thread G Code
RE: Help with thread G Code
I think I am either going to have to adjust the thread motion to use codes the machine will understand but that our CNC programmer doesn't typically use, or figure out some sort of MACRO for when it encounters a thread operation.
Thanks again I really appreciate all of your help.
RE: Help with thread G Code
John Joyce
N.C. Programming Supervisor
Barnes Aerospace, Windsor CT
NX6.0.5.3
RE: Help with thread G Code
Would you have an example handy of that User Defined Event? Also, would it be possible to write a macro that can capture that data from the CAM paths/pallet and output the cycle correctly?
Thanks,
--Buckshott00
RE: Help with thread G Code
John Joyce
N.C. Programming Supervisor
Barnes Aerospace, Windsor CT
NX6.0.5.3
RE: Help with thread G Code
It's not so much that I can't make the output I want with UDE it's that I want the CAM or the Postprocessor to do it correctly with a lot of input.
Plus it has to simulate correctly. When turning thread I have to show it turning correctly.
Thanks,
RE: Help with thread G Code
We also have to accuratey simulate all tool motion in the CAM system, and we cannot guarantee this if we are dependent on a external CNC controller. We have seen that so called standard cycles can have many variations even among the same controller model.
We are in fact working on the output of turning cycles, and will soon be able to output Siemens CYCLE95 for example. One of the most challenging requirements was accurate simulation. Our simulation has to have access to the routines that the controller uses to move the machine axes.
So although turning cycles may seem simple for a machinist to enter at the control, generating them from a CAM system is more complicated.
As the others have shown you, if you must have turning cycles, there are workarounds available today.
Mark Rief
Product Manager
Siemens PLM
RE: Help with thread G Code
Just about everything we do here is turning. Plus, all of it has threads. So we have to have thread turning cycles, and we have old machines too, so if we Single Line these programs they would swamp the memory of those older controllers.
I'm still looking for the best way to do a lot of thread turning in CAM with the simulation that won't swamp the Controller Memory.
Thanks again.