You can sometimes do this with SphereCollide if you want to keep some minimum spacing, but this doesn’t always prevent crossover if the points move too quickly. For that you need something that compares curve parameters between consecutive points.
I did actually already make a goal for this, when I was trying some stuff for making developable lofts, but am not sure I ever posted it before, so here it is:
OrderedOnCurve.gh (13.0 KB)
You’ll need to set the referenced assembly location to the copy of KangarooSolver.dll on your computer, which if you are using Rhino 6 should be:
C:\Program Files\Rhino 6\Plug-ins\Grasshopper\Components
or if you are using Rhino 5:
C:\Users\ YourUserName \AppData\Roaming\Grasshopper\Libraries