10-21-2021
02:37 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
10-21-2021
02:37 PM
I finally wrote a code that it works how I needed. I'm sure that there is probably a better way to do it, but this is the only solution I found.
Sub BOMStructure()
Dim oAsmDoc As AssemblyDocument
Set oAsmDoc = ThisApplication.ActiveDocument
Call TraverseAssembly(oAsmDoc.ComponentDefinition.Occurrences)
End Sub
Private Sub TraverseAssembly(Occurrences As ComponentOccurrences)
Dim oOcc As ComponentOccurrence
For Each oOcc In Occurrences
If oOcc.DefinitionDocumentType = kAssemblyDocumentObject And oOcc.BOMStructure = kPurchasedBOMStructure Then
Dim SubItem, x As Long
SubItem = oOcc.SubOccurrences.Count
For x = 1 To SubItem
oOcc.SubOccurrences.item(x).Definition.BOMStructure = BOMStructureEnum.kPurchasedBOMStructure
Next
End If
Next
End Sub