retval = View.InsertBomTable2 ( UseAnchorPoint, X, Y, AnchorType, BomType, Configuration, TableTemplate)
Input: (BSTR) Configuration Name of the configuration for this BOM table
Why follow code
Configuration =“”
→ Hope
Configuration = "A2"
'-----------------------------------------------------
'
' 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 IBomTableAnnotation
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.swBOMConfigurationAnchor_BottomRight
BomType = SwConst.swBomType_e.swBomType_TopLevelOnly
Configuration = ""
TableTemplate = "e:\a.sldbomtbt"
' Insert BOM table
Set swBomAnn = swView.InsertBomTable2(False, 0.4, 0.05, 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(2) = True
boolstatus = swBomFeat.SetConfigurations(False, Visible, Names)
'Update FeatureManager design tree
swFeatMgr.UpdateFeatureTree
End Sub
Function A3InsertBom(SwView As View, Xx, Yy, BomPath)
Dim AnchorType, BomType
AnchorType = SwConst.swBOMConfigurationAnchor_BottomRight
BomType = SwConst.swBomType_e.swBomType_TopLevelOnly
Configuration = ""
Set swBomAnn = SwView.InsertBomTable2(False, Xx / 1000, Yy / 1000, AnchorType, BomType, Configuration, BomPath)
''
Dim SwBomFeat As BomFeature, Names, Visible
Set SwBomFeat = swBomAnn.BomFeature
Names = SwBomFeat.GetConfigurations(False, Visible)
For jj = 0 To UBound(Names)
If Names(jj) = SwView.ReferencedConfiguration Then
Visible(jj) = True
Exit For
End If
Next jj
boolstatus = SwBomFeat.SetConfigurations(False, Visible, Names)
End Function
''
Private Sub ll()
Dim SwApp As SldWorks.SldWorks, SwDraw As DrawingDoc
Set SwApp = Application.SldWorks
Set SwDraw = SwApp.ActiveDoc
Dim SwView As View
Set SwView = SwDraw.GetFirstView
Set SwView = SwView.GetNextView
A3InsertBom SwView, 400, 5, "e:\a.sldbomtbt"
End Sub
SolidworksApi macros