List of Points in Python

Lists of Points

Many rhinoscriptsyntax functions require a list of points as an argument or return a list of Point3d structures. For example the ‘DivideCurve()’ function will return a list of points:

import rhinoscriptsyntax as rs

obj = rs.GetObject("Select a curve")

if obj:
    points = rs.DivideCurve(obj, 4)
    
print(points[0])

There are a number of ways to access the information in these lists.

Use an index to access any one of the points as in the line:

print(points[0]) # Returns a Point3d structure

With Python, it is easy to use the for loop to walk through the list and print out the coordinates for each point,

for i in points:
    print(i)

It is also possible to use nested indexes to access a specific coordinate of a point in the list. This example will access the Y coordinate of the second point in the list:

print(points[1][1])

Using the .Y property on the Point3d also would work:

print(points[1].Y)

To add a point to this list, first create the point3d with CreatePoint(), then append it:

points.append(rs.CreatePoint(1.0, 2.0, 3.0))

for i in points:
    print(i)