Hi @f_calebh
You have a valid point on questioning the behavior of editing part instances and why object visibilities are different from appearance changes. Let me try to elaborate some key diffs below. I have also created a sample dataset you can play with to study the behavior.
>> If I wanted to change an individual part instance in an assembly, I would do that at the assembly level. Wouldn't you agree?
I agree - if you want to override a part instance in the assembly, you should do it at the assembly level.
>>That's different on a part file, though. changes to appearance and object visibility are saved to that locked master view rep.
Appearance changes
For a part, if feature appearances are changed, we internally manage this by creating a color/appearance attribute on each of the feature faces/edges to render that feature in a different color. By doing so, the owning geometry is now edited to be rendered in a different color. Because all part instances share the same geometry, they are rendered in that new color. This is the reason why changing feature appearances in master view rep works for all instances. This is in constrast to managing part instance overrides in a sub-assy - i.e. changing the appearance of the entire part inside some sub-assy - this uses design view overrides.
Material Changes
In an assembly, if you edit a part instance and change its material, then this change is global. All parts get the same material.
Object Visibility (aka sketch or workgeom vis)
Because one might want to control these objects individually for each instance, the mechanism of controlling the visibility of these objects are tied directly to design views/view representations.
(a) Editing a sketch or work geometry visibility from an assembly when part instance is in master viewrep
This would edit that individual part instance which is being modified.
(@CGBenner Perhaps your part instances were placed in master?)
(a) Editing a sketch or work geometry visibility from an assembly when part instance is in non-master viewrep
viewrep is associative: This would affect all part instances which are referencing that non-master view rep. will also prompt you to remove associativity or modify view rep
viewrep is non-assoc: then it should be a local part instance edit
In the following example:
A1
+ Box:1 master
+ Box:2 master
+ Box3: view1 (assoc)
+ Box4: view1 (assoc)
You can try it out to study the behavior of how different edit scenarios behave.
Thanks
-shiva
Shiva Sundaram
Inventor Development