是否有可能从 Inventor 插件中的 DWG 导出 SVF
Is there a posibility to export a SVF from a DWG in an InventorPlugin
我目前正在尝试使用 Inventor Automation 修改绘图,然后将其导出为 SVF 格式供查看器使用。因此,我使用了来自 Autodesk 开发人员的示例项目:
https://github.com/akenson/da-extract-params
我尝试了将 3D 绘图导出为 SVF 的代码,效果很好。但是当我尝试将 2D 绘图(如 DWG)导出到 SVF 时,SVF 插件不会创建文件。
问题出现在方法 CreateForgeViewable() 中 SampleAutomation Class 中 ExtractParamsPlugin 项目。我认为问题可能出在插件选项的配置上...但是我找不到 SVF 插件的文档。
// Setup SVF options
if (oAddin.get_HasSaveCopyAsOptions(doc, oContext, oOptions))
{
oOptions.set_Value("GeometryType", 1);
oOptions.set_Value("EnableExpressTranslation", true);
oOptions.set_Value("SVFFileOutputDir", sessionDir);
oOptions.set_Value("ExportFileProperties", false);
oOptions.set_Value("ObfuscateLabels", true);
}
将 DWG 导出为 SVF 是否需要设置任何参数?或者是否有此插件的文档?
非常感谢您的回复。
此致
塞巴斯蒂安
目前,我们仅支持来自 Inventor (DA4I) Design Automation 的 3D SVF。如果您想要 2D DWG 的 SVF,您可以通过模型导数,或者通过 DA4I 输出到 PDF 并在 Forge Viewer 中使用它(通过 pdf.js),或者从 DA4I 输出 DWG,然后转到 AutoCAD 的设计自动化( DA4A) 导出。
下面是如何使用 Bundle 将 IDW 导出为 PDF 的示例
TranslatorAddIn PDFAddIn = (TranslatorAddIn)_inventorApplication.ApplicationAddIns.ItemById["{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}"];
if (PDFAddIn != null)
{
TranslationContext context = _inventorApplication.TransientObjects.CreateTranslationContext();
NameValueMap options = _inventorApplication.TransientObjects.CreateNameValueMap();
if (PDFAddIn.HasSaveCopyAsOptions[doc, context, options])
{
context.Type = IOMechanismEnum.kFileBrowseIOMechanism;
DataMedium dataMedium = _inventorApplication.TransientObjects.CreateDataMedium();
options.Value["Sheet_Range"] = PrintRangeEnum.kPrintAllSheets;
options.Value["Vector_Resolution"] = 300;
options.Value["All_Color_AS_Black"] = false;
options.Value["Sheets"] = GetSheetOptions(doc);
dataMedium.FileName = exportFileName;
PDFAddIn.SaveCopyAs(doc, context, options, dataMedium);
}
}
然后通过 Forge Viewer 使用 PDF
viewer.loadExtension('Autodesk.PDF');
viewer.loadModel( [pdfUrl], { page: 1 }); // load page 1 by default
我目前正在尝试使用 Inventor Automation 修改绘图,然后将其导出为 SVF 格式供查看器使用。因此,我使用了来自 Autodesk 开发人员的示例项目:
https://github.com/akenson/da-extract-params
我尝试了将 3D 绘图导出为 SVF 的代码,效果很好。但是当我尝试将 2D 绘图(如 DWG)导出到 SVF 时,SVF 插件不会创建文件。
问题出现在方法 CreateForgeViewable() 中 SampleAutomation Class 中 ExtractParamsPlugin 项目。我认为问题可能出在插件选项的配置上...但是我找不到 SVF 插件的文档。
// Setup SVF options
if (oAddin.get_HasSaveCopyAsOptions(doc, oContext, oOptions))
{
oOptions.set_Value("GeometryType", 1);
oOptions.set_Value("EnableExpressTranslation", true);
oOptions.set_Value("SVFFileOutputDir", sessionDir);
oOptions.set_Value("ExportFileProperties", false);
oOptions.set_Value("ObfuscateLabels", true);
}
将 DWG 导出为 SVF 是否需要设置任何参数?或者是否有此插件的文档?
非常感谢您的回复。
此致
塞巴斯蒂安
目前,我们仅支持来自 Inventor (DA4I) Design Automation 的 3D SVF。如果您想要 2D DWG 的 SVF,您可以通过模型导数,或者通过 DA4I 输出到 PDF 并在 Forge Viewer 中使用它(通过 pdf.js),或者从 DA4I 输出 DWG,然后转到 AutoCAD 的设计自动化( DA4A) 导出。
下面是如何使用 Bundle 将 IDW 导出为 PDF 的示例
TranslatorAddIn PDFAddIn = (TranslatorAddIn)_inventorApplication.ApplicationAddIns.ItemById["{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}"];
if (PDFAddIn != null)
{
TranslationContext context = _inventorApplication.TransientObjects.CreateTranslationContext();
NameValueMap options = _inventorApplication.TransientObjects.CreateNameValueMap();
if (PDFAddIn.HasSaveCopyAsOptions[doc, context, options])
{
context.Type = IOMechanismEnum.kFileBrowseIOMechanism;
DataMedium dataMedium = _inventorApplication.TransientObjects.CreateDataMedium();
options.Value["Sheet_Range"] = PrintRangeEnum.kPrintAllSheets;
options.Value["Vector_Resolution"] = 300;
options.Value["All_Color_AS_Black"] = false;
options.Value["Sheets"] = GetSheetOptions(doc);
dataMedium.FileName = exportFileName;
PDFAddIn.SaveCopyAs(doc, context, options, dataMedium);
}
}
然后通过 Forge Viewer 使用 PDF
viewer.loadExtension('Autodesk.PDF');
viewer.loadModel( [pdfUrl], { page: 1 }); // load page 1 by default