我试图基于RhinoCommon SDK使用下面的DivideByLength
方法,但是我不明白第三个参数是什么。我试图根据这种方法在下面编写代码,但收到以下错误消息:Error: 'Rhino.Geometry.Point3d' is a 'type' but is used like a 'variable'
我认为第三个论点是指定我希望点作为输出而不是加倍。我究竟做错了什么?
方法:
Public Function DivideByLength ( _
segmentLength As Double, _
includeStart As Boolean, _
<OutAttribute> ByRef points As Point3d() _
) As Double()
码:
List<Point3d> pts = new List<Point3d>();
for(int i = 0; i < crv.Count;i = i + 2)
{
pts.Add(crv[i].DivideByLength(nb, true, out Point3d()));
}
最佳答案
我认为这可能是您所追求的。您的out
参数是一个Point3d
对象的数组,看起来您想获取所有返回的数组中所有对象的列表。因此,您将拥有自己的列表,并且需要AddRange
结果。
List<Point3d> pts = new List<Point3d>();
for(int i = 0; i < crv.Count;i = i + 2)
{
Point3d[] arr;
crv[i].DivideByLength(nb, true, out arr);
pts.AddRange(arr);
}