Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations LittleInch on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Expressions with Thread Length 1

Status
Not open for further replies.

eskemojoe007

Structural
Joined
Jul 22, 2013
Messages
2
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.
 
Can you provide an sample part, saved in a state before you performed the edit and the update?

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.
 
As JohnRBaker already said, can you provide a sample part, please.
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?
 
OK, see the attached model. I think it'll work the way you want it to.

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.
 
 http://files.engineering.com/getfile.aspx?folder=9bfc14f7-d594-4737-93f9-5d55a3f9a38c&file=Threaded_Tube2-JRB-1.prt
As I suspected in my first answer, the problem is in threads_length expression. You have defined the variable Threaded_Length, but you didn't connected to the actual length of the thread.
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.
 
 http://files.engineering.com/getfile.aspx?folder=a28558e9-5516-4e14-af3c-e831c09161a4&file=Threaded_Length.png
SvenBom, I suspect that eskemojoe007 posted a model that he had already updated and thus the expression controlling the thread length had already 'reset' to its numerical value. I say this because that is exactly what happened to me when I set 'p8' equal to 'Threaded_Length'. However, the model I posted has addressed the issue. Actually the attached model works better than the first one I posted.

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.
 
 http://files.engineering.com/getfile.aspx?folder=f9a7195f-0385-4460-b756-8168661cd112&file=Threaded_Tube2-JRB-2.prt
JohnRBarker, you are wright. I have read the first post more carefully again. And now I see, that eskemojoe007 has clearly wrote, that the formula gets changed to its numeric value. And I have the same problem as soon as the thread_length is bigger then the length. If p8 is equal to length, it is OK and if it is equal to anything greate then length, it is not OK.
So, my mistake, sorry.
 
Maybe I'm missing something here.

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
 
Yes, that could have been your problem all along, the order in which math operators are performed. Generally speaking, it is better to use parentheses to force the explicit order in which math operators are executed.

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.
 
It is the QRM/service pack issue. I have just installed NX7.5 without any qrm or maintenance pack. I have opened the original file, provided by eskemojoe007 and it works. The p8=Threaded_Length all the time. The formula stays after any change of the Length. And I have left the Threaded_Length expression as it is. Without parentheses.
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.
 
OK, just for the info.
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.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top