Selective Curve Merging

Hi there!

I’ve been trying to merge segments of curves in order to have a list of ‘faces’ on a plan view. However haven’t found a way of selectively choosing the segments that need merging, without either doing it manually in Rhino, or merging the whole crv together. I’ve look at using True and False commands to inform merging between crvs with angles >150 degrees, but had no luck as yet.

Thank you very much for any help!

Thor

  • As you can see in the image the drawn on lines are the outcomes intended…


Selective curve merging.gh (6.4 KB)

That’s very easy to address via code (either the analytic way [best] of asking help from a certain R Method for sorting the pieces). The result (per collection) would be an ordered List of Points (crv.PointAtStart/End).

But the issue is: If some portions of the collection contains colinear Pts … that’s easy to deal with.But for the Pts that form “some sort” of Curve … what is the required result? a Curve via these Points? a Polyline? something else?

A polyline that goes via the points would be the most ideal result, as it would most accurately represent the curve segments currently there.
Unfortunately I’m not at the level of using code yet…
Thank you for the help


Selective curve merging_re.gh (21.8 KB)

3 Likes


Selective curve merging_2023Jan13a.gh (22.0 KB)

2 Likes

Hurry: time flies (most notably if you want to be on high demand):

So you need a result like this OR I sould take care of p21/25? (eliminate colinears, that is)


Obviously you can skip code (for this simple case, anyway) just using the Join thing (not the Jack for all trades, most notably if your collection is a bit faulty).

Thank you so much @HS_Kim and @Joseph_Oster - Exactly what I was looking for!

I know - So much to learn, so little time…

Eliminating the colinears in that case would have been correct yes.
Thank you for the help

From this (enable == false):

To that (enable == true):

Polyline_ClearColinearPoints_V1B.gh (127.4 KB)

So: For this simple case > Just use Join, get your Polylines and input them (as List) to that C#.

1 Like

Thank you - A huge help!