Insert BOM Table Example (VBA)
This example shows how to insert a BOM table using IView::InsertBomTable2.
'-----------------------------------------------------
'
' Preconditions:
' (1)
Drawing file is open.
' (2)
View is selected.
'
' Postconditions: A BOM is inserted at the anchor
' point
or the specified point, if the drawing
' view
does not already contain a BOM.
'
'-----------------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swFeatMgr As SldWorks.FeatureManager
Dim swView As SldWorks.View
Dim swBomAnn As BomTableAnnotation
Dim swBomFeat As SldWorks.BomFeature
Dim AnchorType As Long
Dim BomType As Long
Dim Configuration As String
Dim TableTemplate As String
Dim Names As Variant
Dim Visible As Variant
Dim boolstatus As Boolean
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSelMgr = swModel.SelectionManager
Set swFeatMgr = swModel.FeatureManager
' Select view
Set swView = swSelMgr.GetSelectedObject6(1,
0)
AnchorType = SwConst.swBOMConfigurationAnchorType_e.swBOMConfigurationAnchor_TopLeft
BomType = SwConst.swBomType_e.swBomType_TopLevelOnly
Configuration = ""
TableTemplate = ""
' Insert BOM table
Set swBomAnn = swView.InsertBomTable2(False,
0.4, 0.3, AnchorType, BomType, Configuration, TableTemplate)
swModel.ClearSelection2
True
' Because BOM type is swBomType_TopLevelOnly, then work
with BomFeature to get and set configurations
Set swBomFeat = swBomAnn.BomFeature
Names = swBomFeat.GetConfigurations(False,
Visible)
Visible(0) = True
boolstatus = swBomFeat.SetConfigurations(True,
Visible, Names)
'Update FeatureManager design tree
swFeatMgr.UpdateFeatureTree
End Sub