Re-ordering list item numbers

Hi everyone,

I’ve been trying for some time to work out a way to create a curve through some points, but in the right order (the points are derived from x3 separate lists). Can anyone advise how to re-label the points, so that the curve I draw weaves through them in an undulation?

Seems like you need weave, but that’s just a guess based on a quick look at your script, and without seeing the actual script

Can you upload your gh definition? It would be way easier to help you that way.
I think a strategy would be to use Curve Closest Point to pull the points to the curve, and then use the curve parameters to sort the points.

Thank you Devin - maybe the attached will help?UNDULATING_CURVE.gh (12.4 KB)


UNDULATING_CURVE_ign.gh (17.5 KB)

Like so?

That is the aim! Yes, thank you - will try this and hopefully will understand what you’ve done… thank you again!

1 Like

Yep, that’s fantastic, thank you again @lgn24680 - much appreciated and wish I’d posted sooner!

1 Like


UNDULATING_CURVE_POINT ORIENTED.gh (18.9 KB)

The Point Oriented command in combination with Curve Frames can be really useful to create a more robust definition, regardless of your circle being flat or not.

I wouldn’t offset the curve and dispatch.

Instead dispatch first, move some of the points and then weave everything into one list again.

dispatch_weave.gh (17.6 KB)

Another solution would be a spiral around a curve projected onto the XY plane but it requires a python script:

spiral_around_curve.gh (16.8 KB)

1 Like