Surface split not splitting as expected

Hello!

I have thousands of unitized elements, for which I want to find openings.

What I have done, is generated local planes, projections of each element beams on these planes, generated rectangles and trying to split them into surfaces by these projections.

In most cases it’s working as expected, but in some cases not, and I can’t understand why.
Is there some limitations to split surface component?

Attached is one example, that isn’t splitting as expected.

You can see that there is a vertical curve on the right side.
Using split surface top two segments are found correctly, but not the bottom one.
The result I get is this:

I’ve tried extending lines, orientating everything to XY plane, checking that Z coordinate when orientated is 0.
It does work, if I extend it even further


But in this case, the right side of the element is now segmented then, which isn’t correct.

I’ll be glad for any help, that could point me in the right direction, maybe Surface Split isn’t meant to be used for such situations and I need to do a different approach to the problem?

Best regards,
Janis
SplitSurfaceNotWorking.gh (12.9 KB)

Split can be very annoying.
In this file, you can split 2 times, first time with the longest vertical curve, second time with all other curves.

Personally, I avoid using split too often, especially in your situation where split has to be used hundreds of time. if the failure rate of split is 1%, 1000 splits will cause 10 errors.

You can try isotrim here


It require some work on data structure/domain computation. but the result will be stable.
domain.gh (11.4 KB)

2 Likes

in the last weeks I’ve been using a lot Fennec plugin, and it has a Region component that might be helpful here (I believe also Clipper plugin has something similar)


SplitSurfaceNotWorking_Re.gh (15.9 KB)

1 Like

Thanks to both of you very very much!

It seems this Fennec’s region component was the simplest to implement, and with some tests, it’s working as I need. :slight_smile: