public void ExportSAT(Document doc) { string currentDirectory = System.IO.Directory.GetCurrentDirectory(); LogTrace("Export SAT file."); TranslatorAddIn SAT_AddIn = (TranslatorAddIn)_inventorApplication.ApplicationAddIns.ItemById["{89162634-02B6-11D5-8E80-0010B541CD80}"]; if (SAT_AddIn == null) { LogTrace("Could not access to SAT translator ..."); return; } TranslationContext oContext = _inventorApplication.TransientObjects.CreateTranslationContext(); NameValueMap map = _inventorApplication.TransientObjects.CreateNameValueMap(); if (SAT_AddIn.get_HasSaveCopyAsOptions(doc, oContext, map)) { LogTrace("SAT: Set context type"); oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism; LogTrace("SAT: create data medium"); DataMedium oData = _inventorApplication.TransientObjects.CreateDataMedium(); LogTrace("SAT save to: " + currentDirectory + "\\export.sat"); oData.FileName = currentDirectory + "\\export.sat"; map.set_Value("GeometryType", 1); SAT_AddIn.SaveCopyAs(doc, oContext, map, oData); LogTrace("SAT exported."); } }
public void RunWithArguments(Document doc, NameValueMap map) { LogTrace("Processing " + doc.FullFileName); try { //string dirPath = System.IO.Path.GetDirectoryName(doc.FullDocumentName); string currentDirPath = System.IO.Directory.GetCurrentDirectory(); #region ExportSAT file Trace.TraceInformation("Export SAT file."); TranslatorAddIn oSAT = null; foreach (ApplicationAddIn item in inventorApplication.ApplicationAddIns) { if (item.ClassIdString == "{89162634-02B6-11D5-8E80-0010B541CD80}") { Trace.TraceInformation("Finded the PDF addin."); oSAT = (TranslatorAddIn)item; break; } else { } } if (oSAT != null) { TranslationContext oContext = inventorApplication.TransientObjects.CreateTranslationContext(); NameValueMap oIgesMap = inventorApplication.TransientObjects.CreateNameValueMap(); if (oSAT.get_HasSaveCopyAsOptions(doc, oContext, oIgesMap)) { Trace.TraceInformation("SAT can be exported."); Trace.TraceInformation("SAT: Set context type"); oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism; Trace.TraceInformation("SAT: create data medium"); DataMedium oData = inventorApplication.TransientObjects.CreateDataMedium(); Trace.TraceInformation("SAT save to: " + currentDirPath + "\\export.sat"); oData.FileName = currentDirPath + "\\export.sat"; oIgesMap.set_Value("GeometryType", 1); oSAT.SaveCopyAs(doc, oContext, oIgesMap, oData); Trace.TraceInformation("SAT exported."); } #endregion GetListOfDirectory(System.IO.Directory.GetCurrentDirectory()); } } catch (Exception e) { LogError("Processing failed. " + e.ToString()); } }
public static bool ExportDwf( Inventor.Application App, Document doc, string filename) { try { TranslatorAddIn translator = App.ApplicationAddIns.get_ItemById( "{0AC6FD95-2F4D-42CE-8BE0-8AEA580399E4}") as TranslatorAddIn; Inventor.TranslationContext ctx = App.TransientObjects.CreateTranslationContext(); ctx.Type = Inventor.IOMechanismEnum.kFileBrowseIOMechanism; Inventor.NameValueMap options = App.TransientObjects.CreateNameValueMap(); Inventor.DataMedium medium = App.TransientObjects.CreateDataMedium(); if (translator.get_HasSaveCopyAsOptions(medium, ctx, options)) { options.set_Value("Launch_Viewer", 0); options.set_Value("Publish_Mode", 62723); options.set_Value("Publish_All_Sheets", 1); Inventor.NameValueMap sheets = App.TransientObjects.CreateNameValueMap(); Inventor.NameValueMap sheetOptions = App.TransientObjects.CreateNameValueMap(); sheetOptions.Add("Name", "Sheet:1"); sheetOptions.Add("3DModel", false); sheets.set_Value("Sheet1", sheetOptions); options.set_Value("Sheets", sheets); } medium.FileName = filename; translator.SaveCopyAs(doc, ctx, options, medium); return(true); } catch (Exception e) { return(false); } }
private void SaveAsPdf(Document doc, string fileName) { string dirPath = Directory.GetCurrentDirectory(); TranslatorAddIn oPDF = null; foreach (ApplicationAddIn item in inventorApplication.ApplicationAddIns) { if (item.ClassIdString == "{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}") { Trace.TraceInformation("Found the PDF addin."); oPDF = (TranslatorAddIn)item; break; } else { } } if (oPDF != null) { TranslationContext oContext = inventorApplication.TransientObjects.CreateTranslationContext(); NameValueMap oPdfMap = inventorApplication.TransientObjects.CreateNameValueMap(); if (oPDF.get_HasSaveCopyAsOptions(doc, oContext, oPdfMap)) { Trace.TraceInformation("PDF: can be exported."); Trace.TraceInformation("PDF: Set context type"); oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism; Trace.TraceInformation("PDF: create data medium"); DataMedium oData = inventorApplication.TransientObjects.CreateDataMedium(); string pdfFileName = dirPath + "/" + fileName + ".pdf"; Trace.TraceInformation("PDF save to: " + pdfFileName); oData.FileName = pdfFileName; oPdfMap.set_Value("All_Color_AS_Black", 0); oPDF.SaveCopyAs(doc, oContext, oPdfMap, oData); Trace.TraceInformation("PDF exported."); } } }
public bool GetTranslatorSaveAsOptions(string TranslatorClsId, ref NameValueMap options) { bool functionReturnValue = false; TranslatorAddIn oTranslator = (TranslatorAddIn)mApp.ApplicationAddIns.ItemById[TranslatorClsId]; if (oTranslator == null) { functionReturnValue = false; return(functionReturnValue); } oTranslator.Activate(); if ((oTranslator.AddInType != ApplicationAddInTypeEnum.kTranslationApplicationAddIn)) { //Not a translator addin... functionReturnValue = false; return(functionReturnValue); } //Gets application translation context and set type to UnspecifiedIOMechanism TranslationContext Context = mApp.TransientObjects.CreateTranslationContext(); Context.Type = IOMechanismEnum.kUnspecifiedIOMechanism; options = mApp.TransientObjects.CreateNameValueMap(); object SourceObject = mApp.ActiveDocument; //Checks whether the translator has 'SaveCopyAs' options try { functionReturnValue = oTranslator.get_HasSaveCopyAsOptions(SourceObject, Context, options); } catch { functionReturnValue = false; } return(functionReturnValue); }
private string SaveForgeViewable(Document doc) { string viewableOutputDir = null; //using (new HeartBeat()) { LogTrace($"** Saving SVF"); try { TranslatorAddIn oAddin = null; foreach (ApplicationAddIn item in inventorApplication.ApplicationAddIns) { if (item.ClassIdString == "{C200B99B-B7DD-4114-A5E9-6557AB5ED8EC}") { Trace.TraceInformation("SVF Translator addin is available"); oAddin = (TranslatorAddIn)item; break; } else { } } if (oAddin != null) { Trace.TraceInformation("SVF Translator addin is available"); TranslationContext oContext = inventorApplication.TransientObjects.CreateTranslationContext(); // Setting context type oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism; NameValueMap oOptions = inventorApplication.TransientObjects.CreateNameValueMap(); // Create data medium; DataMedium oData = inventorApplication.TransientObjects.CreateDataMedium(); Trace.TraceInformation("SVF save"); var workingDir = Directory.GetCurrentDirectory(); //Path.GetDirectoryName(doc.FullFileName); var sessionDir = Path.Combine(workingDir, "SvfOutput"); // Make sure we delete any old contents that may be in the output directory first, // this is for local debugging. In DA4I the working directory is always clean if (Directory.Exists(sessionDir)) { Directory.Delete(sessionDir, true); } oData.FileName = Path.Combine(sessionDir, "result.collaboration"); var outputDir = Path.Combine(sessionDir, "output"); var bubbleFileOriginal = Path.Combine(outputDir, "bubble.json"); var bubbleFileNew = Path.Combine(sessionDir, "bubble.json"); // Setup SVF options if (oAddin.get_HasSaveCopyAsOptions(doc, oContext, oOptions)) { oOptions.set_Value("EnableExpressTranslation", false); oOptions.set_Value("SVFFileOutputDir", sessionDir); oOptions.set_Value("ExportFileProperties", true); oOptions.set_Value("ObfuscateLabels", false); } LogTrace($"SVF files are oputput to: {oOptions.get_Value("SVFFileOutputDir")}"); oAddin.SaveCopyAs(doc, oContext, oOptions, oData); Trace.TraceInformation("SVF can be exported."); LogTrace($"Moving bubble file"); File.Move(bubbleFileOriginal, bubbleFileNew); LogTrace($"Deleting result.collaboration"); File.Delete(oData.FileName); viewableOutputDir = sessionDir; LogTrace($"Finished SVF generation"); } } catch (Exception e) { LogError($"********Export to format SVF failed: {e.Message}"); return(null); } } return(viewableOutputDir); }
public void RunWithArguments(Document doc, NameValueMap map) { StringBuilder traceInfo = new StringBuilder("RunWithArguments called with "); traceInfo.Append(doc.DisplayName); Trace.TraceInformation(map.Count.ToString()); // values in map are keyed on _1, _2, etc for (int i = 0; i < map.Count; i++) { traceInfo.Append(" and "); traceInfo.Append(map.Value["_" + (i + 1)]); } Trace.TraceInformation(traceInfo.ToString()); string dirPath = System.IO.Path.GetDirectoryName(doc.FullDocumentName); #region ExportSAT file Trace.TraceInformation("Export SAT file."); TranslatorAddIn oSAT = null; foreach (ApplicationAddIn item in m_inventorServer.ApplicationAddIns) { if (item.ClassIdString == "{89162634-02B6-11D5-8E80-0010B541CD80}") { Trace.TraceInformation("Finded the PDF addin."); oSAT = (TranslatorAddIn)item; break; } else { } } if (oSAT != null) { TranslationContext oContext = m_inventorServer.TransientObjects.CreateTranslationContext(); NameValueMap oIgesMap = m_inventorServer.TransientObjects.CreateNameValueMap(); if (oSAT.get_HasSaveCopyAsOptions(doc, oContext, oIgesMap)) { Trace.TraceInformation("SAT can be exported."); Trace.TraceInformation("SAT: Set context type"); oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism; Trace.TraceInformation("SAT: create data medium"); DataMedium oData = m_inventorServer.TransientObjects.CreateDataMedium(); Trace.TraceInformation("SAT save to: " + dirPath + "\\export.sat"); oData.FileName = dirPath + "\\export.sat"; oIgesMap.set_Value("GeometryType", 1); oSAT.SaveCopyAs(doc, oContext, oIgesMap, oData); Trace.TraceInformation("SAT exported."); } #endregion } }