Cull curves inside or otuside

Any ideia of how do I cull curves inside/outside from one another?

Point in curves.


Couldn’t figure out how to use this tool.
Also, I was trying to do by thinking that the outside curves has larger areas than inside curves. But couldn’t make a script. (9.9 KB)

thank you!
But it doesn’t always works. Like if we have more, or less holes. Or even no holes.

But you gave me this ideia. I think it’s working now
Anotação 2019-12-16 151413|690x252

Check this as well. (13.6 KB)

1 Like

But what if you have multiple outside curves? This solution works only if you know that you have four curves inside another one, but what if you have a lot of outside curves with a lot of inside curves, randomly distributed or none inside of the “outside” curves? Like in nesting, where you have a bunch of outside contours with a bunch of inside curves?

You can use the Boundary Surfaces component to find closed curves that are completely enclosed by other closed curves.

(more than half of this is just setting up geometry) (14.7 KB)

Here’s a more complex solution that can determine if curves are completely or partially inside boundary curves (works with open or closed curves). (22.9 KB)

Completely inside (numbers indicate index of surrounding curve):

Completely or partially inside:



Nice explanation, thank you for this, but as I see in this solution, you already know what are the outside curves (the blue coloured shapes) but we need to sort, inside/outside curve without knowing what are the exterior contour. Just one single input with all the curves, circles, lines, squares, etc. and the algorithm to sort by himself the inside/outside shapes.

Here it is a more practical example. All the curves needs to go to the same input and the algorithm needs to sort them by inside/outside/coincident if possible:

Example.3dm (557.7 KB)

Is this thread the same as this recent one? (20.8 KB) (25.4 KB)


This method don’t compute corectly the external edges. It is mixing with geometries that are touching that edges.

The purple group picks up 38 additional curves that intersect the boundaries. (28.2 KB)

Is there anything you can do for yourself with GH or is it all a black box mystery?

7. This is not a do-my-work-for-me group

P.S. This gives you the same result without separating the intersecting curves: (25.3 KB)

1 Like

Yet another way of playing with the same algorithm: (31.8 KB)


This is helpful, I had not used the Shape In Brep component before. It’s a much better solution than the method I was using (sampling points and using Point In Curve).

@Joseph_Oster I’ve learned much of what I know about grasshopper from examining files you have posted.


1 Like

I’ve learned much of what I know about grasshopper from examining files others have posted. :sunglasses:
(including you)

1 Like

Decoding the BlackBox of Mistery is in WIP mode. The only thing: takes some time… not even the Enigma machine was’t cracked in one single day. :blush:

What do you think about my progress?

That’s much better. Thank you.