Get vertices of polyline

I have a polyline in Rhino. How do I get all the vertices of polyline using c#? I tried with polyline class and getsegments method. I got the array of lines, but from hereon I lost. Thanks

Hi
try this:

using System.Linq;
A = crv.ToNurbsCurve().Points.Select(p => p.Location);


Vertices.gh (4.5 KB)

Use .ToArray() since Polyline inherits from Rhino.Collections.RhinoList< Point3d>.

1 Like

See attached

Polyline_GetNodes_EntryLevel_V1A.gh (121.2 KB)

Thank you for suggestions. I was looking for a simple solution without using any additional libraries like @Dani_Abalde suggested. I came to his conclusion in VS environment,

Polyline iPolyline = new Polyline();
DA.GetData(1,ref iPolyline);

Line segments = iPolyline.GetSegments();

List polylineEndPoints = new List();

foreach (Line line in segments)
polylineEndPoints.Add(new Point3d(line.To));

@Dani_Abalde solution is way simpler than adding the endpoints of each segment:

 private void RunScript(Polyline pline, ref object A)
  {
    A = pline.ToArray();
  }

in your case something like this should work for the points:

 DA.SetDataList(0,pline.ToArray());
1 Like

That’s true