Insert BOM Table and Stacked Balloon Example (VB.NET)
This example shows how to insert a BOM table and stacked balloon in
an assembly document.
'------------------------------------------------
' Preconditions: Open:
' <SolidWorks_install_dir>\samples\tutorial\cosmosfloxpress\ball valve\ball_valve.sldasm
'
' Postconditions:
' 1. Parts-only BOM table is inserted.
' 2. Split-circle stacked balloon, which uses the
' BOM
table item number for its upper text, is inserted
' for
the selected face.
' 3. Examine both the BOM table and stacked balloon to verify
' the
results.
'
' NOTE: Because this assembly document is used by a SolidWorks
' online
tutorial, do not save any changes when
' closing
the document.
'-------------------------------------------------
Imports SolidWorks.Interop.sldworks
Imports SolidWorks.Interop.swconst
Imports System
Imports System.Diagnostics
Partial Class SolidWorksMacro
Public
Sub main()
Dim
swModel As ModelDoc2
Dim
swModelDocExt As ModelDocExtension
Dim
swBOMAnnotation As BomTableAnnotation
Dim
swBOMFeature As BomFeature
Dim
swNote As Note
Dim
boolstatus As Boolean
Dim
BomType As Long
Dim
Configuration As String
Dim
TemplateName As String
swModel
= swApp.ActiveDoc
swModelDocExt
= swModel.Extension
'
Insert BOM table
TemplateName
= "C:\Program Files\SolidWorks Corp\SolidWorks\lang\english\bom-standard.sldbomtbt"
BomType
= swBomType_e.swBomType_PartsOnly
Configuration
= "Default"
swBOMAnnotation
= swModelDocExt.InsertBomTable(TemplateName,
0.4, 0.3, BomType, Configuration)
swBOMFeature
= swBOMAnnotation.BomFeature
'
Print the name of the configuration used for the BOM table
Debug.Print("Name
of configuration used for BOM table: " & swBOMFeature.Configuration)
'
Insert BOM balloon for the selected face, which
'
belongs to the part Side
boolstatus
= swModelDocExt.SelectByID2("",
"FACE", -0.02268677135385, 0.0082159933431, 0.01133567172189,
False, 0, Nothing, 0)
swNote
= swModelDocExt.InsertStackedBalloon(swBalloonStyle_e.swBS_SplitCirc,
swBalloonFit_e.swBF_Tightest, swBalloonTextContent_e.swBalloonTextItemNumber,
"", swBalloonTextContent_e.swBalloonTextCustom, "Lower
text", swBalloonFit_e.swBF_UserDef, True, 2, "Denotation Text")
swModel.ViewZoomtofit2()
'
Get whether balloon is a stacked balloon;
'
if so, print the name of the balloon
If
swNote.IsStackedBalloon Then
Debug.Print("Name
of stacked balloon: " & swNote.GetName)
End
If
End
Sub
'''
<summary>
'''
The SldWorks swApp variable is pre-assigned for you.
'''
</summary>
Public
swApp As SldWorks
End Class