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 objCoordinateSystem As SolidEdgePart.CoordinateSystem
Dim objSourceAssemblyDocument As SolidEdgeAssembly.AssemblyDocument
Dim objSourceSolidEdgeDocument As SolidEdgeFramework.SolidEdgeDocument
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")
objCoordinateSystem = objAssemblyCopy.CoordinateSystem
Console.Write("Add new components on update: ")
Console.WriteLine(objAssemblyCopy.AddNewComponentsOnUpdate)
Console.Write("IsFrozen: ")
Console.WriteLine(objAssemblyCopy.IsFrozen)
Console.Write("Is Out of Date: ")
Console.WriteLine(objAssemblyCopy.IsOutOfDate)
Console.Write("IncludeAssemblyFeatures: ")
Console.WriteLine(objAssemblyCopy.IncludeAssemblyFeatures)
Console.Write("Coordinate System: : ")
Console.WriteLine(objCoordinateSystem.DisplayName)
Console.Write("Source Document Name: ")
Console.WriteLine(objAssemblyCopy.SourceFilename)
Console.Write("Source Document Display Name: ")
If Not (objAssemblyCopy.AssemblyCopyType = SolidEdgeAssembly.AssemblyCopyTypeConstants.seAssemblyCopyTypeMultiBodyPart) Then
objSourceAssemblyDocument = objAssemblyCopy.SourceDocument
Console.WriteLine(objSourceAssemblyDocument.DisplayName)
Else
objSourceSolidEdgeDocument = objAssemblyCopy.SourceDocument
Console.WriteLine(objSourceSolidEdgeDocument.FullName)
End If
objMirrorAsmRefPlane = objAssemblyCopy.MirrorPlane
If (objMirrorAsmRefPlane Is Nothing) Then
Console.WriteLine("No mirror plane")
Else
Console.Write("Mirror plane: ")
Console.WriteLine(objMirrorAsmRefPlane.Name)
End If
If (objAssemblyCopy.AssemblyCopyType = SolidEdgeAssembly.AssemblyCopyTypeConstants.seAssemblyCopyTypeDefault) Then
Console.WriteLine("Copy Type: Default")
ElseIf (objAssemblyCopy.AssemblyCopyType = SolidEdgeAssembly.AssemblyCopyTypeConstants.seAssemblyCopyTypeMirror) Then
Console.WriteLine("Copy Type: Mirror")
Else
Console.WriteLine("Copy Type: MultiPart")
End If
If (objAssemblyCopy.Status = SolidEdgeAssembly.AssemblyCopyStatusConstants.seAssemblyCopyStatusOK) Then
Console.WriteLine("Copy is OK")
Else
Console.WriteLine("Copy has a problem")
End If
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
using System;
using System.IO;
using System.Runtime.InteropServices;
internal static class Example
{
[STAThread()]
public static void Main()
{
SolidEdgeFramework.Application objApplication = null;
SolidEdgeAssembly.AssemblyDocument objAssemblyDocument = null;
SolidEdgeAssembly.AssemblyCopies objAssemblyCopies = null;
SolidEdgeAssembly.AssemblyCopy objAssemblyCopy = null;
SolidEdgePart.CoordinateSystem objCoordinateSystem = null;
SolidEdgeAssembly.AssemblyDocument objSourceAssemblyDocument = null;
SolidEdgeFramework.SolidEdgeDocument objSourceSolidEdgeDocument = null;
SolidEdgeAssembly.AsmRefPlane objMirrorAsmRefPlane = objAssemblyCopy.MirrorPlane;
try
{
OleMessageFilter.Register();
objApplication = (SolidEdgeFramework.Application)Marshal.GetActiveObject("SolidEdge.Application");
objAssemblyDocument = objApplication.ActiveDocument;
objAssemblyCopies = objAssemblyDocument.AssemblyCopies;
objAssemblyCopy = objAssemblyCopies.Item("Assembly Copy_1");
objCoordinateSystem = objAssemblyCopy.CoordinateSystem;
Console.Write("Add new components on update: ");
Console.WriteLine(objAssemblyCopy.AddNewComponentsOnUpdate);
Console.Write("IsFrozen: ");
Console.WriteLine(objAssemblyCopy.IsFrozen);
Console.Write("Is Out of Date: ");
Console.WriteLine(objAssemblyCopy.IsOutOfDate);
Console.Write("IncludeAssemblyFeatures: ");
Console.WriteLine(objAssemblyCopy.IncludeAssemblyFeatures);
Console.Write("Coordinate System: : ");
Console.WriteLine(objCoordinateSystem.DisplayName);
Console.Write("Source Document Name: ");
Console.WriteLine(objAssemblyCopy.SourceFilename);
Console.Write("Source Document Display Name: ");
if (!(objAssemblyCopy.AssemblyCopyType == SolidEdgeAssembly.AssemblyCopyTypeConstants.seAssemblyCopyTypeMultiBodyPart))
{
objSourceAssemblyDocument = objAssemblyCopy.SourceDocument;
Console.WriteLine(objSourceAssemblyDocument.DisplayName);
}
else
{
objSourceSolidEdgeDocument = objAssemblyCopy.SourceDocument;
Console.WriteLine(objSourceSolidEdgeDocument.FullName);
}
objMirrorAsmRefPlane = objAssemblyCopy.MirrorPlane;
if (objMirrorAsmRefPlane == null)
{
Console.WriteLine("No mirror plane");
}
else
{
Console.Write("Mirror plane: ");
Console.WriteLine(objMirrorAsmRefPlane.Name);
}
if (objAssemblyCopy.AssemblyCopyType == SolidEdgeAssembly.AssemblyCopyTypeConstants.seAssemblyCopyTypeDefault)
{
Console.WriteLine("Copy Type: Default");
}
else if (objAssemblyCopy.AssemblyCopyType == SolidEdgeAssembly.AssemblyCopyTypeConstants.seAssemblyCopyTypeMirror)
{
Console.WriteLine("Copy Type: Mirror");
}
else
{
Console.WriteLine("Copy Type: MultiPart");
}
if (objAssemblyCopy.Status == SolidEdgeAssembly.AssemblyCopyStatusConstants.seAssemblyCopyStatusOK)
{
Console.WriteLine("Copy is OK");
}
else
{
Console.WriteLine("Copy has a problem");
}
Array inArray = (Array[])Array.CreateInstance(typeof(System.Object), 2);
Array outArray = (Array[])Array.CreateInstance(typeof(SolidEdgeAssembly.Occurrence), 2);
Array fileArray = (Array[])Array.CreateInstance(typeof(System.Object), 2);
Array ActionArray = (Array[])Array.CreateInstance(typeof(SolidEdgeConstants.AssemblyCopyActionConstants), 2);
Array AdjustArray = (Array[])Array.CreateInstance(typeof(SolidEdgeConstants.AssemblyCopyPlaneConstants), 2);
Array EnumArray = (Array[])Array.CreateInstance(typeof(SolidEdgeConstants.AssemblyCopyUserConstants), 2);
objAssemblyCopy.GetDefinition(inArray, outArray, ActionArray, AdjustArray, EnumArray);
int x = 1;
for (x = 0; x < inArray.Length; x++)
{
SolidEdgeAssembly.Occurrence occ = inArray[x];
Console.Write(occ.Name);
Console.Write(" input: ");
if (outArray[x] != null)
{
occ = outArray[x];
Console.Write(occ.Name);
}
else
{
Console.Write(" Excluded");
}
if (ActionArray[x] == SolidEdgeConstants.AssemblyCopyActionConstants.seAssemblyCopyActionInclude)
{
Console.Write(" Included ");
}
else if (ActionArray[x] == SolidEdgeConstants.AssemblyCopyActionConstants.seAssemblyCopyActionMirror)
{
Console.Write(" Mirrored ");
}
else if (ActionArray[x] == SolidEdgeConstants.AssemblyCopyActionConstants.seAssemblyCopyActionRotate)
{
Console.Write(" Rotated ");
}
else if (ActionArray[x] == SolidEdgeConstants.AssemblyCopyActionConstants.seAssemblyCopyActionPending)
{
Console.Write(" Pending ");
}
else
{
Console.Write(" Excluded ");
}
if (EnumArray[x] == SolidEdgeConstants.AssemblyCopyUserConstants.seAssemblyCopyDefault)
{
Console.Write(" Default ");
}
else
{
Console.Write(" Modified ");
}
Console.WriteLine(AdjustArray[x]);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
OleMessageFilter.Revoke();
}
}
}