When I try to show certain parts in the assembly I get this note: "This component cannot be made visible. It is in an excluded reference set." I can open the part if I make it the displayed part, but cannot view it in the assembly. Thanks in advance for any suggestions.
Solved! Go to Solution.
If it is a top level component in the assembly, it may be set to use the "empty" reference set. Change the ref set to "entire part" or "model".
If it is a component of a sub-assembly, the sub-assembly may be using a reference set that does not include the component. Try changing the ref set of the sub assembly to "entire part".
This is one of the issues which can occur if you create Reference Sets in an Assembly and then use these Reference Sets when adding the Assembly to a higher level Assembly as a sub-Assembly. You've heard me, and others, on many occasions make the recommendation that you really should avoid using Reference Sets with Assemblies. If you really need to have a couple difference sets of Components in an Assembly we suggest that you use Arrangements rather than Reference Sets to control the content of the final Assembly.
We have the exact same problem at my site. I have seen a lot of other sites using Reference Set to control the amount of data loaded in order to reduce load times and increase performance. For example the "simplified" Reference Set excludes all small fasteners (washers, nuts, bolts etc). First I thought this seemed like a smart solution, but now I am not so sure.
What would you recommend to achieve the above mentioned functionality?
This is NOT a bug. It's simply how it works.
Think of this, you have used a Reference Set that has an Assembly in it which included at least one sub-assembly. Now when this Assembly was created with the sub-assembly, a Reference Set was used there as well to control the content of this Assembly. Now unbeknownst to you, someone changes the content of this lower level Reference Set, removing something that the top-level Reference Set had explicitly included. What exactly should the user expect the system to report to you? Please keep in mind that a Reference Set is a sort of 'filter' which you've explicitly told what to include. It's a list of what to look for when it's being activated and the way Assemblies are seen, it's not as a single object but rather as a collection of ITS components. So that sub-assembly in the Assembly mentioned above is added as an explicit set of components and when one of them can't be found it's considered as something that the user needs to know about because its been excluded due to no action that you've done at your level.
This is why we've tried to discourage their use in this situation. Now they will work if you're careful and know what to look for when you get a message like this. Just that if you do use Reference Sets in this manner, they can be problematic if you're not careful.
This is NOT a bug. It's simply how it works.
Think of this, you have used a Reference Set that...
And I stop You right here. Lets clarify. The user in question does NOT even know about Reference Sets. He is not using them as in - creating new ones, adding or removing components. Those are just there - the default ones - Model, Entire part and Empty. And everything should be fine.
Then for a reason yet unknown to me (a bug I guess), an assembly is created which has only two default Reference Sets - Entire part and Empty. Finaly he adds this assembly to a parent assembly. This is the moment he will get the message while trying to show the "missing" components and eventually gets introduced to Reference sets.
There is no someone to mess around with Reference sets. This happens like once in a year. And I have no idea how to replicate this or then exactly the Model Reference Set disappears or if its not created initially.
So if something happens without a users will, what do you call it?
And one more point - stating in documentation that Reference Sets is a great way to optimse visual load is not very discouraging
Then I suggest that you contact GTAC and have them look at the part files along with the SYSLOG.
"This is one of the issues which can occur if you create Reference Sets in an Assembly and then use these Reference Sets when adding the Assembly to a higher level Assembly as a sub-Assembly. You've heard me, and others, on many occasions make the recommendation that you really should avoid using Reference Sets with Assemblies. If you really need to have a couple difference sets of Components in an Assembly we suggest that you use Arrangements rather than Reference Sets to control the content of the final Assembly. "
is there any official statement or document about it ?
In my experience, yes, avoiding reference sets in assemblies would be ideal, BUT very rarely do we have an assmbly that is only component geometry.
Sometimes we will have sketches, and/or planes for machining at the assembly level.
All of our assemblies have a datum csys, because some components/sub-assemblies are modeled at "car coordinates", and the datum csys helps.
In all of my years of using UG/NX, I've known that using reference sets in assemblies was not the recomended best practice, but the real world has stood in the way
Because of this, teaching people how reference sets work, has been one of the toughest battles.