I noticed a strange behaviour regarding components in an assembly. It seems they get cloned.
This is what I did:
1. Retrieve the top level component via AssemblyDoc.GetComponents(True), store it in variable top1.
2. Change the suppression state of the top level component (i.e. suppress it if it was resolved before, and vice versa).
3. Retrieve the top level component again via AssemblyDoc.GetComponents(True), store it in variable top2.
Then, top1 and top2 are NOT EQUAL!
I attached an assembly and a VBA macro that shows this. Just open "assembly.SLDASM" and run the macro as often as you want.
Questions:
1. Why are the two components different?
2. Is there a way to prevent this "cloning" from happening?
3. Is it possible to still retrieve the "old" component after changing the suppression state?
SolidworksApi macros