端点引用方法
EndPointReference method
我正在努力解决一个问题,即通过 doc.Create.Dimension() 方法访问管道曲线终点的参考,然后在模型中创建尺寸。我已经尝试使用Curve.EndPointReference(int index) 方法,但它 returns 只有空值。任何人都可以帮助如何访问此信息?
我想你应该试试
yourPipe.Location.Curve.GetEndPoint(1)
这将为您提供曲线终点的 XYZ 对象。
此致,
阿诺.
Fair59也在这里讨论和回答:
https://forums.autodesk.com/t5/revit-api-forum/endpointreference/td-p/7131328
The Building Coder 也指出了答案:
Fair59 的回答:
您可能正在使用 LocationCurve 查找参考。您需要使用属于 Element.Geometry.
的 "reference" Curve/Line
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));
}
我正在努力解决一个问题,即通过 doc.Create.Dimension() 方法访问管道曲线终点的参考,然后在模型中创建尺寸。我已经尝试使用Curve.EndPointReference(int index) 方法,但它 returns 只有空值。任何人都可以帮助如何访问此信息?
我想你应该试试
yourPipe.Location.Curve.GetEndPoint(1)
这将为您提供曲线终点的 XYZ 对象。
此致, 阿诺.
Fair59也在这里讨论和回答:
https://forums.autodesk.com/t5/revit-api-forum/endpointreference/td-p/7131328
The Building Coder 也指出了答案:
Fair59 的回答:
您可能正在使用 LocationCurve 查找参考。您需要使用属于 Element.Geometry.
的 "reference" Curve/LineSelection 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));
}