Create Auto Route Example (VB.NET)
This example shows how to connect two points using the Auto Route interface.
'----------------------------------------------------------------------------
' Preconditions:
'
' 1. Add SolidWorks Routing as an add-in
'
(in SolidWorks select Tools >
Add-Ins > SolidWorks Routing).
' 2. Add SolidWorks.Interop.SWRoutingLib.dll as a reference
'
(in
the IDE right-click the project, select Add Reference,
'
and browse
<SolidWorks_install_dir>\api\redist).
' 3. Open:
'
<SolidWorks_install_dir>\samples\tutorial\api\top_assy_connectors.sldasm
' 4. In Tools > Options > System Options > Routing > Routing File
Locations,
'
add locations of your SolidWorks Routing files.
' 5. Select the assembly that contains Route1 in the FeatureManager
design tree.
' 6. Open an Immediate Window.
'
' Postconditions: Auto Route connects the pins in orthogonal fashion
'
in the electronic
housing.
'
' NOTE: Because the assembly is used in a SolidWorks demo,
'
do not save
any changes to it.
'----------------------------------------------------------------------------
Imports
SolidWorks.Interop.sldworks
Imports
SolidWorks.Interop.swconst
Imports
SolidWorks.Interop.SWRoutingLib
Imports
System
Imports
System.Diagnostics
Partial
Class
SolidWorksMacro
Sub
main()
Dim
swModel As
ModelDoc2
Dim
swTopLevelAssembly As
AssemblyDoc
Dim
rtRouteManager As
RouteManager
Dim
autoRoute As
autoRoute
Dim
resultCode, boolstatus As
Long
swModel = swApp.ActiveDoc
swTopLevelAssembly = swModel
' Get the RouteManager from the
top-level assembly
rtRouteManager =
swTopLevelAssembly.GetRouteManager
If
rtRouteManager Is
Nothing
Then
Debug.Print("No
RouteManager found in top-level document: "
& swTopLevelAssembly.GetPathName)
Exit
Sub
End
If
rtRouteManager.EditRoute()
autoRoute = rtRouteManager.GetAutoRoute
autoRoute.ShowGuidelines()
boolstatus = swModel.Extension.SelectByID2("Point3",
"SKETCHPOINT",
-0.457835, 0.10795, -0.2032, True,
0, Nothing,
0)
boolstatus = swModel.Extension.SelectByID2("Point8",
"SKETCHPOINT",
-0.218948, 0.0508, -0.470281, True,
0, Nothing,
0)
resultCode = autoRoute.CreatePointToPointAutoRoute(2)
rtRouteManager.ExitRoute()
swTopLevelAssembly.EditAssembly()
End
Sub
Public
swApp As
SldWorks
End
Class