Orienting curves in same direction

Hello folks :slight_smile:

I have created some curves from metaballs. I have come across two problems in the further process. I want to set certain points on these curves which are vertically aligned (share the same z-value so to say).
Trying to set these points I realized that not all of them share the same direction.

I tried “flip curve” and giving them a guide curve but that didn’t work. The points were no longer able to follow their curves and be still heading off in different directions.

Second, I want these points (as soon as the curves are oriented in the same direction) to be vertically aligned as stated before. I thought of inputing a percentage parameter for set point on curve thinking that they then might be vertically aligned.

I hope the picture helps and thanks a lot for any advice

Hi, not sure the picture you mentioned in attached to your post?

Sorry here is the link to the file: https://we.tl/t-rDKdpHONmz

all your curves are of different length, no wonder eval crv component doesnt do what you want. use curve|plane/curve|srf intersection instead.

I tried this command but nonetheless I am unable to align the points vertically

I generated some curves with 2 random metaballs, by using evaluate length on the curves you can see all of them have same direction:

note: evaluate length is like evaluate curve with reparametrized curve input → the real length of the curve gets irrelevant, their length gets reparametrized 0-to-1

at this point you can for instance pick one single curve of interest among the many, generate a perpendicular plane (that becomes a surface) and moves along the curve intersecting the other ones
the intersection between this surface and the curves are the points you might be looking for?


Vertical_pts_along_metaball_curves.gh (132.8 KB)

of course there are dozen of different ways to get to same final result :slight_smile: