void DoOpenSaveInternal(string filePath, OpenSaveSettings openSaveSettings) { // Register with OLE to handle concurrency issues on the current thread. SolidEdgeCommunity.OleMessageFilter.Register(); try { SolidEdgeFramework.Application application = SolidEdgeCommunity.SolidEdgeUtils.Connect(true); SolidEdgeFramework.Documents documents = null; SolidEdgeFramework.SolidEdgeDocument document = null; application.DisplayAlerts = openSaveSettings.Application.DisplayAlerts; application.Visible = openSaveSettings.Application.Visible; if (openSaveSettings.Application.DisableAddins == true) { DisableAddins(application); } // Disable (most) prompts. application.DisplayAlerts = false; // Get a reference to the documents collection. documents = application.Documents; // Close any documents that may be left open for whatever reason. documents.Close(); // Open the file. document = documents.Open <SolidEdgeFramework.SolidEdgeDocument>(filePath); application.DoIdle(); if (document != null) { // Environment specific routines. if (document is SolidEdgeAssembly.AssemblyDocument) { DoOpenSave((SolidEdgeAssembly.AssemblyDocument)document, openSaveSettings.Assembly); } else if (document is SolidEdgeDraft.DraftDocument) { DoOpenSave((SolidEdgeDraft.DraftDocument)document, openSaveSettings.Draft); } else if (document is SolidEdgePart.PartDocument) { DoOpenSave((SolidEdgePart.PartDocument)document, openSaveSettings.Part); } else if (document is SolidEdgePart.SheetMetalDocument) { DoOpenSave((SolidEdgePart.SheetMetalDocument)document, openSaveSettings.SheetMetal); } else if (document is SolidEdgePart.WeldmentDocument) { DoOpenSave((SolidEdgePart.WeldmentDocument)document, openSaveSettings.Weldment); } // Save document. document.Save(); // Close document. document.Close(); application.DoIdle(); } } finally { SolidEdgeCommunity.OleMessageFilter.Unregister(); } }
void DoOpenSaveInternal(string filePath, OpenSaveSettings openSaveSettings) { // Register with OLE to handle concurrency issues on the current thread. SolidEdgeCommunity.OleMessageFilter.Register(); try { SolidEdgeFramework.Application application = SolidEdgeCommunity.SolidEdgeUtils.Connect(true); SolidEdgeFramework.Documents documents = null; SolidEdgeFramework.SolidEdgeDocument document = null; application.DisplayAlerts = openSaveSettings.Application.DisplayAlerts; application.Visible = openSaveSettings.Application.Visible; if (openSaveSettings.Application.DisableAddins == true) { DisableAddins(application); } // Disable (most) prompts. application.DisplayAlerts = false; // Get a reference to the documents collection. documents = application.Documents; // Close any documents that may be left open for whatever reason. documents.Close(); // Open the file. document = documents.Open<SolidEdgeFramework.SolidEdgeDocument>(filePath); application.DoIdle(); if (document != null) { // Environment specific routines. if (document is SolidEdgeAssembly.AssemblyDocument) { DoOpenSave((SolidEdgeAssembly.AssemblyDocument)document, openSaveSettings.Assembly); } else if (document is SolidEdgeDraft.DraftDocument) { DoOpenSave((SolidEdgeDraft.DraftDocument)document, openSaveSettings.Draft); } else if (document is SolidEdgePart.PartDocument) { DoOpenSave((SolidEdgePart.PartDocument)document, openSaveSettings.Part); } else if (document is SolidEdgePart.SheetMetalDocument) { DoOpenSave((SolidEdgePart.SheetMetalDocument)document, openSaveSettings.SheetMetal); } else if (document is SolidEdgePart.WeldmentDocument) { DoOpenSave((SolidEdgePart.WeldmentDocument)document, openSaveSettings.Weldment); } // Save document. document.Save(); // Close document. document.Close(); application.DoIdle(); } } finally { SolidEdgeCommunity.OleMessageFilter.Unregister(); } }
public void DoOpenSave(string filePath, OpenSaveSettings openSaveSettings) { InvokeSTAThread <string, OpenSaveSettings>(DoOpenSaveInternal, filePath, openSaveSettings); }
public void DoOpenSave(string filePath, OpenSaveSettings openSaveSettings) { InvokeSTAThread<string, OpenSaveSettings>(DoOpenSaveInternal, filePath, openSaveSettings); }