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 objAssemblyCopies As SolidEdgeAssembly.AssemblyCopies = Nothing
Dim objAssemblyCopy As SolidEdgeAssembly.AssemblyCopy = Nothing
Dim objMirrorAsmRefPlane As SolidEdgeAssembly.AsmRefPlane = objAssemblyCopy.MirrorPlane
Try
OleMessageFilter.Register()
objApplication = Marshal.GetActiveObject("SolidEdge.Application")
objAssemblyDocument = objApplication.ActiveDocument
objAssemblyCopies = objAssemblyDocument.AssemblyCopies
objAssemblyCopy = objAssemblyCopies.Item("Assembly Copy_1")
objMirrorAsmRefPlane = objAssemblyCopy.MirrorPlane
Dim inArray As Array = Array.CreateInstance(GetType(System.Object), 2)
Dim outArray As Array = Array.CreateInstance(GetType(SolidEdgeAssembly.Occurrence), 2)
Dim fileArray As Array = Array.CreateInstance(GetType(System.Object), 2)
Dim ActionArray As Array = Array.CreateInstance(GetType(SolidEdgeConstants.AssemblyCopyActionConstants), 2)
Dim AdjustArray As Array = Array.CreateInstance(GetType(SolidEdgeConstants.AssemblyCopyPlaneConstants), 2)
Dim EnumArray As Array = Array.CreateInstance(GetType(SolidEdgeConstants.AssemblyCopyUserConstants), 2)
objAssemblyCopy.GetDefinition(inArray, outArray, ActionArray, AdjustArray, EnumArray)
Dim x As Integer = 1
For x = 0 To inArray.Length - 1 Step 1
Dim occ As SolidEdgeAssembly.Occurrence = inArray(x)
Console.Write(occ.Name)
Console.Write(" input: ")
If Not (outArray(x) Is Nothing) Then
occ = outArray(x)
Console.Write(occ.Name)
Else
Console.Write(" Excluded")
End If
If (ActionArray(x) = SolidEdgeConstants.AssemblyCopyActionConstants.seAssemblyCopyActionInclude) Then
Console.Write(" Included ")
ElseIf (ActionArray(x) = SolidEdgeConstants.AssemblyCopyActionConstants.seAssemblyCopyActionMirror) Then
Console.Write(" Mirrored ")
ElseIf (ActionArray(x) = SolidEdgeConstants.AssemblyCopyActionConstants.seAssemblyCopyActionRotate) Then
Console.Write(" Rotated ")
ElseIf (ActionArray(x) = SolidEdgeConstants.AssemblyCopyActionConstants.seAssemblyCopyActionPending) Then
Console.Write(" Pending ")
Else
Console.Write(" Excluded ")
End If
If (EnumArray(x) = SolidEdgeConstants.AssemblyCopyUserConstants.seAssemblyCopyDefault) Then
Console.Write(" Default ")
Else
Console.Write(" Modified ")
End If
Console.WriteLine(AdjustArray(x))
Next
Catch ex As Exception
Console.WriteLine(ex.Message)
Finally
OleMessageFilter.Revoke()
End Try
End Sub
End Module