dgn文件格式导入或者链接进入Revit
心态都要崩了!!!!!大坑啊
手动操作没问题,都能导入,但是通过插件的方式导入就会不成功
DGNImportOptions这个类主要就两个比较特别的属性:
- DGNModelViewName:
主要的坑在这个属性上面,不是随便设置Name就可以。
api的描述是(The model view name to be imported. Need user give a model view name to specify which model view need to be imported into Revit)
主要就是这个"model view name"上面,需要一个特定的名字;我尝试了很多名字都不行,后来手动操作再操作一遍,发现除了文件名称外默认多了一个“-Default”,把这个名称加入就好了(DGNModelViewName = “Default”😉
- IgnoreUnsupportedElementWarning:
这个属性主要是跳过那些不支持的导入图元,设置成true就行了,对应的手动操作:
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
var uiDocument = commandData.Application.ActiveUIDocument;
var document = uiDocument.Document;
string dgnPath = @"C:\Users\aaa\Desktop\3333-V7.dgn";
using (Transaction transaction = new Transaction(document, "Link DGN"))
{
transaction.Start();
var actiview = document.ActiveView;
//设置dgn导入属性
DGNImportOptions importOptions = new DGNImportOptions();
importOptions.DGNModelViewName = "Default";
importOptions.IgnoreUnsupportedElementWarning = true;
var b = document.Link(dgnPath, importOptions, actiview, out ElementId id);
if (b) MessageBox.Show(id.IntegerValue.ToString());
else MessageBox.Show("No");
transaction.Commit();
}
return Result.Succeeded;
}