Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Mirror part in NX5? 2

Status
Not open for further replies.

RobLN

Mechanical
Oct 29, 2003
152
I'm wondering what the best process is to produce an associative mirror copy of a part with NX5.

I'm starting off with the right hand version and want a left one (with 2D drawings for both hands). Trouble is when you do a 'mirror body' command there is no way of turning the original one off. (As in I-Deas where you'd toggle keep one / both)

Please advise the correct way to mirror the part so that I can have one 'RHS master' which updates the LHS part and both associated 2D drawings.

Thanks.
 
Replies continue below

Recommended for you

I'm a newbie myself, so take my advice with a grain of salt. But, as far as I understand, the "proper" way to do this is using Part Families. You have to create a "template" part that has the mirror body feature and both bodies in the part. Then, under Tools -> Part Families, you set up the part family. You have to add the proper Mirror columns to the Excel sheet, designate which parts will have the Mirror Body feature and which not, then in the Add-In select "Create Parts". which will then create a read-only, left and right-hand version. To edit either part, you need to edit the template part.

My biggest beef with this is that is seems pretty complicated doing this with a TeamCenter Integration. Our part numbering system is such that we can pull this off with L/R sub-assemblies, but not for individual piece parts. If anyone could pipe up and let me know how to do this, that'd be fantastic.

What's weird, is somehow NX is performing a "delete body" style command in the background, so why not just provide this functionality via a feature.

I guess this boils down to how certain CAD programs handle configurations/part families/whatever you want to call it. Any more information on the best practices for doing this in NX would be helpful.
 
If you wish to keep the two part associative and yet have each model have it's own part file, your only real solution is to use WAVE linking.

Once you've completed your Right-Hand Part, create an Assembly file and add the Right-Hand Part as a Component. Now create a second Component in the context of the assembly using...

Assemblies -> Components -> Create New...

...and when it asks you to "Select objects to move or copy into the new component" do NOT make any selections but rather just hit OK and then assign the name that you wish to give the Left-Hand Part.

Now, while still in the Assembly file, make the new Component you have just added the Work Part. Now go to...

Insert -> Associative Copy -> WAVE Geometry Linker...

...and with the 'Type' set to 'Mirror Body', select the Right-Hand model and an appropriate Datum Plane (if you don't already have a Datum Plane in the Right-Hand Part you may wish to add one to the current Work Part as you will need one somewhere to complete the operation) and hit OK. Note that if you wish for ALL changes made to the Right-Hand Part, including any new features which might be added to it, to be copied over to the Left-Hand Part make sure that under the 'Settings' section of the WAVE dialog that the 'Fix at Current Timestamp' option is toggled OFF.

Now save the all the models and you set to go, at least as far as the models are concerned. Note that the Assembly that you created in order to perform the WAVE Linked copy operation, well that Assembly does not technically need to be kept since it had basically done its job, but you may wish to keep it since it does provide you with a better record of what you did even if it no longer plays a role in keeping the Left-Hand Part up-to-date with the Right-Hand Part.

Now as for your Drawings. If you are NOT using the Master Model approach, that is you created your drawing inside the Right-Hand Part and NOT as a separate Assembly file referencing the Right-Hand part file, you're are basically forced to start over and create from scratch a Drawing of the Left-Hand Part inside its Part file. However, if you HAD used the Master Model approach, while you will still need to do some additional work, it's not quite as bad. First open the original Drawing file for the Right-Hand Part, switch to Modeling and go to the Assembly Navigator and select the Component for the Right-Hand Part and press MB3 and select the 'Substitute' option. When it asks for the part file select your newly created Left-Hand Part file and accept all of the default options presented and and once the component has been replaces go the Drafting and display the Drawing. Now you will probably have to move the views around to get them to line up as you would like them and you will need to re-associate your dimensions which can be done by selecting a misplaced Dimension, pressing MB3 and selecting the 'Edit Associativity' option and then it will lead you through the steps needed to reattach the dimensions to the new edges and corners and such.

Anyway, that is the best approach which meets all of your criteria.

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

To an Engineer, the glass is twice as big as it needs to be.
 
John,

Everything you mentioned worked great except for the getting rid of the assembly part

It appears that the mirror part is taking its position information from the assembly, so it is referencing the assembly.

In Teamcenter, I created a "dummy" item, SAT080511-500-TEMPLATE. I inserted the LH-version, SAT080511-005-PLATE, performed the actions you suggested. The RH-version is SAT080511-006-PLATE.

I then go to delete the dataset for SAT080511-500-TEMPLATE. No problem. Then I try to delete the item, and get the follwoing error:

Failed on Object SAT080511-500-TEMPLATE (ImanItemP)
Referenced by SAT080511-006-01 (SAT Revision) IMAN_UG_wave_position

If go to Information in the Linked Mirror Body of SAT080511-006-PLATE, I see the following:

Defined by body in part : SAT080511-005/01-PLATE PLATE
Defined by mirror plane in part : SAT080511-006/01-SAT080511-006 SAT080511-006
Position determined by assembly : SAT080511-500/01-TEMPLATE TEMPLATE (Fully Loaded)
Position based upon arrangement : Arrangement 1
Link Status : Up to Date

So, it looks like the reason I can't delete the assembly is because the mirror part is referencing it. Is it because I used constraints to position the parent part? Should I just delete all constraints and leave the parent part "floating"?
 
This is a common dilemma for many new to using wave linked geometry. It works in the context of an assembly and will work pretty much regardless of the relative positions of any two parts in any assembly structure. Some people don't have large and complex assemblies so it isn't very necessary for them to think about how to structure things to support wave links. Others do and because different users will model differently they like to have standards placing the wave linked geometry under the part where the link resides at all times. Even this seemingly simple solution provides challenges for some in terms of how they structure parts lists and bills of material or manage their JT viewer data.

What I prefer to do is to work in absolute insofar as it is possible. It means that I can add or remove a component reliably from an assembly without becoming concerned for whether the linked bodies will be affected badly as a result. You can't always do that, but you should consider establishing ways of working that are both reliable and flexible enough to meet your needs.

If you want to take things out of assemblies then you will break the links. Broken links can easily be rebuilt by editing their parameters and reselecting the inputs used.

Most of the time if you mirror geometry it may be handy to supply a mirror plane in the part with the linked body in it. Surprisingly this isn't the only method, and on occasion you'll find mirror planes inadvertently deleted from unrelated parts or assemblies causing users great inconvenience.

There are also a range of settings influencing how and when links are automatically updated. Out of the box automatic updating is activated, meaning you'll have to turn it off selectively if you use lots of wave linking in large assemblies and don't want the updating and checking processes to slow your workflow too much.

One way that I employ is to load wave linked bodies below the part where the link occurs, create the desired links and then suppress the component that I used. This temporarily shows a broken link until the suppression is reversed. It may get very manual to have to unsuppress a lot of components to update but this depends largely on the nature of your design so you may choose to use different techniques at different stages in developing your models.

Best Regards

Hudson

www.jamb.com.au

Nil Desperandum illegitimi non carborundum
 
Thanks John & Hudson for your replies. I have not had a chance to try out the procedures you listed yet, but I will try the menthods you suggest and see how I get on.
 
I have tried out making a mirrored associative copy and the process works fine with good results - just need to remember to add any text on after :)

I'm not so sure about getting rid of the assembly file used to set up the wave link. I did delete it and the new LHS part seems to remain stable and linked to the RHS part but I get the folowing error message every time I open the new LHS prt file:

assembly_mirror_file.prt - failed to find file / part left unloaded.

So it doesn't load (hey - it's been delted!) but linked LHS part still works OK.

If there is a way to prevent the error message popping up that would be good. I'm not too bothered about the assembly file now.
 
As Hudson explained, if there was nothing referenced in the Assembly other than the Component that you created the WAVE linked body from, and that you are working in absolute space, you should be OK. What this means is that when you create the temporary Assembly and you add the original Component do not 'mate' it to ANYTHING. Also, in the case of the Mirror Body, do not create the reference Datum Plane in the Assembly file, but rather create it in either the original Component or the new Component. Also when you add the second empty Component to the Assembly, again, don't 'mate' it to anything. Also once the WAVE linked body has been created don't go back and do any Mating/Constraining. Technically the Component Part files do not know anything about the Assembly. In the world Assemblies, 'parents' know their 'children', but the 'children' do not know their 'parents', the only exception is that it is true that the WAVE linked body itself is using the assembly for it position, but in most cases this can be ignored and if you don't load the assembly it has no negative impact on the integrity of the model or any assembly where this part is added as a Component.

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

To an Engineer, the glass is twice as big as it needs to be.
 
I tried to make sure there were no constraints on either component. But it still says its positioning is defined by the dummy assembly, and I cannot delete the item from Teamcenter (stating that it's being referenced). We simply cannot have dummy or junk parts with non-valid part numbers in the vault just for this purpose. Any other ideas as to why it still has the reference to the dummy assembly even though there are no constraints?

I tried this:

In the LH version part, I go into assembly mode, add component, then perform the commands outlined.See screen shots below.


I'm wondering what adverse effects this method would have. The first thing I notice is that the original LH part now has a product structure. Is this going to mess things up in assemblies? Will QTY 2 of the RH part show up when I place one LH and one RH part in an assembly? Is suppressing the component like I did in the 3rd screen shot the way to go?
 
The mirror process works very well in 3D mode. I can't seem to make a 2D drawing of the new Wave linked body. When I start a new drawing file and reference the part I created within the assembly there is no geometry and the laid down views are blank. Any ideas what's going on. How do I get a 2D drawing of the wave linked mirror body?
 
Ah, yes that fixed it I'm seeing the geeometry now, needed to swicth to entire model option. Thanks very much John.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor