Divide a closed brep with orthogonal planes

Good Morning,
I’m asking for your help to find a solution for my problem:
I have to divide a series of closed brep with orthogonal planes and then extract the single objects to list them. It’s like a reverse engineering of a brick wall, but the “bricks” are, most of the times, different between them.
I attach one of this closed brep and the code I developed with no success.
I really hope you can help me.
Sorry for my code,I’m new in Grasshopper.
test 25-03-20.gh (30.6 KB)

have you tried using Contour?


Have you tried splitBrepMultiple component?

SplitBrep.gh (31.8 KB)

If you prefer closed Breps:

SplitBrep_re.gh (33.6 KB)
You need to install pufferfish.

1 Like

If I got it correctly (say: you want to voxelize a given Brep while doing bool ops in the “skin”) this is a very challenging task … if we are talking about serious N of voxels.

Reason: Since any solid bool opp is very expensive and since here we don’t face task sync issues … on first sight a simple // approach is the way to go, Of course this is not true by any means … but let’s pretend that it is.

After doing the candidate boxes … how to “group” the boxes in the most efficent way? (according the N of threads available per a given mobo). Note that Methods used for testing a box for inclusion or doing the intersection job yield vastly different elapsed times.

Anyway just have fun (not suitable for beginners unless you have plans to learn C#) with the attached that does an entry level // job without much intelligence … meaning that is possible to waste a thread just for testing solely box inclusion (ie. the 8 corners).

Brep_ToVoxels_EntryLevel_V1.3dm (457.8 KB) Brep_ToVoxels_EntryLevel_V1.gh (127.6 KB)

Thank you community ,but my professor found a simpler solution and I am going to use it.
I’m really impress for yours answer