MeshBooleanSplit will not split correctly

I want to create dents in the mesh where the gray stacks meet the red wall - I feel like it is hit or miss with MeshBooleanSplit command: It worked fine for one of my other shapes and for this one i tried changing the direction, and it either removes the mesh completely or while removing the mesh it creates meshes on my top and bottom gray stacks…
My mesh is good and valid with no naked edges, it does split the part that I want but takes away the mesh offset of the wall and I am only left with the single mesh layer.
I am not sure what I am doing wrong. Please help!

2019-03-23.3dm (1.4 MB)


As for the MeshBooleanSplit command, you are not necessarily doing anything wrong. The MeshBooleanX commands don’t really work and are being rewritten.

That said, your file is in meters with some of the features being less than a millimeter. Your model is also a long way from the origin. Both these things will get you into trouble with tolerances.

I don’t know what the output of your work will be used for and I wonder why you turned to using meshes. It looks like the original design intent is available in the file as curves and surfaces.

At any rate, a quick’n’dirty way out of where you are now: change your units to millimeters, move the objects to the origin. Use MeshToNurb to turn the mesh slab into NURBS surfaces. This is generally bad advice but given that the mesh was rough, the polysuface doesn’t end up with a gazillion faces. Also, as I said, this is quick’n’dirty… Then use BooleanDifference to substract the floor slabs from the wall. (Make sure the roof slab intersects cleanly with the wall first).
That gives you something like this:

2019-03-23-wd.3dm (16.2 MB)

… but the clean way forward would be to use the wall surface and continue from there.

I want the mesh for 3D printing output. Will this solution still apply? Sorry I am new to this

Making a mesh from a polysurface is very simple - the other way around is generally very hard.
So, getting a mesh for 3D printing will typically be the very last step you make.

From the file I posted, you can simply use ExtractRenderMesh to get the mesh for printing.

Thank you so much! I really appreciate it!