×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

Expressions with Thread Length

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.

RE: Expressions with Thread Length

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.

RE: Expressions with Thread Length

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?

RE: Expressions with Thread Length

(OP)
I think I linked down below.

Even with all the specification, I get what you see here.

RE: Expressions with Thread Length

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.

RE: Expressions with Thread Length

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.

RE: Expressions with Thread Length

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.

RE: Expressions with Thread Length

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.

RE: Expressions with Thread Length

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

RE: Expressions with Thread Length

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.

RE: Expressions with Thread Length

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.

RE: Expressions with Thread Length

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.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources