MACRO LIBRARY

Lesson 3.2 code

Free public access. No account or subscription required.

Files

Lesson 3.2 code

Code

Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swConfigMgr As SldWorks.ConfigurationManager
Dim swConfig As SldWorks.Configuration
Dim vConfigNames As Variant
Dim strName As String
    
Sub main()
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    
    'Test for the number of configurations
    If swModel.GetConfigurationCount = 1 Then
        Debug.Print "Only one configuration, macro will continue..."
    Else
        Debug.Print "More than one configuration exists."
        End
    End If
    
    'Get the active configuration's name
    Set swConfigMgr = swModel.ConfigurationManager
    Set swConfig = swConfigMgr.ActiveConfiguration
    strName = swConfig.Name
    
    'Add three configs
    swModel.AddConfiguration3 "A", "", "", 0
    swModel.AddConfiguration3 "B", "", "", 0
    swModel.AddConfiguration3 "C", "", "", 0
    
    'Delete the first configuration
    swModel.DeleteConfiguration2 strName
    
    'Cycle through configs and change names
    vConfigNames = swModel.GetConfigurationNames
    Dim i As Integer
    For i = 0 To UBound(vConfigNames)
        Set swConfig = swModel.GetConfigurationByName(vConfigNames(i))
        swConfig.Name = "Config" & i + 1
    Next i
    
    'Activate first configuration
    vConfigNames = swModel.GetConfigurationNames
    swModel.ShowConfiguration2 vConfigNames(0)
End Sub