Boolean Difference does not work

Hey everyone,

For my university I need to make a site model. Currently i am making the cutouts for the buildings so that you can fit them into the topography later on when the surroundings are plotted.

Now I cannot get my boolean difference to work. Already tried troubleshooting for naked and non manifold edges/volumes, avoiding coplanar faces by moving the buildings slightly up, but i cannot quite figure out why boolean difference is failing.Thanks for helping,

kind regards,

Ruben

booleandifference2.3dm (13.1 MB)


Dear Ruben - everything is on a single layer.
your model has no units assigned.

44 breps for the site model
186 buildings on top of it.
… more then 8000 possible intersections, most of them will not intersect…

my guess - some of those buildings that touch each other might be problematic:

you somehow have to narrow down the problematic areas.
do the boolean with the free standing / isolated buildings first.

if booleans do not work, _intersect between the the breps will show problematic area…

… scripting can help a lot for work like this, i might find time later to have a look at it. cheers - tom

Hi Ruben,

I’m guessing you are trying to do the boolean all in one. You have a variety of issues and that makes it hard to figure out why en masse they are failing. Here are some things you can do:

  1. Separate the terrain and buildings into separate layers and give them different colours. This has nothing to do with the issues but makes dealing with your model so much easier.
  2. If you can get away with it, union the terrain layers into one. That gets rid of intermediate surfaces and any interactions they have with the buildings.
  3. Explode the buildings and immediately while the parts are still selected join them again. I don’t know where you got them but some are not well formed. Use the naked edge tool to identify the surfaces that are left unjoined and the open polysurfaces. Isolate all these and fix them.
  4. boolean difference the buildings from the terrain in small batches. Where you get a fail go down to individual buildings to identify which ones are problematic. I move problematic items onto a separate hidden layer and come back to them at the end rather than fixing each as I find it.

Persevere! It will take a fair bit of graft to get through this lot, but by breaking the problem down into individual pieces you will.

Good luck
Jeremy


this is the problematic booleans found by my script.

… as @jeremy5 said - work through it in small batches…

it s also a possible approach to first boolean union buildings that touch each other and see if this got well - then boolean difference the combined building

file with layers:
booleandifference2.3dm (13.2 MB)

good luck - cheers - tom

Hey Jeremy and Tom,

thank you very much. I exported only the selected, which did not export layers. Sorry. Thanks for your help I’ll work through and see how it goes