前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Revit二次开发——创建和切换标记(第十六期)

Revit二次开发——创建和切换标记(第十六期)

作者头像
一席青衣卧龙城
发布2022-04-21 12:22:33
9220
发布2022-04-21 12:22:33
举报
文章被收录于专栏:Revit二次开发

开头先讲一个问题,平时做施工图标记的时候一根梁的标记是非常多的,所以我们会通过切换标记的形式来切换标记(如下图所示),那这在代码中是如何实现的呢?


首先查看API,这是我们创建一个NewTag所需要的各个参数:

第一个参数:我们用doc.ActiveView当前活动视图;

第二个参数:找到我们的梁;

第三个参数:是否加箭头;

第四个参数:有三种形式:类别标记,多类别标记和材质。我们选第一个类别标记。

第五个参数:水平方向还是竖直方向。

第六个参数:坐标

代码语言:javascript
复制
FilteredElementCollector fil = new FilteredElementCollector(doc, uiDoc.ActiveView.Id);
            fil.OfCategory(BuiltInCategory.OST_StructuralFraming);//梁
            foreach(Element el in fil)
            {
                 IndependentTag tagg = doc.Create.NewTag(doc.ActiveView, el, true, TagMode.TM_ADDBY_CATEGORY, TagOrientation.Vertical, new XYZ (0,0,0));//给每一夸梁进行标记
            }

实现的效果:

系统只按默认的上次的选择进行创建,不能实现一件标记,那么接下来该怎么做呢?


这里只需要用到一句话: tagg.ChangeTypeId(id);

和上边的代码全部整合:

代码语言:javascript
复制
  FilteredElementCollector fil = new FilteredElementCollector(doc, uiDoc.ActiveView.Id);
            fil.OfCategory(BuiltInCategory.OST_StructuralFraming);//梁
            FilteredElementCollector filtered = new FilteredElementCollector(doc);//标注
            filtered.OfClass(typeof(FamilySymbol)).OfCategory(BuiltInCategory.OST_StructuralFramingTags);
            ElementId id = null;
            foreach (FamilySymbol tag in filtered)
            {
                if (tag.Name == "梁集中标注")
                {
                    id = tag.Id;
                }
            }
                foreach (Element el in fil)
            {
                 IndependentTag tagg = doc.Create.NewTag(doc.ActiveView, el, true, TagMode.TM_ADDBY_CATEGORY, TagOrientation.Vertical, new XYZ (0,15,0));//给每一夸梁进行标记
                tagg.ChangeTypeId(id);
                IndependentTag tag = doc.Create.NewTag(doc.ActiveView, el, true, TagMode.TM_ADDBY_CATEGORY, TagOrientation.Vertical, new XYZ(0, 0, 0));
            }

效果:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-10-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 精讲Revit二次开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档