I'm asked to author a Custom Tool - prepared for to be used in NX environment….
In a NX assembly containing some components, an user Attribute on each component is required…
Later on - from another Custom Tool the same assembly shall be cycled through, and for each component, that contains the specific user attribute,
some actions have to be performed…
All this I do have control about….
My question is.
When a attribute shall be assigned on a component in a assembly context: What is the difference, in assigning the attribute to: Component level versus Instance level..?
Using the car assembly, a component attribute would be the same for all four wheels, whereas an instance attribute would be specific to one of the four wheels.
Production: NX10.0.3, VERICUT 8.2, FBM, MRL 3.1.7 | TcUA 10.1 MP7 Patch 0 (10.1.7.0) | TcVis 11.4
Development: C (ITK), .NET, Tcl/Tk Testing: NX12.0 | AWC 3.4 Preparing: NX12.0
Employees of the customers, together we are strong
How to Get the Most from Your Signature in the Community
NX Customization - Best Practice Guide
A Component is also called a Part Occurrence and lives only in the assembly level while the Prototype of the Component is the corresponding Part File.
When adding an attribute to the Component, it's visible in that particular occurrence only.
When adding an attribute to the Instance, it is inherited by the Component (Occurence) which displays the Instance.
But when adding it to the Prototype/Part, it is visible in all instances/occurrences found in the assembly.
So the inheritance is Part->Instance->Component (Occurrence) and displayed in the 'Inherited' column of the Component Properties Dialog.
You can also overwrite a part attribute with another value for that particular component if you need to identify the individuals on assembly level
The NXOpen APIs don't really make a difference between an instance and a component object anymore and we cannot query the relationship between them without the Open C / UF Wrapper.
But we notice the existance of an instance in the attributes dialog (part, instance, component) and find methods like NXOpen.Assemblies.Component.SetInstanceUserAttribute.
Instance attributes are often seen in conjunction with TC and they could not be changed in the attribute dialog before NX8 (unless using an Open C API program).
The SNAP and NXOPEN Getting Started Guides have some nice illustration and explain the component/occurrence/prototype relationship (but nothing about an "instance").
There is more about the basics including "instance" in the Open C documentation .
Open the UF_ASSEM header chapter on the left and then the Terminology / Automobile links on the right side.