【发布时间】:2020-11-23 17:49:50
【问题描述】:
我们公司有数百个旧版 AutoCAD 细节可供选择以导入 Revit。我们正在使用 Revit 2021 和 C# (Visual Studio 2019) 来访问 Revit API。我们已经有了创建绘图视图和导入 DWG 文件的代码。我们仍然需要弄清楚的是如何不导入某些图层(即 Defpoints),以及如何在每个图层的基础上更改线图形(颜色和/或线宽)。通常这是通过 Revit 中的 VG Overrides 对话框完成的,但我们希望在导入过程中以编程方式完成。以下哪项是最佳做法?
解决方案 #1:仅导入“可见”图层。这是我们当前的但不太理想的解决方案,需要在导入之前手动关闭图层。
DWGImportOptions options = new DWGImportOptions
{
VisibleLayersOnly = true,
};
doc.Import(@detailfilename, options, detailview, out elemId);
解决方案 #2:使用 DWGImportOptions 类下的 SetLayerSelection 方法。这要求将 ICollection 对象传递给包含要导入的图层的方法。 如何将 DWG 文件中的图层读取到 ICollection 对象中? 非常感谢您提供 sn-p 代码。
解决方案 #3:我们没有想到的其他方法。
提前感谢您的帮助和专业知识。代码片段将不胜感激。
【问题讨论】: