Revit Design Automation:可以设置 IFC 导出设置吗?
Revit Design Automation: Possible to Set IFC Export Setting?
我注意到 Model Derivatives 能够使用指定的导出设置名称将 Revit 转换为 IFC。是否可以在设计自动化中做同样的事情? Autodesk 导出器 (Autodesk.IFC.Export.UI) 能够利用保存的导出设置,但它不能用于设计自动化,因为它依赖于 RevitAPIUI。目前,我已经尝试截取部分源代码并将其放入我的加载项中,但我想知道是否有更简单的方法来做到这一点。
更新:
已迁移 Revit DA 的 Revit 附加模块:https://github.com/yiskang/forge-revit-ifc-exporter-appbundle
==========
不幸的是,恐怕它没有内置在 Revit DA 中,因为它们来自 Autodesk/revit-ifc。
但您可以将 IFCExportConfigurationsMap.cs, IFCExportConfiguration.cs and Enums 移植到您自己的 Revit 插件。
用法示例:
var configurationsMap = new IFCExportConfigurationsMap();
//configurationsMap.Add(IFCExportConfiguration.GetInSession());
configurationsMap.AddBuiltInConfigurations();
configurationsMap.AddSavedConfigurations();
var selectedConfig = configurationsMap["IFC2x3 Coordination View 2.0"];
var exportOptions = new IFCExportOptions();
ElementId activeViewId = document.ActiveView.Id;
selectedConfig.ActiveViewId = selectedConfig.UseActiveViewGeometry ? activeViewId.IntegerValue : -1;
selectedConfig.UpdateOptions(exportOptions, activeViewId);
bool result = document.Export(path, fileName, exportOptions);
参考文献:
- https://github.com/Autodesk/revit-ifc/blob/9a6fc912fb8510647f9d2bcc0d57b0451a2194b6/Source/IFCExporterUIOverride/IFCCommandOverrideApplication.cs#L184
- https://github.com/Autodesk/revit-ifc/blob/9a6fc912fb8510647f9d2bcc0d57b0451a2194b6/Source/IFCExporterUIOverride/IFCCommandOverrideApplication.cs#L261
我注意到 Model Derivatives 能够使用指定的导出设置名称将 Revit 转换为 IFC。是否可以在设计自动化中做同样的事情? Autodesk 导出器 (Autodesk.IFC.Export.UI) 能够利用保存的导出设置,但它不能用于设计自动化,因为它依赖于 RevitAPIUI。目前,我已经尝试截取部分源代码并将其放入我的加载项中,但我想知道是否有更简单的方法来做到这一点。
更新:
已迁移 Revit DA 的 Revit 附加模块:https://github.com/yiskang/forge-revit-ifc-exporter-appbundle
==========
不幸的是,恐怕它没有内置在 Revit DA 中,因为它们来自 Autodesk/revit-ifc。
但您可以将 IFCExportConfigurationsMap.cs, IFCExportConfiguration.cs and Enums 移植到您自己的 Revit 插件。
用法示例:
var configurationsMap = new IFCExportConfigurationsMap();
//configurationsMap.Add(IFCExportConfiguration.GetInSession());
configurationsMap.AddBuiltInConfigurations();
configurationsMap.AddSavedConfigurations();
var selectedConfig = configurationsMap["IFC2x3 Coordination View 2.0"];
var exportOptions = new IFCExportOptions();
ElementId activeViewId = document.ActiveView.Id;
selectedConfig.ActiveViewId = selectedConfig.UseActiveViewGeometry ? activeViewId.IntegerValue : -1;
selectedConfig.UpdateOptions(exportOptions, activeViewId);
bool result = document.Export(path, fileName, exportOptions);
参考文献:
- https://github.com/Autodesk/revit-ifc/blob/9a6fc912fb8510647f9d2bcc0d57b0451a2194b6/Source/IFCExporterUIOverride/IFCCommandOverrideApplication.cs#L184
- https://github.com/Autodesk/revit-ifc/blob/9a6fc912fb8510647f9d2bcc0d57b0451a2194b6/Source/IFCExporterUIOverride/IFCCommandOverrideApplication.cs#L261