Allocate curves to sub-group in the data set based on criteria

Dear users,

Could you help out in a simple problem? I have a set of cross curves, let’s say in the YZ plane at different X positions. I would like to assign all the curves to a data set, in which each branch includes the curves in a single X position (see below a small sketch).

Thanks!

assuming each Curve has very same X coordinate everywhere, you can group -for instance- their Start Point by X coordinate, and use those Index List to branch the curves into a data tree

something like:

keep in mind that the sorting order of the curves contained in each final branch is undefined (meaning they will all share same X coordinate, in the same order they were clicked/referenced from rhino)


by the way, if those curves come from any sort of GH intersection component (or Contour) then it’s probably better and faster to retrieve the correct data tree directly from there, instead of recomputing it from a flattened list of curves

if those curves are imported or drawn by hand, the above definition might be a good starting point

1 Like

Hi Inoo,

It worked great actually! Ok, so if I extract this via Contour or similar I will test using the data directly from there.

Anyway, what I want to achieve for any grouping of lines @ position X, is to offset each line “+ and -” by a given amount, generate a surface/loft using the ± offset lines and calculate the final areas (see sketch below). However, offset command is “destroying” my trees. Any tips?

Attached my .gh file and a Rhino example.

Thank you for the support.


Offset curves and areas.gh (9.9 KB)
Example Test.3dm (47.3 KB)

Small update, I manage to implement your routine to organize the trees after offsetting. So, I’m only missing a way to input that into lofting to generate and compute each area individually:

New update: by grafting the simplified trees coming from offset and then merging everything, I was able to loft all the corresponding entities and calculate the areas.

Thank you!

PS: I’m sharing the updates in hope it can be helpful to other users

1 Like