Solid Edge Assembly Type Library
Add Method
Virtual Component name as string.
Description
Create a new VirtualComponentOccurrence object and insert it into the collection of virtual component occurrences.
Syntax
Visual Basic
Public Function Add( _
   ByVal VirtualComponentName As String, _
   ByVal VirtualComponentType As VirtualComponentTypeConstants, _
   ByRef ComponentStatusConstants As VirtualComponentStatusConstants _
) As VirtualComponentOccurrence
Parameters
VirtualComponentName
Virtual Component name as string.
VirtualComponentType
ValueDescription
seVirtualComponentType_Assembly
seVirtualComponentType_Part
seVirtualComponentType_Sheetmetal
seVirtualComponentType_Unknown
ComponentStatusConstants
ValueDescription
seVCStatus_AddManagedToUnManaged
seVCStatus_AddUnManagedToManaged
seVCStatus_CannotAddToComponent
seVCStatus_ComponentSketchMissing
seVCStatus_DuplicateNameConflictWithVirtualComponent
seVCStatus_Fail
seVCStatus_NameConflictWithPreDefinedComponent
seVCStatus_NameConflictWithVirtualComponent
seVCStatus_ReplaceConflictWithVirtualComponent
seVCStatus_SourceFileNotFound
seVCStatus_Success
Example
Imports System.Runtime.InteropServices
Public Class VirtualComponentOccurrences

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim objApplication As SolidEdgeFramework.Application = Nothing
        Dim objTopAsmDoc As SolidEdgeAssembly.AssemblyDocument = Nothing
        Dim documents As SolidEdgeFramework.Documents = Nothing
        Dim objType As Type = Nothing

        Dim objVCOccurs0 As SolidEdgeAssembly.VirtualComponentOccurrences
        Dim objVCOccurs1 As SolidEdgeAssembly.VirtualComponentOccurrences
        Dim objVCOccurs2 As SolidEdgeAssembly.VirtualComponentOccurrences
        Dim objVCOccurs3 As SolidEdgeAssembly.VirtualComponentOccurrences
        Dim objVCOccurs4 As SolidEdgeAssembly.VirtualComponentOccurrences

        Dim objVCOccur1 As SolidEdgeAssembly.VirtualComponentOccurrence
        Dim objVCOccur2 As SolidEdgeAssembly.VirtualComponentOccurrence
        Dim objVCOccur3 As SolidEdgeAssembly.VirtualComponentOccurrence
        Dim objVCOccur4 As SolidEdgeAssembly.VirtualComponentOccurrence

        Dim objVirtComp1 As SolidEdgeAssembly.VirtualComponent
        Dim objVirtComp2 As SolidEdgeAssembly.VirtualComponent
        Dim objVirtComp3 As SolidEdgeAssembly.VirtualComponent
        Dim objVirtComp4 As SolidEdgeAssembly.VirtualComponent

        Dim VirtCompType1 As SolidEdgeConstants.VirtualComponentTypeConstants
        'Dim VirtCompType2 As SolidEdgeConstants.VirtualComponentTypeConstants
        Dim VirtCompType3 As SolidEdgeConstants.VirtualComponentTypeConstants
        Dim VirtCompType4 As SolidEdgeConstants.VirtualComponentTypeConstants

        Dim VirtCompStatusConst As SolidEdgeAssembly.VirtualComponentStatusConstants

        Dim objProperties0 As Object
        Dim objProperties1 As Object

        Dim VirtCompName1 As String
        'Dim VirtCompName2 As String
        Dim VirtCompName3 As String
        Dim VirtCompName4 As String

        Dim lngCount0 As Long
        Dim lngCount1 As Long
        Dim lngCount2 As Long
        Dim lngCount3 As Long
        Try

            ' Create/get the application with specific settings
            objApplication = Marshal.GetActiveObject("SolidEdge.Application")

            ' Get a reference to the documents collection.
            documents = objApplication.Documents

            objTopAsmDoc = CType(documents.Add("SolidEdge.AssemblyDocument"), SolidEdgeAssembly.AssemblyDocument)

            'Get the root virtual component occurrences collection from the top assembly doc.
            objVCOccurs0 = Nothing
            objVCOccurs0 = objTopAsmDoc.VirtualComponentOccurrences

            lngCount0 = -1
            lngCount0 = objVCOccurs0.Count

            'Add 1st new virtual component occurrence, and hence Alfa virtual component.
            objVCOccur1 = Nothing

            objVCOccur1 = objVCOccurs0.Add("VirtCompAlfa", SolidEdgeAssembly.VirtualComponentTypeConstants.seVirtualComponentType_Assembly, VirtCompStatusConst)

            lngCount1 = -1
            lngCount1 = objVCOccurs0.Count

            'Add 2nd new virtual component occurrence, of same Alfa virtual component.
            objVCOccur2 = Nothing
            objVCOccur2 = objVCOccurs0.Add("VirtCompAlfa", SolidEdgeAssembly.VirtualComponentTypeConstants.seVirtualComponentType_Assembly, VirtCompStatusConst)

            lngCount2 = -1
            lngCount2 = objVCOccurs0.Count

            'Get Alfa virtual component from the 1st virtual component occurrence.
            objVirtComp1 = Nothing
            objVirtComp1 = objVCOccur1.VirtualComponent

            'Get virtual component type from Alfa virtual component.
            VirtCompType1 = SolidEdgeConstants.VirtualComponentTypeConstants.seVirtualComponentType_Unknown
            VirtCompType1 = objVirtComp1.VirtualComponentType

            'Get virtual component name from Alfa virtual component.
            VirtCompName1 = ""
            VirtCompName1 = objVirtComp1.Name

            'Get 1st virtual component occurrences collection from Alfa virtual component.
            objVCOccurs1 = Nothing
            objVCOccurs1 = objVirtComp1.VirtualComponentOccurrences

            'Add 3rd new virtual component occurrence, of Beta virtual component.
            objVCOccur3 = Nothing
            objVCOccur3 = objVCOccurs1.Add("VirtCompBeta", SolidEdgeAssembly.VirtualComponentTypeConstants.seVirtualComponentType_Assembly, VirtCompStatusConst)

            'Get Beta virtual component from the 3rd virtual component occurrence.
            objVirtComp3 = Nothing
            objVirtComp3 = objVCOccur3.VirtualComponent

            'Get virtual component type from Beta virtual component.
            VirtCompType3 = SolidEdgeConstants.VirtualComponentTypeConstants.seVirtualComponentType_Unknown
            VirtCompType3 = objVirtComp3.VirtualComponentType

            'Get virtual component name from Beta virtual component.
            VirtCompName3 = ""
            VirtCompName3 = objVirtComp3.Name

            'Add 4th new virtual component occurrence, of Gamma virtual component.
            objVCOccur4 = Nothing
            objVCOccur4 = objVCOccurs0.Add("VirtCompGamma", SolidEdgeAssembly.VirtualComponentTypeConstants.seVirtualComponentType_Assembly, VirtCompStatusConst)

            'Get Gamma virtual component from the 4th virtual component occurrence.
            objVirtComp4 = Nothing
            objVirtComp4 = objVCOccur4.VirtualComponent

            'Get virtual component type from Gamma virtual component.
            VirtCompType4 = SolidEdgeConstants.VirtualComponentTypeConstants.seVirtualComponentType_Unknown
            VirtCompType4 = objVirtComp4.VirtualComponentType

            'Get virtual component name from Gamma virtual component.
            VirtCompName4 = ""
            VirtCompName4 = objVirtComp4.Name

            'Move 3rd virtual component occurrence from Beta VC to Gamma VC.
            Call objVCOccur3.MoveTo(objVirtComp4)

            lngCount3 = -1
            lngCount3 = objVCOccurs1.Count

            'Get properties from top assembly document.
            'Set objProperties0 = Nothing
            'Set objProperties0 = objTopAsmDoc.Properties

            'Get properties from Alfa virtual component.
            objProperties1 = Nothing
            objProperties1 = objVirtComp1.Properties

            'Publish all virtual components in this assembly document.
            'objTopAsmDoc.PublishVirtualComponents()
            
            ' Release all the objects

            objProperties0 = Nothing
            objProperties1 = Nothing

            objVirtComp4 = Nothing
            objVirtComp3 = Nothing
            objVirtComp2 = Nothing
            objVirtComp1 = Nothing

            objVCOccur4 = Nothing
            objVCOccur3 = Nothing
            objVCOccur2 = Nothing
            objVCOccur1 = Nothing

            objVCOccurs4 = Nothing
            objVCOccurs3 = Nothing
            objVCOccurs2 = Nothing
            objVCOccurs1 = Nothing
            objVCOccurs0 = Nothing

            objTopAsmDoc = Nothing
            'Set ObjApp = Nothing
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try

    End Sub
End Class
See Also

VirtualComponentOccurrences Collection  | VirtualComponentOccurrences Members  | Solid Edge V17 - What's New