Revit API: IndependentTag 标记

前言

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

在这里插入图片描述

内容

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

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

Revit API: IndependentTag 标记_第1张图片
下图中,标记指向的构件,TaggedElementIdTaggedLocalElementId 在这里是一样。另外,GetTaggedLocalElementGetTaggedReference 也都是标记指向的构件。
Revit API: IndependentTag 标记_第2张图片

完整的 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();
    }
}

你可能感兴趣的:(Revit,API)