Warning for anyone using the Traverse Tree method to get assembly details / bom / quantities (in assembly order):
Quantities will be wrong if the tree has any "hidden subassemblies that have patterns". The pattern feature is removed from the tree when the subassembly is hidden. Other parts and mirrors are not removed from the tree.
We noticed we were coming up short on seals, fasteners, and other patterned components on our jobs; cause was this bug not getting the quantities right from our models.
Solidworks has opened up SPR 1178613 for the bug. Vote for it if you're affected. Or if you are empathetic to those that are.
More if interested...
Our software is using the Traverse Feature Manager method to get the BOM and quantities, which gets the BOM in the same order as our assembly, which helps a lot.
http://help.solidworks.com/2018/english/api/sldworksapi/Traverse_FeatureManager_Design_Tree_VB.htm
BUT this method misses the parts in the hidden pattern as they are not shown in the tree.
The other method, which uses the assembly data structure, gets the quantity right, but the order is wrong.
This bug is detrimental to us as we need both the quantities and the order to be read correctly.
SolidWorkarounds:
-Code around the bug to get the quantities via another method, eg using the Traverse Assembly method, or via an API-added BOM (ty Jim).
-Have SW users not hide subassemblies, just hide individual components. Can be tedious for large subassemblies.
-Have SW users make additional configurations with everything shown.
SolidworksApi/macros