前言
本文介绍 Revit 2021.1 新加的 ElevationMarker 节点以及相关概念。
内容
Dynamo Nodes
ElevationMarker Nodes 官方链接
共有 4 个节点:
ElevationMarker.ByViewTypeLocation
根据l立面视图标记类型和位置创建立面标记。ElevationMarker.CreateElevationByMarkerIndex
根据索引号创建对应的立面视图。ElevationMarker.CurrentViewCount
获取当前立面标记对应的视图数量。ElevationMarker.GetView
根据输入的索引号,获取对应立面视图。
从 UI 创建 ElevationMarker
,入口和创建出来的效果:
创建立面标记,通过这个节点创建之后,不会像 UI 那样默认创建一个视图,所以视图数量是 0。
通过里面标记,创建一个立面视图:
Revit API
下面列出对应的 API。
View Family Types
API 中确实有对应的类,可以得到视图的类型。
namespace Autodesk.Revit.DB
{public class ViewFamilyType : ElementType{public ViewFamily ViewFamily { get; }public ElementId DefaultTemplateId { get; set; }public PlanViewDirection PlanViewDirection { get; set; }public bool IsValidDefaultTemplate(ElementId templateId);}
}
ElevationMarker
暴露的节点和 API 对应关系:
ElevationMarker.ByViewTypeLocation
>>>CreateElevationMarker
ElevationMarker.CreateElevationByMarkerIndex
>>>CreateElevation
ElevationMarker.CurrentViewCount
>>>CurrentViewCount
ElevationMarker.GetView
>>>GetViewId
namespace Autodesk.Revit.DB
{public class ElevationMarker : Element{public bool IsReference { get; }public int MaximumViewCount { get; }public int CurrentViewCount { get; }public static ElevationMarker CreateElevationMarker(Document document, ElementId viewFamilyTypeId, XYZ origin, int initialViewScale);public static ElevationMarker CreateReferenceElevationMarker(Document document, ElementId viewFamilyTypeId, XYZ origin, ElementId viewPlanId);public ViewSection CreateElevation(Document document, ElementId viewPlanId, int index);public void CreateReferenceElevation(Document document, int index, ElementId viewIdToReference);public ElementId GetViewId(int index);public bool HasElevations();public bool IsAvailableIndex(int index);}
}