Since all Solid Edge Documents implement the SolidEdgeFramework.SolidEdgeDocument interface, we can use the interface to query generic information about the document before performing specific document environment routines.
Determining Document Type from Visual Basic .NET |
Copy Code
|
Imports System.Runtime.InteropServices
Module Program
<STAThread()> _
Sub Main()
Dim objApplication As SolidEdgeFramework.Application = Nothing
Dim objDocument As SolidEdgeFramework.SolidEdgeDocument = Nothing
Try
OleMessageFilter.Register()
' Connect to a running instance of Solid Edge.
objApplication = Marshal.GetActiveObject("SolidEdge.Application")
' Get a reference to the active document.
objDocument = objApplication.ActiveDocument
' Using Type property, determine document type.
Select Case objDocument.Type
Case SolidEdgeFramework.DocumentTypeConstants.igAssemblyDocument
Console.WriteLine("Assembly Document")
Case SolidEdgeFramework.DocumentTypeConstants.igDraftDocument
Console.WriteLine("Draft Document")
Case SolidEdgeFramework.DocumentTypeConstants.igPartDocument
Console.WriteLine("Part Document")
Case SolidEdgeFramework.DocumentTypeConstants.igSheetMetalDocument
Console.WriteLine("SheetMetal Document")
Case SolidEdgeFramework.DocumentTypeConstants.igUnknownDocument
Console.WriteLine("Unknown Document")
End Select
Catch ex As Exception
Console.WriteLine(ex.Message)
Finally
OleMessageFilter.Revoke()
End Try
End Sub
End Module |
Determining Document Type from C# |
Copy Code
|
using Examples;
using System;
using System.Runtime.InteropServices;
namespace SolidEdge.SDK
{
class Program
{
[STAThread]
static void Main(string[] args)
{
SolidEdgeFramework.Application application = null;
SolidEdgeFramework.SolidEdgeDocument document = null;
try
{
OleMessageFilter.Register();
// Connect to a running instance of Solid Edge.
application = (SolidEdgeFramework.Application)
Marshal.GetActiveObject("SolidEdge.Application");
// Get a reference to the active document.
document = (SolidEdgeFramework.SolidEdgeDocument)
application.ActiveDocument;
// Using Type property, determine document type.
switch (document.Type)
{
case SolidEdgeFramework.DocumentTypeConstants.igAssemblyDocument:
Console.WriteLine("Assembly Document");
break;
case SolidEdgeFramework.DocumentTypeConstants.igDraftDocument:
Console.WriteLine("Draft Document");
break;
case SolidEdgeFramework.DocumentTypeConstants.igPartDocument:
Console.WriteLine("Part Document");
break;
case SolidEdgeFramework.DocumentTypeConstants.igSheetMetalDocument:
Console.WriteLine("SheetMetal Document");
break;
case SolidEdgeFramework.DocumentTypeConstants.igUnknownDocument:
Console.WriteLine("Unknown Document");
break;
case SolidEdgeFramework.DocumentTypeConstants.igWeldmentAssemblyDocument:
Console.WriteLine("Weldment Assembly Document");
break;
case SolidEdgeFramework.DocumentTypeConstants.igWeldmentDocument:
Console.WriteLine("Weldment Document");
break;
}
}
catch (System.Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
OleMessageFilter.Revoke();
}
}
}
} |