Returns the currently active document.
Visual Basic |
---|
Public Property ActiveDocument As Object |
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) ' ActiveDocument will throw an exception if no document is open. ' Cast the result to the SolidEdgeFramework.SolidEdgeDocument type. Dim activeDocument = CType(application.ActiveDocument, SolidEdgeFramework.SolidEdgeDocument) ' The Type property specifies the actual document type. ' You can now cast to the environment specific document type. Select Case activeDocument.Type Case SolidEdgeFramework.DocumentTypeConstants.igAssemblyDocument Dim assemblyDocument = CType(activeDocument, SolidEdgeAssembly.AssemblyDocument) Case SolidEdgeFramework.DocumentTypeConstants.igDraftDocument Dim draftDocument = CType(activeDocument, SolidEdgeDraft.DraftDocument) Case SolidEdgeFramework.DocumentTypeConstants.igPartDocument Dim partDocument = CType(activeDocument, SolidEdgePart.PartDocument) Case SolidEdgeFramework.DocumentTypeConstants.igSheetMetalDocument Dim sheetMetalDocument = CType(activeDocument, SolidEdgePart.SheetMetalDocument) Case SolidEdgeFramework.DocumentTypeConstants.igWeldmentAssemblyDocument Dim weldmentAssemblyDocument = CType(activeDocument, SolidEdgeAssembly.AssemblyDocument) Case SolidEdgeFramework.DocumentTypeConstants.igWeldmentDocument Dim weldmentDocument = CType(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"); // ActiveDocument will throw an exception if no document is open. // Cast the result to the SolidEdgeFramework.SolidEdgeDocument type. var activeDocument = (SolidEdgeFramework.SolidEdgeDocument)application.ActiveDocument; // The Type property specifies the actual document type. // You can now cast to the environment specific document type. switch (activeDocument.Type) { case SolidEdgeFramework.DocumentTypeConstants.igAssemblyDocument: var assemblyDocument = (SolidEdgeAssembly.AssemblyDocument)activeDocument; break; case SolidEdgeFramework.DocumentTypeConstants.igDraftDocument: var draftDocument = (SolidEdgeDraft.DraftDocument)activeDocument; break; case SolidEdgeFramework.DocumentTypeConstants.igPartDocument: var partDocument = (SolidEdgePart.PartDocument)activeDocument; break; case SolidEdgeFramework.DocumentTypeConstants.igSheetMetalDocument: var sheetMetalDocument = (SolidEdgePart.SheetMetalDocument)activeDocument; break; case SolidEdgeFramework.DocumentTypeConstants.igWeldmentAssemblyDocument: var weldmentAssemblyDocument = (SolidEdgeAssembly.AssemblyDocument)activeDocument; break; case SolidEdgeFramework.DocumentTypeConstants.igWeldmentDocument: var weldmentDocument = (SolidEdgePart.WeldmentDocument)activeDocument; break; } } catch (System.Exception ex) { Console.WriteLine(ex); } finally { OleMessageFilter.Unregister(); } } } }