Create a Drawing for a Pipe Route Example (VBA)
This example shows how to create a drawing of a pipe assembly.
'---------------------------------------------------------------------------
' Preconditions:
' 1. Add SolidWorks Routing as an add-in
' (in SolidWorks,
select Tools > Add-Ins > SolidWorks routing).
' 2. Add the SolidWorks <version> Routing Type
Library as a reference
' (in the IDE select Tools > References).
' 3. Create a piping BOM template named
piping_template.sldbomtbt.
' 4. Add a column with header "Length" to the piping BOM
template.
' 5. Ensure that the specified paths to piping BOM and
sheet format templates exist.
' 6. In Tools > Options > Routing > Routing File
Locations,
' add the locations of your SolidWorks Routing files.
' 7. In Tools > Options > File Locations > Sheet
formats,
' add the location of your sheet format templates.
' 8. Open:
' <SolidWorks_install_dir>\samples\tutorial\routing-pipes\fittings\reducerroute.sldasm.
'
' Postconditions: A drawing of the pipe assembly is created in a
standard format
' and includes auto balloons, a bill of materials, and a route
sketch.
'
' NOTE: Because this assembly is used in a SolidWorks
tutorial,
' do not save any changes to it.
'-------------------------------------------------------------------------
Option Explicit
Sub main()
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.AssemblyDoc
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Dim RouteMgr As SWRoutingLib.RouteManager
Set RouteMgr = Part.GetRouteManager()
Dim bomtemplatepath As String
bomtemplatepath = "<Piping_BOM_template_path>"
Dim bomtemplatename As String
bomtemplatename = "piping_template.sldbomtbt"
Dim sheettemplatepath As String
sheettemplatepath = "<SolidWorks_install_dir>\lang\english\sheetformat"
Dim sheettemplatename As String
sheettemplatename = "a - landscape.slddrt"
Dim insertballoons As Boolean
insertballoons = True
Dim insertBOM As Boolean
insertBOM = True
Dim showRouteSketch As Boolean
showRouteSketch = True
Dim subAssembly As Boolean
subAssembly = True
Dim userSheetWidth As Double
userSheetWidth = 500#
Dim userSheetHeight As Double
userSheetHeight = 500#
Dim displayFormat As Boolean
displayFormat = True
Dim dwgTemplates As Long
dwgTemplates = 0
RouteMgr.CreatePipeDrawingforPipeRoute(bomtemplatepath,
bomtemplatename, insertballoons, insertBOM, showRouteSketch, subAssembly,
userSheetWidth, userSheetHeight, sheettemplatepath, sheettemplatename,
displayFormat, dwgTemplates)
End Sub