Imports System.IO
Imports System.Runtime.InteropServices
Module Example
    <STAThread()> _
    Sub Main()
        Dim objApplication As SolidEdgeFramework.Application = Nothing
        Dim objAssemblyDocument As SolidEdgeAssembly.AssemblyDocument = Nothing
        Dim objConfigurations As SolidEdgeAssembly.Configurations = Nothing
        Dim objConfiguration As SolidEdgeAssembly.Configuration = Nothing
        Dim sConfigName As String
        Dim aConfigList(1) As Object
        Dim objMissing As Object
        Try
            OleMessageFilter.Register()
            ' Start Solid Edge
            objApplication = Marshal.GetActiveObject("SolidEdge.Application")
            objAssemblyDocument = objApplication.ActiveDocument
            objConfigurations = objAssemblyDocument.Configurations
            sConfigName = "NewConfig"
            objMissing = System.Reflection.Missing.Value
            aConfigList(0) = "1"
            aConfigList(1) = "2"
            ' Create new derived configuration.
            objConfiguration = objConfigurations.AddDerivedConfig(aConfigList.Length, 0, 0, aConfigList, objMissing, objMissing, sConfigName)
            ' Apply new configuration.
            objConfiguration.Apply()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        Finally
            OleMessageFilter.Revoke()
        End Try
    End Sub
End Module