Ewan,
Thanks for the help. Lunchbox has a node Points.SortPointsAlongCurve that work perfectly for me.I then did some vector magic to clean the points within the line. I created vectors from point to point then shifted the list by one and checked to see if the vectors were parallel. Vectors at corners are not.