Revit API: IndependentTag 标记

前言

本文介绍 Revit 中标记相关的内容。这里的标记指的是 IndependentTag,它包按类比标记、全部标记、多类别标记、材质标记和空间标记。

在这里插入图片描述

内容

通过 API 可以获得和修改的数据:

  1. 一个标记的引线,是否能够显示,HasLeader
  2. 一个标记的方向,水平或者垂直,TagOrientation
  3. 引线的类型,附着端点或自由端点,LeaderEndCondition
  4. 是否有弯头,和对弯头位置的控制,HasElbowLeaderElbow
  5. 标记的文字,只读,从被标记的构件中获得,TagText
  6. 标记的位置,下图中十字位置,TagHeadPosition
  7. 引线箭头位置,仅在自由端点类型有效,LeaderEnd

在这里插入图片描述
下图中,标记指向的构件,TaggedElementIdTaggedLocalElementId 在这里是一样。另外,GetTaggedLocalElementGetTaggedReference 也都是标记指向的构件。
在这里插入图片描述

完整的 API 接口:

namespace Autodesk.Revit.DB
{
    //     Represents tag annotations in Revit.
    public class IndependentTag : Element
    {
        // Tag 是否有弯头。
        public bool HasElbow { get; }
        
        // Tag 的文字。
        public string TagText { get; }
        
        // 是否是材质 Tag。
        public bool IsMaterialTag { get; }
        
        // 是否是多类别 Tag。
        public bool IsMulticategoryTag { get; }
        
        // 是否是孤立的 Tag,就是它要标记的构件已经被删除了。
        public bool IsOrphaned { get; }
        
        // 本地被标记的构件的 Id,如果是子构件,则返回父构件的 Id。
        public ElementId TaggedLocalElementId { get; }
        
        // Tag 的方向,水平或者垂直。
        public TagOrientation TagOrientation { get; set; }
        
        // Tag 标记头的位置。
        public XYZ TagHeadPosition { get; set; }
        
        //  是否有引线。
        public bool HasLeader { get; set; }
        
        //  如果有多个索引,返回主构件。
        public ElementId MultiReferenceAnnotationId { get; }
        
        // 引线类型
        public LeaderEndCondition LeaderEndCondition { get; set; }
        
        // 弯头的位置。
        public XYZ LeaderElbow { get; set; }
        
        // 如果是自由端点,则返回箭头的位置。
        public XYZ LeaderEnd { get; set; }
        
        // 被标记的构件。
        public LinkElementId TaggedElementId { get; }
        
        // 创建一个 Tag。
        public static IndependentTag Create(Document document, ElementId ownerDBViewId, Reference referenceToTag, bool addLeader, TagMode tagMode, TagOrientation tagOrientation, XYZ pnt);

        public static IndependentTag Create(Document document, ElementId symId, ElementId ownerDBViewId, Reference referenceToTag, bool addLeader, TagOrientation tagOrientation, XYZ pnt);
        
        // 判断引线类型是否可以改变。
        public bool CanLeaderEndConditionBeAssigned(LeaderEndCondition leaderEndCondition);

        // 得到本地被标记的构件。
        public Element GetTaggedLocalElement();

        // 得到标记所使用的索引。
        public Reference GetTaggedReference();

        // 判断是否标记在子构件上。
        public bool IsTaggedOnSubelement();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

安意诚Matrix

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

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

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

打赏作者

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

抵扣说明:

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

余额充值