Announcements
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.
dibujocad
in reply to: dibujocad

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