Getting all regions from a self-intersecting curve?

I’m stumped on what I think is a permutation problem. My goal is to get all of the regions from a self-intersecting curve:

I realize that multiple regions can be combined; 5+6 is also a region, as is 1+2+3+4+5+6. But what I’m really after is regions that cannot be subdivided.

Here’s my very simple naive attempt:


self-intersecting-regions.gh (5.5 KB)

That doesn’t work because it relies on individual segments to be closed.

Any ideas?

You can use Surface Split.


self-intersecting-regions-b.gh (14.7 KB)

1 Like

Wow that’s clever. Thanks!