Hide Table of Contents

Link Display States to Configurations Example (VBA)

This example shows how to link and unlink display states to and from configurations.

'---------------------------------------------
' Preconditions:
' 1. Verify that the specified assembly document 
'    to open exists.
' 2. Open the Immediate window.
'
' Postconditions:
' 1. Opens the specified assembly document.
' 2. Follow the instructions in the macro at
'    each Stop statement, which gets and sets whether
'    display states are linked to the active configuration.
' 3. Closes the assembly document 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:\Users\Public\Documents\SOLIDWORKS\SOLIDWORKS 2018\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. Right-click the active display state and click Properties.
    ' 3. Verify that the "Link display states to configurations" check box
    '    is selected and click OK.
    ' 4. 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. Click the ConfigurationManager tab again.
    ' 2. Right-click the active display state and click Properties.
    ' 3. Verify that the "Link display states to configurations" check box
    '    is not selected and click OK.
    ' 4. Click the Continue button in the IDE.
    
    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. Click the ConfigurationManager tab again.
    ' 2. Right-click the active display state and click Properties.
    ' 3. Verify that the "Link display states to configurations" check box
    '    is selected and click OK.
    ' 4. Click the Continue button in the IDE.
        
    assemblyName = swModel.GetTitle
    swApp.QuitDoc assemblyName
    
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:   Link Display States to Configurations 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.