Conditional Expressions and Part Families in NX7.5
Conditional Expressions and Part Families in NX7.5
(OP)
Hi,
New to this forum, please be patient with me.
I did use search before asking, found some help but ended up with more questions.
As NX7.5 does not have 'Extended Text Editor' this problem and assumed solution might get workaround later when company I work for will update to NX8,
but at the moment I'm stuck with this one.
I'm creating a family part (medium complex I would say), and would like to have as less chosen variables into family members as possible.
Now I've sketched with Expressions and tried to keep expression count as low as possible but there are still some expression values that are logical and thus avoidable in part families.
Main driving dimension is Part OD.
To clarify situation, this is what I were able to do (mostly thanks to this forum!):
So, I have i.e. o-ring groove that all it's dimensions can be calculated from o-ring d2 and part OD, with three o-ring_d2 variables based on part OD.
I can put up a logic conditional expression for o-ring groove width as so:
IF(Gland_o_ring_d2=2.62)(3.6)ELSE(IF(Gland_o_ring_d2=3.53)(4.8)ELSE(7.1))
But, coming into my problem, How do I get this done:
When OD=30 then id=26
When OD=40 then id=30
When OD=50 then id=25 OR 35
When OD=60 then id=40
When OD=80 then id=40 OR 50
When OD=100 then id=50 OR 60
...and so on.
In other words, the driving dimension OD can narrow down the id variables to one OR two
Is it possible to do somehow with conditionals or in part families?
Part families is also yet to study properly so it might be the answer...
Thank You for Your help!
New to this forum, please be patient with me.
I did use search before asking, found some help but ended up with more questions.
As NX7.5 does not have 'Extended Text Editor' this problem and assumed solution might get workaround later when company I work for will update to NX8,
but at the moment I'm stuck with this one.
I'm creating a family part (medium complex I would say), and would like to have as less chosen variables into family members as possible.
Now I've sketched with Expressions and tried to keep expression count as low as possible but there are still some expression values that are logical and thus avoidable in part families.
Main driving dimension is Part OD.
To clarify situation, this is what I were able to do (mostly thanks to this forum!):
So, I have i.e. o-ring groove that all it's dimensions can be calculated from o-ring d2 and part OD, with three o-ring_d2 variables based on part OD.
I can put up a logic conditional expression for o-ring groove width as so:
IF(Gland_o_ring_d2=2.62)(3.6)ELSE(IF(Gland_o_ring_d2=3.53)(4.8)ELSE(7.1))
But, coming into my problem, How do I get this done:
When OD=30 then id=26
When OD=40 then id=30
When OD=50 then id=25 OR 35
When OD=60 then id=40
When OD=80 then id=40 OR 50
When OD=100 then id=50 OR 60
...and so on.
In other words, the driving dimension OD can narrow down the id variables to one OR two
Is it possible to do somehow with conditionals or in part families?
Part families is also yet to study properly so it might be the answer...
Thank You for Your help!





RE: Conditional Expressions and Part Families in NX7.5
BTW, starting with NX 8.0 it will be possible to replace your multiple 'IF' statements with something called a 'LIST' statement, which is a sort of 'flat' database, along with an 'nth' statement, which allows you to extract the appropriate value from a 'LIST'.
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: Conditional Expressions and Part Families in NX7.5
I was trying to find the "LIST" statement in the docs but was unable find it. Is it under expressions or something else, or could you provide an example? Conditionals can be a pickle some times and this sounds interesting.
RE: Conditional Expressions and Part Families in NX7.5
So to see how this mode behaves, after Opening the part file, go to...
File -> Properties -> Attributes
...scroll down to the attribute 'category' labeled 'User_Entry' and there you can select the 'Handwheel_Size' that you want (this shows how you can now have a pre-defined set of values for an Attribute) as well as whether to include a 'Handle' or not (this shows the use of a Boolean Attribute which can be either 'True' or 'False'). Once you've made your selecions, just hit the OK button and the Handwheel will update to the one that you specified.
Now if you open the expression editor you can see how I passed the Attribute values for the Size and whether there was a Handle or not to the expressions and how I then used the 'Size' to find which sets of data I needed to read from the various 'lists' using the 'nth' function. Note that I imbedded my 'lists' inside the 'nth' expressions but they could just as easily have been separate 'list' expressions simply referenced inside the 'nth' expressions.
Anyway, I hope this helps you see how you can use these new capabilities to imbed data sets inside your part using 'list' expressions and then reading the relevant values from this 'data-base' using the 'nth' function.
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.