Expressions with Thread Length
Expressions with Thread Length
(OP)
I am using NX Native 7.5.5.4. I have drafted up a simple threaded rod using NX Expressions to define the inner diameter, outer diameter, length and threads (pitch, minor, major, length). When the length of the tube is updated, the thread length will not update. Upon updating the length expression, the formula or variable fo the "p8 (Threads(3) Length)" goes to a numeric value rather than sticking with the formula. Any guess as to why or how to fix it?
Thank you.
Thank you.





RE: Expressions with Thread Length
John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
Siemens PLM:
UG/NX Museum:
To an Engineer, the glass is twice as big as it needs to be.
RE: Expressions with Thread Length
I have tried this by myself and it works. First, I have set only the following thread variables: Thread Length, Thread Pitch, Thread Major Diameter and Thread Minor Diameter. And it didn't work. The reason it didn't work is, that the Thread Shaft Size has not been changed. It stayed with the old dimension. So, when I set the Thread ShaftSize variable, it worked.
So, could it be, that you have forgot to set the ThreadShaft Size, too?
RE: Expressions with Thread Length
Even with all the specification, I get what you see here.
RE: Expressions with Thread Length
The situation is that the 'thread' feature cannot be longer than the face itself and stay parametric. So you have to sort of sneak-up on the final result. In this case I made the original extrusion longer by the '2*Pitch' amount, define the thread and THEN move the face of the extrude BACK the '2*Pitch' amount and you're home free.
John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
Siemens PLM:
UG/NX Museum:
To an Engineer, the glass is twice as big as it needs to be.
RE: Expressions with Thread Length
If you check your Expressions, you will see the following:
1. p8(Threads(4)Length) is set to 3.03in. There is no formula. So this length is constant and will always be the same, no matter what your Threaded_Length will calculate.
2. Set the formula like this: p8=Threaded_Length. Now, whenever you change the length of the Rod, the Threaded_Length will change and also the p8 variable will change.
And as JohnRBarker already said, consider changing the Threded_Length formula. According to this formula, the length of the thread will always be greater than the length of the rod.
And also another suggestion. You have set the Expressions ID, Length, Major, Minor, Pitch and Trheaded_Length. Why? If I look the use of those expressions, I see the following:
p0=ID
p1=Major
p3=Length
p5=Minor
Threaded_Length=Length+2*Pitch.
For the software, it is just more time consuming to set those variables and then calculate the expressions. Maybe it would be better, if you just change the names of the expressions instead of creating those variables:
p0 would be renamed to ID
p1 would be renamed to Major
p5 would be renamed to Minor
p3 would be renamed to Length
p7 would be renamed to Pitch
p8 would be renamed to Threaded_Length and would have the formula Length*Pitch.
Writing the expressions so, you will have less expression/variables. And NX should calcualte all the formulas faster and you can still use those expressions in any other formulas.
I have also attached the image, indicating the problem.
RE: Expressions with Thread Length
BTW, it appears that this problem may be at least less of an issue in NX 8.5. I changed the 'Threaded_Length' expression to read 'Length+Pitch' and it works without having to add the 'Move Face' feature, at least in NX 8.5.
John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
Siemens PLM:
UG/NX Museum:
To an Engineer, the glass is twice as big as it needs to be.
RE: Expressions with Thread Length
So, my mistake, sorry.
RE: Expressions with Thread Length
RE: Expressions with Thread Length
The original model also works for me if p8 is set to "Length+(2*pitch)". I also went back and set p8=Threaded_Length, and the model updates without any issues for me. I tried setting the Length parameter to several different values and the model updates fully without any loss of parameters for the thread length.
NX7.5.3.3
RE: Expressions with Thread Length
John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
Siemens PLM:
UG/NX Museum:
To an Engineer, the glass is twice as big as it needs to be.
RE: Expressions with Thread Length
I will test now, with which qrm it is still working. Maybe there is also maintenance pack for 7.5.5.4, that fixes this problem already.
RE: Expressions with Thread Length
I have done the test with 7.5 and several qrms and mps. Well, qrm7.5.3 is the last one, where this thread_length works with no problem. QRM7.5.4 and later (and any maintenance pack for those qrms) will not fix this problem. I have also checked in NX8 and NX8.5, but it was not better. As soon as the length is changed, the thread_length formula is replaced by its actual value.
And I have already reported this to GTAC.