Dissolve Subassembly in a BOM Table Example (VBA)
This example shows how to dissolve and restore a subassembly in a BOM table.
'-----------------------------------------------------------------------------
' Preconditions:
' 1. Open install_dir\samples\tutorial\assemblyvisualize\food_processor.sldasm.
' 2. Select File > Make Drawing from Assembly.
' 3. Click OK.
' 4. Drag and drop one or more views onto the drawing.
' 5. Ensure that the specified template exists.
'
' Postconditions:
' 1. An indented BOM table is inserted in the drawing.
' 2. The blade shaft subassembly is dissolved.
' 3. After the macro stops, click F5 to restore the blade shaft subassembly.
'
' NOTE: Because this document is used by a SolidWorks
' online tutorial, do not save any changes
when
' closing it.
'-----------------------------------------------------------------------------
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim swModelDocExt As
SldWorks.ModelDocExtension
Dim swDrawing
As SldWorks.DrawingDoc
Dim swView
As SldWorks.View
Dim boolstatus As Boolean
Dim swBOMAnnotation As
SldWorks.BomTableAnnotation
Dim AnchorType
As Long
Dim BomType
As Long
Dim Configuration As
String
Dim TableTemplate As
String
Option Explicit
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set swDrawing = Part
Set swModelDocExt = Part.Extension
boolstatus = swDrawing.ActivateView("Drawing View1")
Set swView = swDrawing.ActiveDrawingView
AnchorType =
swBOMConfigurationAnchor_TopLeft
BomType = swBomType_Indented
TableTemplate = "C:\Program Files\SolidWorks Corp\SolidWorks\lang\english\bom-standard.sldbomtbt"
Configuration = ""
Set swBOMAnnotation = swView.InsertBomTable4(False,
0.4, 0.3, AnchorType, BomType, Configuration, TableTemplate, False,
swNumberingType_Detailed, True)
'Dissolve blade shaft subassembly
boolstatus = swBOMAnnotation.Dissolve(8)
Stop
'Restore blade shaft subassembly
boolstatus = swBOMAnnotation.RestoreRestructuredComponents(0)
End Sub