Link Display States to Configurations Example (VBA)
This example shows how to link and unlink display states to and from configurations.
' ---------------------------------------------
' Preconditions: Open the Immediate window.
'
' Postconditions:
' 1. Assembly document opens.
' 2. Follow the instructions in the macro at
' each Stop statement.
' 3. Assembly document closes without saving
' any changes.
'-----------------------------------------------
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swConfigMgr As SldWorks.ConfigurationManager
Dim assemblyFile As String
Dim errors As Long
Dim warnings As Long
Dim assemblyName As String
Sub main()
' Open assembly document
assemblyFile = "C:\Program Files\SolidWorks Corp\SolidWorks\samples\tutorial\pdmworks\speaker.sldasm"
Set swApp = Application.SldWorks
Set swModel = swApp.OpenDoc6(assemblyFile, swDocASSEMBLY, swOpenDocOptions_Silent, "", errors, warnings)
Stop
' 1. Click the ConfigurationManager tab in the Manager Pane
' in the assembly document.
' 2. Examine the ConfigurationManager tab to verify:
' a. "Link Display States to Configurations" check box
' is selected.
' b. Two display states are linked to the active
' configuration.
' 3. Click the Continue button in the IDE.
Set swConfigMgr = swModel.ConfigurationManager
swConfigMgr.LinkDisplayStatesToConfigurations = False
Debug.Print "Are display states linked to configurations? " & swConfigMgr.LinkDisplayStatesToConfigurations
If Not swConfigMgr.LinkDisplayStatesToConfigurations Then
Debug.Print "All display states are available to the active configuration.
End If
Debug.Print ""
Stop
' 1. Examine the ConfigurationManager tab again to verify:
' a. "Link Display States to Configurations" check box
' is not selected.
' b. All display states are available to the active configuration.
' 2. Click the Continue button.
swConfigMgr.LinkDisplayStatesToConfigurations = True
Debug.Print "Are display states linked configurations? " & swConfigMgr.LinkDisplayStatesToConfigurations
If swConfigMgr.LinkDisplayStatesToConfigurations Then
Debug.Print "All display states are not available to the active configuration."
End If
Stop
' 1. Examine the ConfigurationManager tab again to verify:
' a. "Link Display States to Configurations" check box
' is selected.
' b. Only two display states are linked to the active configuration.
' 2. Click the Continue button.
assemblyName = swModel.GetTitle
swApp.QuitDoc assemblyName
End Sub