Revit创建多类别标记

实现Revit中多类别标记的方法

  1. 标记方法的关键词:IndependentTag

  2. 在创建标记中有两个方法,输入的参数基本一致,但是还是有所区别,下面描述和图片可以更好的区分
    第一个函数:通过实际的项目坐标点不需要制定标记类型创建多类别标记
    Create Method (Document, ElementId, ElementId, Reference, Boolean, TagOrientation, XYZ)
    第二个函数:通过UVPoint也就是在构件上面的点控制显示位置并且需要制定标记类别
    Create( Document document, ElementId ownerDBViewId, Reference referenceToTag, bool addLeader, TagMode tagMode, TagOrientation tagOrientation, XYZ pnt )
    在这里插入图片描述

  3. 代码实例通过document读取视图中的元素,放置多类别注释,如果需要多视图同时操作,则需要找到所有的view并将view传入获得所有的构件

 using (Transaction transaction= new Transaction(doc))
            {
                transaction.Start("TT");
                
                
                var collector = new FilteredElementCollector(doc);
                var views = collector.OfClass(typeof(View)).OfCategory(BuiltInCategory.OST_Views).Cast<View>().Where(v=>
                    (v.ViewType == ViewType.EngineeringPlan || v.ViewType == ViewType.FloorPlan) && v.CanBePrinted); 
                foreach (var view in views)
                {
                    var instances = new FilteredElementCollector(doc, view.Id).WhereElementIsNotElementType()
                        .Where(x => x.GetType() == typeof(FamilyInstance) || x.GetType() == typeof(Pipe))
                        .ToList();

                    foreach (Element instance in instances)
                    {
                        var reference = new Reference(instance);
                    
                        IndependentTag.Create(doc,view.Id,reference,true,TagMode.TM_ADDBY_MULTICATEGORY,TagOrientation.Vertical,XYZ.Zero);
                        
                        IndependentTag.Create(doc,new ElementId(7315142) ,view.Id,reference,true,TagOrientation.Vertical,XYZ.Zero);
                    }
                
                }
                
                transaction.Commit();
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值