前言
这个例子介绍如何设置标注文字的位置。
内容
代码:
Revit 2021 SDK\Samples\DimensionLeaderEnd\CS\Command.cs
这个例子的核心内容是设置标注文字的位置,也可以通过UI来拖动图中的小蓝点。
MoveHorizontally
移动标注文字一个固定的距离,double m_delta = -10
:
- 找到一个标注,
Dimension dim = doc.GetElement(id) as Dimension
; - 找到代表标注的线,
Line dimLine = dim.Curve as Line
; - 计算新的位置,
XYZ leaderPos = ComputeLeaderPosition(dir, dim.Origin)
; - 设置新的位置,
dim.LeaderEndPosition = leaderPos
;
private XYZ ComputeLeaderPosition(XYZ dir, XYZ origin)
{
XYZ leaderPos = new XYZ();
leaderPos = dir * m_delta;
leaderPos = leaderPos.Add(origin);
return leaderPos;
}
MoveToPickedPoint
区别在于计算新的位置的方法不同:
XYZ startPoint = selection.PickPoint(ObjectSnapTypes.None, "Pick start");