Revit二次开发小技巧分享(六)怎样子测试线方便

该博客介绍了一种在Revit项目中利用API生成详图视图来调试Line类的方法。通过创建或更新绘图视图,并清除原有线条,然后在新视图中绘制线条,以便于观察和调试线在项目中的位置。此方法适用于快速定位和测试内存中的线元素,不会影响原始视图内容。
摘要由CSDN通过智能技术生成

转载附原文链接:https://blog.csdn.net/Oneal5354/article/details/109263417
在项目中,会运用到很多内存中的线,即Line类。可是我们只能看到他的点坐标信息,但是并不能直接知道这个线在项目中所在的位置具体在哪里。所以自己封装了一个方法来给自己方便测试。Just Do It~~~

 /// <summary>
        /// 生成详图视图来测试
        /// </summary>
        /// <param name="allLineList"></param>
        /// <param name="doc"></param>
        public static ViewDrafting DLineTest(this List<Line> allLineList, Document doc, string name)
        {
            var v = new FilteredElementCollector(doc).OfClass(typeof(ViewFamilyType)).Cast<ViewFamilyType>().Where(x => x.ViewFamily == ViewFamily.Drafting).FirstOrDefault();
            ViewDrafting vd = new FilteredElementCollector(doc).OfClass(typeof(ViewDrafting)).Cast<ViewDrafting>().Where(x => x.Name == name).FirstOrDefault();
            if (vd == null)
            {
                Transaction trans = new Transaction(doc, "创建绘图视图");
                trans.Start();
                vd = ViewDrafting.Create(doc, v.Id);
                vd.Name = name;
                trans.Commit();
            }
            else
            {
                List<ElementId> curves = new FilteredElementCollector(doc, vd.Id).OfClass(typeof(CurveElement)).OfType<CurveElement>().Select(x => x.Id).ToList();
                Transaction trans3 = new Transaction(doc, "删除详图线");
                trans3.Start();
                doc.Delete(curves);
                trans3.Commit();
            }
            Transaction trans2 = new Transaction(doc, "创建详图线");
            trans2.Start();
            allLineList.CreateDetailLine(doc, vd);
            trans2.Commit();
            return vd;
        }

在今后对线的调试中可以用这个方法去调试,会生成一个新的详图视图,可以去对应观察,不影响原本视图中的东西哦。这是一个粗略的操作,原则上需要避免事务在方法中开启,这里仅仅调试需要,希望可以帮到你

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

baobao熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值