Expand, Collapse, and Dissolve Subassembly in a BOM Table Example (VB.NET)
This example shows how to expand, collapse, dissolve, and restore a subassembly in a BOM table.
'-----------------------------------------------------------------------------
' Preconditions:
' 1. Open public_documents\samples\tutorial\assemblyvisualize\food_processor.sldasm.
' 2. Select File > Make Drawing from
Assembly.
' 3. Click OK.
' 4. Drag one or more views onto the drawing.
' 5. Ensure that the specified template exists.
'
' Postconditions:
' 1. Inserts an indented BOM table in the drawing.
' 2. Collapses the blade shaft subassembly.
Press F5 to continue.
' 3. Expands the blade shaft subassembly. Press F5 to continue.
' 4. Dissolves the blade shaft subassembly. Press 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.
'-----------------------------------------------------------------------------
Imports
SolidWorks.Interop.sldworks
Imports
SolidWorks.Interop.swconst
Imports
System.Runtime.InteropServices
Imports
System
Partial
Class
SolidWorksMacro
Dim
Part As
ModelDoc2
Dim
swModelDocExt As
ModelDocExtension
Dim
swDrawing As
DrawingDoc
Dim
swView As
View
Dim
boolstatus As
Boolean
Dim
swBOMAnnotation As
BomTableAnnotation
Dim
AnchorType As
Integer
Dim
BomType As
Integer
Dim
Configuration As
String
Dim
TableTemplate As
String
Sub
main()
Part = swApp.ActiveDoc
swDrawing = Part
swModelDocExt = Part.Extension
boolstatus = swDrawing.ActivateView("Drawing
View1")
swView = swDrawing.ActiveDrawingView
AnchorType =
swBOMConfigurationAnchorType_e.swBOMConfigurationAnchor_TopLeft
BomType = swBomType_e.swBomType_Indented
TableTemplate = "C:\Program
Files\SOLIDWORKS Corp\SOLIDWORKS\lang\english\bom-standard.sldbomtbt"
Configuration =
""
swBOMAnnotation = swView.InsertBomTable4(False,
0.4, 0.3, AnchorType, BomType, Configuration, TableTemplate,
False,
swNumberingType_e.swNumberingType_Detailed,
True)
'Collapse blade shaft subassembly
swBOMAnnotation.Collapse(1, 8)
Stop
'Expand blade shaft subassembly
swBOMAnnotation.Expand(1, 8)
Stop
'Dissolve blade shaft subassembly
boolstatus = swBOMAnnotation.Dissolve(8)
Stop
'Restore blade shaft subassembly
boolstatus = swBOMAnnotation.RestoreRestructuredComponents(0)
End
Sub
Public
swApp As
SldWorks
End
Class