我正在努力解决一个问题,即访问管道曲线终点的引用,然后通过doc.Create.Dimension()方法在模型中创建一个维度。我已经尝试使用曲线.EndPointReference(int index)方法但它只返回null值。任何人都可以帮助如何访问这些信息吗?
答案 0 :(得分:1)
Fair59也在这里讨论和回答:
https://forums.autodesk.com/t5/revit-api-forum/endpointreference/td-p/7131328
建筑编码器也指出了答案:
Fair59的回答:
您可能正在使用LocationCurve来查找引用。您需要使用属于Element.Geometry的“引用”曲线/线。
Selection sel = this.ActiveUIDocument.Selection;
Element elem = doc.GetElement(sel.GetElementIds().FirstOrDefault());
Options opt = new Options();
opt.ComputeReferences = true;
opt.IncludeNonVisibleObjects = true;
opt.View = doc.ActiveView;
Reference ptRef =null;
foreach( var geoObj in elem.get_Geometry(opt) )
{
Curve cv = geoObj as Curve;
if (cv==null) continue;
ptRef = cv.GetEndPointReference(0);
}
if (ptRef!=null)
{
TaskDialog.Show("debug",ptRef.ConvertToStableRepresentation(doc));
}
答案 1 :(得分:0)
我认为你应该尝试像
这样的东西yourPipe.Location.Curve.GetEndPoint(1)
这将为您提供曲线终点的XYZ对象。
此致 阿诺。