Autodesk.Revit.DB.PointElementReference是一个表示基于元素的点参照的类。参照点信息包括关联的元素,以及相对于元素的坐标。该类是Revit API中的一个类型,用于获取关联元素的位置信息。
Autodesk.Revit.DB
System.Object → Autodesk.Revit.DB.ElementReference → Autodesk.Revit.DB.PointElementReference
PointElementReference(Document document, ElementId elementId, XYZ point)
根据元素的标识和相对于该元素的点坐标创建一个新的PointElementReference实例。
Document (只读)
获取与该引用关联的文档。
IsValid (只读)
获取一个布尔值,表示该引用是否有效。
ElementId (只读)
获取与该引用关联的元素的标识。
CoordinateSystem (只读)
获取与该引用关联的元素的坐标系。
GlobalPoint (只读)
获取与该引用关联的全局点。
Point (只读)
获取与该引用关联的元素的相对坐标。
Equals(Object obj)
确定指定对象是否等于当前对象。
GetHashCode()
返回当前对象的哈希代码。
ReferenceEquals(Object a, Object b)
确定指定的对象是否相等。
下面的代码演示如何使用PointElementReference获取一个标准墙上的一个点的位置信息:
// 获取当前文档
Document doc = Revit.ActiveUIDocument.Document;
// 获取指定的标准墙
ElementId wallId = new ElementId(BuiltInCategory.OST_Walls);
Element wall = doc.GetElement(wallId);
// 获取标准墙的定位点
LocationPoint wallLocation = wall.Location as LocationPoint;
XYZ wallPoint = wallLocation.Point;
// 获取标准墙上的一个点的位置信息
XYZ point = new XYZ(wallPoint.X, wallPoint.Y + 10, wallPoint.Z);
PointElementReference pointRef = new PointElementReference(doc, wall.Id, point);
// 打印位置信息
string msg = String.Format("Point on wall: ({0}, {1}, {2})",
pointRef.GlobalPoint.X, pointRef.GlobalPoint.Y, pointRef.GlobalPoint.Z);
TaskDialog.Show("Point Location", msg);