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 TugboatEng on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Linked geometry not working in other arrangements 1

Status
Not open for further replies.

MatthewDSavoy

Mechanical
Joined
Aug 12, 2014
Messages
3
Location
US
Hello,

I have a top level assembly which contains two sub-assemblies, a bracket and an encoder. The encoder consists of two components: a housing and a plunger that moves through a range relative to the housing. The part tree is shown below for reference.

TopLevel_Assy
- Bracket
- Encoder_Assy
- Plunger
- Housing​

I am trying to move the plunger of the encoder assembly in the context of the top level assembly based on the position of the bracket (i.e. when the bracket moves up, the plunger extends up to a maximum travel limit; when the bracket moves down, the plunger "retracts" into the housing up to a minimum travel limit). To do this, I made the encoder assembly the work part and used Wave Geometry Link to create a linked face of the bracket bottom surface. That linked face is coupled to the plunger position through expressions. User created expressions define the min and max plunger position which are 0mm and 40mm, respectively. Within an arrangement, I can move the bracket up/down in my top level assembly and have the plunger move through the appropriate range. However, when I add another arrangement and move the bracket in the new arrangement, the linked face position does not update from the original arrangement and the plunger does not move.

The CAD files (.prt) are attached as well as a picture showing the problem I am having. Any tips to resolve this problem would be greatly appreciated as I have multiple arrangements (8 currently) that affect where the plunger is positioned in the top level assembly.

If there is a better way to do this than Wave Geometry Link, I'm open to suggestions.

Thanks in advance.
 
 http://files.engineering.com/getfile.aspx?folder=a68c8d9c-315e-48ae-9619-6ffc645096da&file=Picture_of_Problem.PNG
OK, to start with, WAVE links are NOT Arrangement Specific so that approach will not get you anywhere. However, there is an alternate approach which might work for what you're doing. That is to control the position of the Plunger relative to the bracket by using assembly constraints and a Measurement to determine the position of the plunger and use some logic to decide what that position should be. This will work since Measurements ARE Arrangement specific. Now It's a bit complicated to explain, but we've put together an example Assembly using your parts. I created a TopLevel Assembly consisting of the Encoder assembly and the bracket. Note that there are two Arrangements controlling two different measurements. We've also added the logic so that in either situation, no matter where the bracket is moved to, the plunder can only extend between 0 mm and 40 mm.

To see this open the attached assemply. Note the behavior as you change arrangements or move the bracket. If you look at the expression editor in the comment column it will explain which expressions are relevant to which Arrangement.

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=1b5a9ddd-7841-4b63-905b-a0fd3de36c59&file=TopLevel_Assy.zip
John,

Thank you very much for the help. This approach solved my problem and did just what I was attempting to do. I was tired of duplicating top level assembly arrangements in lower level assemblies and have been working to understand how to control lower level components with arrangements only at the top level assembly. This seems to be a method I can employ to achieve that.

I just recently discovered "Override Position" of sub-assembly components within higher level assemblies. I noticed that when "Override Position" was enabled for a component that any constraints associated with the "override position" component showed up as an inherited constraint in the top level assembly. However, it did not appear that I could change the inherited constraint (i.e. make arrangement specific). That is until I found the "Copy to Override" option in the RMB drop down menu (BTW, this name should really be changed as it wasn't obvious to me where the inherited constraint was being copied to). For this problem in particular, performing "Copy to Override" on the distance constraint that controls the encoder plunger position relative to the housing created another distance constraint in the top level assembly that I could make arrangement-specific and apply different logic expressions for each arrangement to control the position of the plunger. Cool stuff.

Are there any caveats/pitfalls with using "Override Position" I should be cautious of? This seems like a very handy function and I'm excited to use it more in the future. I was able to break your example by toggling the arrangement-specific state on the distance constraint. When I set the constraint to arrangement specific again, a new parametric variable was created and the equations were not updated for the new parametric variable (equations still referenced old variable).

I also made an update to your file because if the bracket was driven down too far, the plunger would actually start moving up. This is because NX doesn't seem to consider the sign of a projected measurement. So, I changed the projected measurements to be from the bottom of the bracket to the bottom of the encoder housing (instead of the top). I applied another equation to update the sign of the measurement from the bracket to the top of the housing if the dimension from the bracket to the bottom of the housing was less than 177mm (the total length of the housing). This keeps the plunger at an extension of 0mm as the bracket keeps getting lowered beyond the lower travel limit of the plunger. It is attached for reference.

Thanks again for the help. It is greatly appreciated as I struggled for days trying to make this work.

 
 http://files.engineering.com/getfile.aspx?folder=c4c7fd72-4ec6-456f-9960-547aecf4e860&file=Encoder_PlungerMotionNHA.zip
Yes, you have to be careful that properly planning is done and then create the various constraints and expressions in a specific order. And it is tricky if you go back and mess with those relationships later. Everything should work as you need it to, as long as you're careful and keep it simple.

And yes, we agree that some of the terminology needs work as it's not always clear what a function/option will do or what the effect will be. This has been discussed and recommendations are going to be made as to how this could be made more clear.

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.
 
Matthew,

One thing that may prove useful when using position overrides is to display the Assembly Navigator column "Position Control". It will help clarify where the override is defined. (The "Position" column will indicate that there is an override but the "Position Control" is needed to determine where the override is.)

HTH,

Joe
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top