Solid Edge Assembly Type Library
VirtualComponentOccurrence Object
Members 
Description
A virtual component occurrence object.
Object Model
VirtualComponentOccurrence ObjectApplication ObjectSelectSet CollectionAddIns CollectionApplication ObjectApplicationEvents ObjectApplicationV8DocumentOpenEvent ObjectApplicationWindowEvents ObjectBeforeFileSaveAsEvents ObjectCommand ObjectCustomization ObjectDocuments CollectionEnvironments CollectionFeatureLibraryEvents ObjectFileUIEvents ObjectMatTable ObjectInsight ObjectNewFileUIEvents ObjectApplication ObjectSEECEvents ObjectSESPEvents ObjectShortcutMenuEvents ObjectSolidEdgeInsightXT ObjectSolidEdgeTCE ObjectWindows CollectionVirtualComponent ObjectApplication ObjectVirtualComponentOccurrences Collection
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

VirtualComponentOccurrence Members  | Solid Edge V17 - What's New