Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Deformable part in a comonent array - is it possible to deform all?

Status
Not open for further replies.

lorenolepi

Aerospace
Jan 22, 2009
118
Is there a way to add a deformable part to an assembly and create a commponent array and have all of the parts be deformed without having to deform them individually?
Example.... A ring with a 100 holes equally spaced with a rivet in each that gets smashed in? I would like to insert the first rivet --> deform it and then have a component array with the other 99 deformed as well.
 
Replies continue below

Recommended for you

eex23
The discussion in your link to a thread is basically saying if you do it right it will work fine.
I will research the original question of this thread.
 
I have been successful with Deform parts... even using multiple deforms in arrangments with NX 7.5. So its understandable if you can't set the deform for all instances at once (because you can have multiple deforms with diffents values in the same assembly)... it would be nice if there was an option so that if the component array template part was a deformable part it would ask or have a toggle to promote the deform through all components.
 
There's NO problem using Deformable Components as long as you undertand and accept the fact that they only represent a SINGLE manifestation of that component. In fact, that's one of it's virtues since that one component can be modified (deformed) so as to appear differently than another copy of that same exact component yet NOT mess up the count for things like Parts Lists or BOM's.

And as for the so-called 'weird' way that they are implemented, we use what's more commonly called a 'Promotion' to get the unique body which replaces the original component with the deformed one. We use the same approach with the 'Assembly Cut' since again, the Promoted body is used as a replacement for the Component which needs to be shown in some modified state, in the case of the Deformable Component with some parametric aspect of the model modified or in the case of the Assembly Cut, which a Boolean subtract operation having been performed on it to shown the desired configuration such as a manufacturing operation, such as drilling a hole at the assembly level but that you don't want to see at the detailed piece-part level. Promotions are ideal for this sort of operation where an actually modifiable body is needed which replaces a component and you do not want to mess up the assembly structure by introducing 'special' components which would have to be accounted for downstream. This is why what you're actually seeing on the screen does not always behave like a regular component because it is not.

Note that while there are things that one must be aware of and be careful when using them, users have been using Deformable Components for many years and it has helped many people configure their assemblies as they needed them to be without resorting to even more complex and error-prone kludges which were tried before Deformable Components were introduced into UG/NX.

John R. Baker, P.E.
Product 'Evangelist'
Product Design Solutions
Siemens PLM Software Inc.
Industry Sector
Cypress, CA

To an Engineer, the glass is twice as big as it needs to be.
 
So John, any response to the original question about the component array? Should we be using the promote body-->modify it to be the deformed part and then instance it instead of adding the deform part? Will it still show up a quanity of 100 in te assy nav/parts list?
 
You can 'Array' the original Component, but the copies will NOT be deformed nor will they update if the original Deformable Component is modified (made 'more' deformed). However, there is nothing preventing you from deforming each individual component in the array since all of the copies ARE still 'deformable', it's just that there's no single command which will convert all of them at once nor link them to the original. Of course, if you do manually deform each member of the array and you wish them to have the same 'deformation' once set as 'deformed', you could go into the Expression dialog and set the deform Expressions (if the deformation was based on an Expression) for each deformed Component equal to whatever is the driving Expression and then they will all update AS IF the array were made of copies of the actual deformed component.

Now if you try to make copies, using something like 'Instance Geometry', of the promoted bodies, while you might end up with an 'assembly' which 'looks' right, those copied 'bodies' will NOT be recognized as Components as far as the Assembly is concern nor will be included in the Parts List or the Assembly Navigator.

So if it's critical that you have an array of actual Components, which will all deform in sync, then you have to go the route I decribed in the 1st paragraph above. Now if you don't really care whether the part count in the assembly is correct or not, but you want to get something which looks like an assembly and updates in unison and it easy to create and edit (change the number of members in the 'array'), than do what I described in the 2nd paragraph.

John R. Baker, P.E.
Product 'Evangelist'
Product Design Solutions
Siemens PLM Software Inc.
Industry Sector
Cypress, CA

To an Engineer, the glass is twice as big as it needs to be.
 
Another option is to use a 'deformed' model in the original part file and use that reference set in your assembly and array.

It all depends on what level of automation, commonality and reporting you want.


"Wildfires are dangerous, hard to control, and economically catastrophic."

Ben Loosli
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor