如何获取Revit中详图线的起点和终点?
代码中使用的是硬编码,您实际编写业务时,自行处理。
//可以得到实际的点
var @object = this.Selection.PickObject(Autodesk.Revit.UI.Selection.ObjectType.Element, "请选择一条线");
//得到详情线的对象
Autodesk.Revit.DB.DetailLine detailLine = this.Document.GetElement(@object.ElementId) as Autodesk.Revit.DB.DetailLine;
Options opts = new Options
{
DetailLevel = ViewDetailLevel.Fine,
ComputeReferences = true
};
//获取几何信息
var geometry = detailLine.get_Geometry(opts);
Autodesk.Revit.DB.Line line = geometry.First() as Autodesk.Revit.DB.Line;
//起点
var start = line.GetEndPoint(0);
//终点
var end = line.GetEndPoint(1);
TaskDialog.Show("坐标", $"起点:{start}\r\n终点:{end}");
代码中的selection对象是指this.CommandData.Application.ActiveUIDocument.Selection
代码中的document是指this.CommandData.Application.ActiveUIDocument.Document
最后,看一下动画效果图:
祝您用餐愉快。