# Sort points and separate by a curve

Hi, I would like to know is it possible sort those blue points and separate to 2 lists by green curve?

test.rvt (5.6 MB)

Are you trying to split the points into the ‘left side’ or ‘right side’ of the curve?

yes,sir. I am still struggling.

What have you tried so far?

I’d go with something like this:

• Start with Curve.ParameterAtPoint to get the parameter along the curve for each point.

• Then Curve.CoordinateSystemAtParameter to get a local coordinate system on the curve for each point.

• Then Geometry.Transform (the one with two coordinate system inputs) to transform the point from the local coordinate system to the global coordinate system (CoordinateSystem.Identity for the second coordinate system input).

• Next a Point.X to pull the X value of the transformed points, and finally a Math.Sign to give you a + or - (or 0 - careful with data sets where the point is on the curve) to group the points by.

You can also do this with vectors and angles about the tangent direction at each parameter.

1 Like

The solution you mentioned, I can got it, but I am not familiar with CoordinateSystem
I am stuck around CoordinateSystem. Could you check my dynamo??
1120.dyn (39.5 KB)