Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

NX WAVE links behaviour 3

Status
Not open for further replies.

Lockdain

Mechanical
Jun 24, 2016
108
0
0
RU
Hello!

First of all: I'm not familiar to the NX licensing, so excuse me.
Our company have bought two NX9 licenses which are not support advanced WAVE. It means that these licenses aren't support WAVE-mode in the Assembly Navigator (and some other features too). I previously used this mode to create WAVE-links without adding parts to the assembly structure.
My job mates want to create a single WAVE-link to another part. They add a part to the assembly structure, make a WAVE-link to the desired part and then it's neccessary to delete a source part from the assembly. WAVE-link becomes dead after deleting and i'm trying to find a way to keep it alive when source part is deleted from the assembly. Are there any ways to obtain a WAVE-link after source part is deleted from assembly?

 
Replies continue below

Recommended for you

Lockdain --

As long as the source part is open in the same NX session (even without a common parent assembly) then the WAVE link should resolve just fine. Without the parent loaded, then the link certainly cannot resolve.

Does that help?

Taylor Anderson
NX Product Manager, Knowledge Reuse and NX Design
Product Engineering Software
Siemens Product Lifecycle Management Software Inc.
(Phoenix, Arizona)
 
If I understand correctly after you have performed the wave-link operation you are removing/deleting the assembled 'parent component' from the assembly structure.
Then the wave-linked instance becomes un-associative.
This is correct though. You MUST keep the assembled 'parent component' in the model so if you make future changes to the 'parent component' then the wave-linked instance will update.
Otherwise you have just got a dumb solid.

Instead what you need to do is suppress/hide the original 'parent component' so that you can't see it.
There are three places to hide it which each giving different results depending upon what you are trying to achieve.
There are scenarios when you might just want to do 1 or 2 of these steps.
For instance with an over-moulding then you wouldn't do any of this and you can leave the 'parent component' in.

1) Remove from "Reference Sets"
Why: This is so that you don't see the 'parent component' (only the wave-linked instance) when you assemble your model into a subsequent assembly. (i.e. if you are creating two different component variants with some similar topology, like a left-hand and right-hand variant)
How: Open "Reference Sets" (from Menu -> Format). Select the Solid Model reference set (and others if you need to). Deselect the relevant 'parent component' (be careful not to select the wave-linked instance). I hold down <control> and click in the "Assembly Navigator" to do this.

2) Make not visible
Why: So the 'parent component' is not in the way while your working on the wave-linked instance.
How: Right click on the 'parent component' in assembly navigator -> "Replace Reference Set" -> "Empty". (You could also just hide it or put on a layer but this method is neater and easier to find at a later date)

3) Make 'parent component' reference only
Why: So that the 'parent component' is not included in your BOM ("Structure Manager" in Teamcenter). Also this ignores the material of the 'parent component'. If you do any calculations of assembly weight/volume you don't want it included twice.
How: Right click on the 'parent component' in "Assembly Navigator" -> "Properties" -> "Assembly" tab -> Tick "Component is Reference Only"

Hopefully this is helpful and I've understood your query!
Jon



Jon S

Medical Design Engineer
Wotton-Under-Edge, UK
NX 10.0.2 / Teamcenter 10
 
@JonSelby

Great thanks for such a nice explanation, but I think this problem lies a bit deeper.

@TaylorAnderson

Yes, I guess you caught my issue the right way, I've just tested it once again, what i've done:​
1. Create 1.prt and create a block;
2. Create 2.prt and create a cone;
3. Add 1.prt to the 2.prt (so 2.prt becomes an assembly);
4. While main assembly (2.prt) is a work part, create a WAVE-link to the block from 1.prt;
5. Delete 1.prt from the 2.prt structure;
6. 1.prt remains loaded in the current session;
7. WAVE-link becomes broken, despite the fact that 1.prt is fully loaded in this session;

What am I doing wrong? Could it be a licensing issue (my current license hasn't advanced assemblies - so i'm not able to use the WAVE-mode in the Assembly Navigator and create linked parts using it).

 
So, there's an important principle to understand here.

In the WAVE Link creation dialog, there's an option to either "Make Position Independent", or not:

URL]


Removing the source for a WAVE link that is Position Dependent will in fact create the "automatically broken" behavior you describe. Why? Because without the common assembly context -- which carries the relative position of the source and target components -- the feature can't resolve the position of the linked geometry any more.

And so in a context like this:

URL]


..with a Position Dependent WAVE link in the target part, removing the source component will indeed give you an alert:

URL]


...and automatically break the WAVE link:

URL]

[No source part in the assembly, and the link is automatically broken.]

Now of course, the linked geometry is not completely "dumb" at this point. The Linked Body feature is still there, albeit in a broken state, and that feature can be edited and relinked or reparented to any new body in the future. So that's a lot more useful than a "dumb" Unparameterized Body.

BUT (...and you'll see where this is going...) if the WAVE link was created as a Position Independent link, then even without the common assembly context, NX can quite easily still link the geometry. The position of that linked geometry will be less constrained, so you'll likely need to do some additional positioning with this method, but in the end, removing the source component will leave the WAVE link completely intact and still referencing the source component -- even though it is no longer in the assembly:

URL]

[No source part in the assembly, but the link is still live.]

Now of course, for the target part to pick up any geometric changes in the source part, both will need to be opened in a common NX session, but they need not reside in the same assembly permanently.

Does that make sense?


Taylor Anderson
NX Product Manager, Knowledge Reuse and NX Design
Product Engineering Software
Siemens Product Lifecycle Management Software Inc.
(Phoenix, Arizona)
 
No shame at all in asking. Glad to have you. :-D

Taylor Anderson
NX Product Manager, Knowledge Reuse and NX Design
Product Engineering Software
Siemens Product Lifecycle Management Software Inc.
(Phoenix, Arizona)
 
You need to have a WAVE license. You can create WAVE links with just an assemblies license, but WAVE is an additional license which allows Position Idependent Links among other things.
If you check your license log, you will see NX trying to call the WAVE function and failing when you create a WAVE link, but it will still work as it will then use ASSEMBLIES.


Anthony Galante
Senior Support Engineer


NX3 to NX10 with almost every MR (29versions)
 
Dear All!

I apologize for my silly questions, but I need a hint once again.
Today I've found a part, which has a linked body within. It's not a PILO, but position dependent object which is referenced to a part i don't have.
The main issue is that WAVE-copy remains active (not broken) despite the fact, that it is position dependent and parent part is not loaded and not included in the assembly. This WAVE-link should be broken due to this logic. There are some pics:
WAVE_kfa0yi.jpg


 
Check your assembly load options; there is a "load interpart data" option in the "scope" section of the dialog. If this option is turned on and the link parent can be found with the defined load options, the link will stay unbroken.

www.nxjournaling.com
 
@Lockdain

In my experience with WAVE Linking, the best way for the link to be unbroken is to create a link like so.

Let's say you want Part A to be linked to Part B. Create an assembly, lets call it Assembly C and assemble Part A and a blank Part B file into the assembly. Since you do not have the WAVE license leave the position dependent. Create the WAVE link within the assembly linking Part A's geometry into Part B. Save Part B once the link is generated but do not save the assembly (you can if you like but it is not necessary). Close everything out and you will see that the link will remain unbroken between Part A and B. If you make a change to Part A, Part B will update so long as Part A is open in an active window. If you open Part B and the part is not updated, it will update as soon as you load Part A into an active session.

The reason the link remained unbroken in your instance is because the WAVE link was created this way. Any changes to that part will not update in the WAVE link because you cannot load the part since it has never existed on your machine.

I hope this helps. I am just learning this as well and tested my theory and it seemed to work for me.

Jarrett
 
Status
Not open for further replies.
Back
Top