Cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted

"Pushing" interpart expressions?

Builder
Builder

I've read that it is posible to push interpart expressions from one part to another.  However, I haven't found how to do that. Could someone explain exactly how that's done? I know "pulling" is the recommend way, but there are a few use cases where pushing the data makes things easier.  Thanks for the help!

6 REPLIES 6

Re: "Pushing" interpart expressions?

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

If you have assembly "A" with component "C". Component has expression "Length"

In "A" you used to be able to create expression "C::Length = 1.234"

 

Note if you have multiple instances of "C" in "A", (IIRC) they ALL get updated to the same value.

 

With the new expression architecture in NX10/11/12, I am not sure this is fully supported.

If possible, I'd suggest trying deformable parts or assembly arrangements, to see if they will work instead.

Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP16/TC11.2
I'd rather be e-steamed than e-diseaseled


Re: "Pushing" interpart expressions?

Builder
Builder

@Ken_A wrote:

If you have assembly "A" with component "C". Component has expression "Length"

In "A" you used to be able to create expression "C::Length = 1.234"

 

Note if you have multiple instances of "C" in "A", (IIRC) they ALL get updated to the same value.

 

With the new expression architecture in NX10/11/12, I am not sure this is fully supported.

If possible, I'd suggest trying deformable parts or assembly arrangements, to see if they will work instead.


Ken, thanks for the reply.  In this thread (https://community.plm.automation.siemens.com/t5/NX-Design-Forum/NX10-Using-Expressions-in-Assemblies...) Talyor Anderson (NX Product Manager) indicated the pushing technique "should continue to work into the future".  However, I have not come across any recent examples that demonstrate how that is done.  The latest functionality appears to all be geared towards "pulling" IPE's.  Looking through the expression table it is not obvious where "C::Length = 1.234" would be entered.  I hope someone can point the way.

Re: "Pushing" interpart expressions?

Siemens Phenom Siemens Phenom
Siemens Phenom

@pmk3

It is actually pretty staight forward. For the name of the expression type comp_name::expression and then type the value you want to push into the value field. Look at the attached movie:

(view in My Videos)

Regards,
Abe

Re: "Pushing" interpart expressions?

Builder
Builder

That worked!  Thank you so much Abe!  You're right, it was pretty straightforward. For some reason I was thinking there was more to it.  This is going to simplify tremendously some design work I'm doing, where I'm using some common components in several different assemblies. The components need to be resized in each assembly, and I was looking for a way that wouldn't require creating duplicate components or having to relink the source everytime I switched assemblies. This appears to be it!  

 

I'm surprised this isn't documented more prominently in the help, given how useful it is.  I looked but never saw it mentioned.  Anyway, thanks again for help.  I expect your response will help many others.

Re: "Pushing" interpart expressions?

Experimenter
Experimenter

Hello and thank you. This works really good. But there is one restriction:

 

It does not work with parts that have a blank-sign inbetween a ID.

 

i.e. if I try to write 123 123::Length a Syntax-error will pop up.  With the old expressions it wasn't a problem, but a lot of our top-down Assemblies are now useless. Does anyone knows how to solve this issue?

 

Thank you and best regards

Re: "Pushing" interpart expressions?

Siemens Phenom Siemens Phenom
Siemens Phenom

Hi @Swisscan ,

 

Welcome to Community!

 

Just enclose part name having spaces with double quotes to avoid error. So your formula will become:

"123 123"::Length 

Regards,
Samadhan

GTAC | NX Help: NX1102 | NX1202 | NX1847
Please mark post as an "Accepted Solution", if it answers your question/is more helpful!