2
$\begingroup$

I have a curve object with multiple splines. I can loft them, using something like the Higgsas GeoNodes "Loft Splines" node-group. This kind of approach uses the spline Index to determine what order they're lofted together.

Instead, I would like to loft based on the order of the splines on the X axis (ties going to the original spline Index). I can get the mean position of each spline by evaluating Position in the Spline domain (this returns the mean of the points on that spline), giving me a canonical value to use to determine order... I could also use the position of the start or end vertex, or some other position. The problem I'm facing is the re-ordering part.

I'm not sure how to take the values and get this sort of ordering back (Original indexes in blue, new indexes in red)

Lofted curves showing original indexes in blue and new indexes in red

As you can see, the lofted surface doubles back on itself because the splines were created "out of order", which is not what I want as my result

My last resort is to write a python script to populate an attribute, but I want to avoid that because I'm doing this to practice thinking using functional programming methods in Geometry Nodes. I'm in Blender 3.6.1, so I can do it with Simulation Nodes if that's what's needed, but I'm not good at this thinking yet.

Once I've got the coordinate-based indexes, I can tackle how to change up the lofting node to use them instead of the spline index

$\endgroup$
1

1 Answer 1

3
$\begingroup$

You can try this setup using Blender 4.0 Repeat Zone also you can replicate the same setup using blender 3.6 Simulation node

enter image description here

$\endgroup$
2
  • 1
    $\begingroup$ Hi, Higgsas.. just taking a moment to congratulate you on your very practical collection of GN utilities. Ordering profiles along a path may be more general than by X? (You could always throw in a straight line to do: 'by X'.) A 'Loft Curves Along Curve' would fill a hole in Blender's modelling tools.. $\endgroup$
    – Robin Betts
    Jul 28, 2023 at 7:46
  • $\begingroup$ Oh my goodness I conjured up the expert themselves. Thank you! $\endgroup$
    – Emily
    Jul 28, 2023 at 12:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .