Hide Table of Contents

Get and Set Routing Component Properties Example (VBA)

This example shows how to get and set routing component properties.

'----------------------------------------------------------------------------
' Preconditions:
' 1. Modify the path of the specified routing component.
' 2. Open an Immediate window.
'
' Postconditions: Inspect the Immediate window for the properties
' of the specified routing component.
' ---------------------------------------------------------------------------

Option Explicit

Sub main()

    Dim SwApp                 As SldWorks.SldWorks
    Dim swRtCompMgr           As SWRoutingLib.RoutingComponentManager
    Dim boolstatus            As Boolean
    Dim isCompTypeSavedThrRLM As Boolean
    Dim LongStatus            As Long
    Dim LongWarnings          As Long
    Dim cpConfig              As Long
    Dim compType              As Long
    Dim routeType             As Long
    Dim routeTypeCustProp     As Long
    Dim pipeSketch            As String
    Dim compDesc              As String
    Dim modelDoc              As SldWorks.ModelDoc2
    Dim modelDocExt           As SldWorks.modelDocExtension

    Set SwApp = Application.SldWorks
    If SwApp Is Nothing Then Exit Sub
   

    LongStatus = SwApp.LoadAddIn(SwApp.GetExecutablePath & "\sldrtadd.dll")
    If LongStatus <> 0 And LongStatus <> 2 Then ErrorMsg SwApp, "Cannot load the Routing add-in": GoTo LastLine
   

    Set modelDoc = SwApp.OpenDoc6("public_documents\tutorial\api\straight tee inch.sldprt", swDocPART, swOpenDocOptions_Silent, "", LongStatus, LongWarnings)
    Set modelDocExt = modelDoc.Extension
   

    If modelDoc Is Nothing Then ErrorMsg SwApp, "Failed to open straight tee inch.sldprt": GoTo LastLine

    Set swRtCompMgr = modelDocExt.GetRoutingComponentManager
    If swRtCompMgr Is Nothing Then ErrorMsg SwApp, "Failed to set route component manager object": GoTo LastLine
   

    ' Set the description value
    swRtCompMgr.SetRoutingComponentDescription ("Pipe Routing")
   

    ' Get the description value
    compDesc = swRtCompMgr.GetRoutingComponentDescription
    Debug.Print "Saved description: " & compDesc
 

    ' Set the CPoint configuration value to not add CPoints
    swRtCompMgr.SetCPointConfiguration (2)
     

    ' Get the CPoint configuration value
    cpConfig = swRtCompMgr.GetCPointConfiguration
    Debug.Print "CPoint configuration as defined in swCPointConfig_e: " & cpConfig
  

    ' Set the component type to tee type
    swRtCompMgr.SetComponentType (5)
   

    ' Get the component type
    compType = swRtCompMgr.GetComponentType
    Debug.Print "Component type as defined in swRouteComponentTypeID_e: " & compType
   

    ' Get the routing string for the pipe sketch
    pipeSketch = swRtCompMgr.GetRoutingStringValue(0)
    Debug.Print "Pipe sketch routing string: " & pipeSketch
   

    ' Get the route type
    routeType = swRtCompMgr.GetComponentRouteType
    Debug.Print "Route type as defined in swComponentRouteType_e: " & routeType

    ' Get the route type from custom property
    routeTypeCustProp = swRtCompMgr.GetComponentRouteTypeFromCustomProperty
    Debug.Print "Route type from custom property as defined in swComponentRouteType_e: " & routeTypeCustProp
   

    ' See whether the component type was saved through the Route Library Manager
    isCompTypeSavedThrRLM = swRtCompMgr.GetRouteComponentTypeSetThrRLM
    Debug.Print "The component type is saved through the Route Library Manager: " & isCompTypeSavedThrRLM

LastLine:

    LongStatus = SwApp.UnloadAddIn(SwApp.GetExecutablePath & "\sldrtadd.dll")
    If LongStatus <> 0 Then MsgBox "Unable to unload Add-in : Routing": GoTo LastLine

    boolstatus = SwApp.CloseAllDocuments(True)
    If boolstatus = False Then ErrorMsg SwApp, "Failed to close all open documents"
    Set modelDoc = Nothing

End Sub

Sub ErrorMsg(SwApp As SldWorks.SldWorks, Message As String)
    SwApp.SendMsgToUser2 Message, 0, 0
    SwApp.RecordLine "'*** WARNING - General"
    SwApp.RecordLine "'*** " & Message
    SwApp.RecordLine ""
End Sub

 



Provide feedback on this topic

SOLIDWORKS welcomes your feedback concerning the presentation, accuracy, and thoroughness of the documentation. Use the form below to send your comments and suggestions about this topic directly to our documentation team. The documentation team cannot answer technical support questions. Click here for information about technical support.

* Required

 
*Email:  
Subject:   Feedback on Help Topics
Page:   Get and Set Routing Component Properties Example (VBA)
*Comment:  
*   I acknowledge I have read and I hereby accept the privacy policy under which my Personal Data will be used by Dassault Systèmes

Print Topic

Select the scope of content to print:

x

We have detected you are using a browser version older than Internet Explorer 7. For optimized display, we suggest upgrading your browser to Internet Explorer 7 or newer.

 Never show this message again
x

Web Help Content Version: API Help (English only) 2019 SP05

To disable Web help from within SOLIDWORKS and use local help instead, click Help > Use SOLIDWORKS Web Help.

To report problems encountered with the Web help interface and search, contact your local support representative. To provide feedback on individual help topics, use the “Feedback on this topic” link on the individual topic page.