Take this simple assembly:
It has two parts. I created a second display state where the circle is hidden:
If I insert this assembly into another assembly, I can switch between the display states of the subassembly (using the Component Properties dialog) and all works as expected:
If I change the circle to visible from the top level assembly, it appears:
If I then add a second instance of the subassembly using the display state where the circle is hidden, I now have this illogical mess:
Two subassemblies with the same display state displaying differently.
I have two questions, one unrhetorical and one rhetorical:
- Is there any way to 'reset' the subassembly that was altered in the top level assembly? Reload doesn't work, switching the display state back and forth doesn't work. Human sacrifice doesn't work (I presume). It seems like the only solution is to delete the subassembly and re-add it. This is a simple example, but imagine if the subassembly was several levels deep and had things hidden at various levels.
- Is there anyone who thinks that the ability to alter the state of a subassembly from an upper level assembly is a good idea? Long time users remember when such changes were forbidden. You couldn't simply hide or suppress subassembly components from a top level. I preferred it that way. It was logical. It made sense.