I'm trying to read custom properties from the components in an assembly when that assembly is not Resolved (Lightweight or Large Design). I found this question in the forums that has come to the same conclusion that I have which is the components need to be resolved or the code needs to do an IO file read with document manager:
Custom Property from lightweight component vb.net
I guess my additional question that I want to raise for discussion is, why does the bill of materials have access to these custom properties for the components when an assembly is in lightweight mode but the API doesn't? Is the BOM table using document manger as well or is there some SolidWorks functionality that isn't exposed through the API?
If anyone has any additional insight on this, it would be appreciated.
As a test, make a change to a custom property in one of the parts that is used in the assembly. Save the part file. Open the assembly in lightweight mode and look at the BOM. Does it have the new value for changed custom property? If it is the old value, then that data is just stored as static data in the assembly file.