【Revit 二次开发】关于DGN文件导入Revit遇到的坑

dgn文件格式导入或者链接进入Revit
心态都要崩了!!!!!大坑啊

手动操作没问题,都能导入,但是通过插件的方式导入就会不成功
DGNImportOptions这个类主要就两个比较特别的属性:

  1. 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”😉

在这里插入图片描述

  1. 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;
}
  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值