We have a sub assembly containing components which all have the reference set TEST active. The components contain, in addition to the reference set TEST also the default reference set MODEL, (and of course the standard ones Entire Part and Empty).
The sub assembly itself contain the reference set MODEL, where all the components are included
![](/kbassets/PL8003784/cf3f4c3484b2bb37800dea3f9326a30bd39f2c0f792d4b7225c8c6d680dd.JPG)
Now when the sub assembly is added to a top assembly using reference set MODEL for the sub assembly, also the components arrive with reference set MODEL active instead of the expected reference set TEST which the sub assembly where stored with.
![](/kbassets/PL8003784/e6f910ba4f89585d4f8b6de2f57eb65d3426174111cc04916f9c8dc76490.JPG)
Why does this happen?
Solution
The key to the behavior is how the sub assembly were created and under what conditions it was done.
When you choose a reference set from the Add Component dialog, you are choosing the reference set that the parent's Entire Part reference set will specify for the new child component.
If there are any other reference sets in the parent part which have the "Add Components Automatically" option set, then the new component will be added to it. The parent reference set will choose a child component reference set of the same name if one is available, otherwise it will use the child reference set which was chosen for Entire Part.
In our use case the sub assembly reference set MODEL were created prior to adding any component and the "Add Components Automatically" option were set.
![](/kbassets/PL8003784/20f922f684919e72fecbdef70c663e9e364ed349778b06a09f0f21f4ec32.JPG)
This caused all added components in the sub assembly to be added to the sub assembly's MODEL reference set using their MODEL reference set.
Hardware/Software Configuration
Platform: INTL64
OS: window
OS Version: 1064
Product: NX
Application: ASSEMBLIES
Version: V12.0.2
Function: ASSEMBLY_MODEL
Ref: 001-9105134