Returns the type of the currently active document.
Visual Basic |
---|
Public Property ActiveDocumentType As DocumentTypeConstants |
Option Infer On Imports System Imports System.Runtime.InteropServices Namespace Examples Friend Class Program <STAThread> Shared Sub Main(ByVal args() As String) Dim application As SolidEdgeFramework.Application = Nothing Try ' See "Handling 'Application is Busy' and 'Call was Rejected By Callee' errors" topic. OleMessageFilter.Register() ' Attempt to connect to a running instance of Solid Edge. application = DirectCast(Marshal.GetActiveObject("SolidEdge.Application"), SolidEdgeFramework.Application) ' ActiveDocumentType will throw an exception if no document is open. Select Case application.ActiveDocumentType Case SolidEdgeFramework.DocumentTypeConstants.igAssemblyDocument Dim assemblyDocument = CType(application.ActiveDocument, SolidEdgeAssembly.AssemblyDocument) Case SolidEdgeFramework.DocumentTypeConstants.igDraftDocument Dim draftDocument = CType(application.ActiveDocument, SolidEdgeDraft.DraftDocument) Case SolidEdgeFramework.DocumentTypeConstants.igPartDocument Dim partDocument = CType(application.ActiveDocument, SolidEdgePart.PartDocument) Case SolidEdgeFramework.DocumentTypeConstants.igSheetMetalDocument Dim sheetMetalDocument = CType(application.ActiveDocument, SolidEdgePart.SheetMetalDocument) Case SolidEdgeFramework.DocumentTypeConstants.igWeldmentAssemblyDocument Dim weldmentAssemblyDocument = CType(application.ActiveDocument, SolidEdgeAssembly.AssemblyDocument) Case SolidEdgeFramework.DocumentTypeConstants.igWeldmentDocument Dim weldmentDocument = CType(application.ActiveDocument, SolidEdgePart.WeldmentDocument) End Select Catch ex As System.Exception Console.WriteLine(ex) Finally OleMessageFilter.Unregister() End Try End Sub End Class End Namespace
using System; using System.Runtime.InteropServices; namespace Examples { class Program { [STAThread] static void Main(string[] args) { SolidEdgeFramework.Application application = null; try { // See "Handling 'Application is Busy' and 'Call was Rejected By Callee' errors" topic. OleMessageFilter.Register(); // Attempt to connect to a running instance of Solid Edge. application = (SolidEdgeFramework.Application)Marshal.GetActiveObject("SolidEdge.Application"); // ActiveDocumentType will throw an exception if no document is open. switch (application.ActiveDocumentType) { case SolidEdgeFramework.DocumentTypeConstants.igAssemblyDocument: var assemblyDocument = (SolidEdgeAssembly.AssemblyDocument)application.ActiveDocument; break; case SolidEdgeFramework.DocumentTypeConstants.igDraftDocument: var draftDocument = (SolidEdgeDraft.DraftDocument)application.ActiveDocument; break; case SolidEdgeFramework.DocumentTypeConstants.igPartDocument: var partDocument = (SolidEdgePart.PartDocument)application.ActiveDocument; break; case SolidEdgeFramework.DocumentTypeConstants.igSheetMetalDocument: var sheetMetalDocument = (SolidEdgePart.SheetMetalDocument)application.ActiveDocument; break; case SolidEdgeFramework.DocumentTypeConstants.igWeldmentAssemblyDocument: var weldmentAssemblyDocument = (SolidEdgeAssembly.AssemblyDocument)application.ActiveDocument; break; case SolidEdgeFramework.DocumentTypeConstants.igWeldmentDocument: var weldmentDocument = (SolidEdgePart.WeldmentDocument)application.ActiveDocument; break; } } catch (System.Exception ex) { Console.WriteLine(ex); } finally { OleMessageFilter.Unregister(); } } } }