MarckyMON
Computer
- Nov 30, 2010
- 93
Hello,
I have come across the following situation where instance attributes are not updated when replacing a component. I'm using NX7.5.3.3 x64.
Suppose I have two assemblies, A and D. A is structured as follows:
A
-B
--C
(A is the root occurrence, B is a child of A, and C is a child of B).
D is structured as follows:
D
-E
--F
(D is the root occurrence, E is a child of D, and F is a child of E).
So far, so good. Now let's turn it up at notch: Since B is an instance, I can supply an instance attribute. Let's call this attribute INSTANCE_ATTRIBUTE and give it a value of B. In order to visualize this instance attribute, I clone (e.g. copy) the attribute as an occurrence attribute, so I can keep track of it in the Assembly Navigator Tree (ANT). To visualize:
A
-B [INSTANCE_ATTRIBUTE = B]
--C
Now I repeat the process for instance E in assembly D:
D
-E [INSTANCE_ATTRIBUTE = E]
--F
Now for the fun part. Interactively I replace B (in assembly A) with E using the replace component command. My new assembly looks like this:
A
-E [INSTANCE_ATTRIBUTE = B]
--F
It still has the instance attribute of B! This does make
sense (on how instances work in NX), but what is the purpose?
I initially tried a similar test, but instead of replacing B with E, I used a different assembly,
G
-H
but then replaced B with G. Since G is the root occurrence, it has no instance, therefore no instance attribute(s). I thought that NX retained the instance attribute of G because G (on its own) has no instance. But since E has an instance, I thought that it would keep the instance attribute of E, and not B!
Can someone explain this behavior? Is there a possibility (without a callback) / option to "force" the instance attribute of the replaced component (in this example, from E?)
Thank you for your time!
Marc
NX Software Developer
I have come across the following situation where instance attributes are not updated when replacing a component. I'm using NX7.5.3.3 x64.
Suppose I have two assemblies, A and D. A is structured as follows:
A
-B
--C
(A is the root occurrence, B is a child of A, and C is a child of B).
D is structured as follows:
D
-E
--F
(D is the root occurrence, E is a child of D, and F is a child of E).
So far, so good. Now let's turn it up at notch: Since B is an instance, I can supply an instance attribute. Let's call this attribute INSTANCE_ATTRIBUTE and give it a value of B. In order to visualize this instance attribute, I clone (e.g. copy) the attribute as an occurrence attribute, so I can keep track of it in the Assembly Navigator Tree (ANT). To visualize:
A
-B [INSTANCE_ATTRIBUTE = B]
--C
Now I repeat the process for instance E in assembly D:
D
-E [INSTANCE_ATTRIBUTE = E]
--F
Now for the fun part. Interactively I replace B (in assembly A) with E using the replace component command. My new assembly looks like this:
A
-E [INSTANCE_ATTRIBUTE = B]
--F
It still has the instance attribute of B! This does make
sense (on how instances work in NX), but what is the purpose?
I initially tried a similar test, but instead of replacing B with E, I used a different assembly,
G
-H
but then replaced B with G. Since G is the root occurrence, it has no instance, therefore no instance attribute(s). I thought that NX retained the instance attribute of G because G (on its own) has no instance. But since E has an instance, I thought that it would keep the instance attribute of E, and not B!
Can someone explain this behavior? Is there a possibility (without a callback) / option to "force" the instance attribute of the replaced component (in this example, from E?)
Thank you for your time!
Marc
NX Software Developer