Can I split a surface in Multiple parts?

I am trying to divide a surface in 3 equal parts.
The problem i’m having is calculating the places where to cut the surface.
With a rectangle its not that hard. But with a shape like shown in my post i cant figure it out.
The parts dont have to look the same. They just need to have the same surface area (it doesn’t have to be exactly equal, just simular)

I tried using surface.getisoline node and enter a percentage, but the node acts like my surface is a square and doesnt actualy show the percentage of the area

Thanks!

First off, this is actually a fairly complex problem. There are an infinite number of ways to split this geometry into 3 equal parts, but that’s not the tricky part. The tricky part is handling the fact that the first “cut” determines the available options for the second “cut”. Dealing with only 3 equal parts and two cuts is fortunately not too bad, but if you were to scale this to handle any number of parts it could get very complex very fast.

I’d suggest creating a number of “cut” lines across your geometry (direction doesn’t matter as long as they’re parallel) and splitting the initial surface into two parts with each line. You can then compare each cut surface against your target size (total area / 3). The closer the cut area is to the target area the better the section. If you find the best section on the “front half” and the best section on the “back half” then you should have the two best lines for cutting your surface into 3 equal parts. The more cut lines you create the higher your accuracy but the more computations you have to do.

3 Likes

Feels like VASA might be a good fit here.

3 Likes

Good evening,
here is a possible approach


cordially
christian.stan

1 Like