0
$\begingroup$

This is my first project using Blender, so it could just be a rookie error.

I'm trying to extract a specific part of a city model using Boolean Intersect, with a cuboid, however I keep getting the same error of "Cannot execute boolean operation".

Unfortunately I'm unable to share the Blend file as it contains the model.

Screenshot

$\endgroup$
  • $\begingroup$ Have you applied the scale? In Object Mode select the object and press CTRL + A then select scale from the drop down menu. Do this for both objects. $\endgroup$ – Dontwalk Jun 16 '17 at 13:43
0
$\begingroup$

If I got what you wish, maybe you can try this: duplicate your "multi mesh city" in a new layer.

Then join all "city copy" elements (CTRL-J) into one single object

Then in top ortho view add a plane on top of the "unified city copy", like this:

enter image description here

Now select the plane, then the "city", enter edit mode, then press the space bar and type "knife project", you get this

enter image description here

Only remember to enable "cut through" to cut through all the mesh height.

To better see what happened, after inverting selection (CTRL-I) and hiding (H) you get this:

enter image description here

Here is how it goes:

enter image description here

As you see you only get "intersecting shapes" cut, so then you should get back from the original "Multi mesh city" all buildings internal to the cut...

edit:

in my test the "cut through" is needed by my test is very simple and rough. I can't get the "knife project" to also cut away the central block, unfortunately, no matter which cutting shape used - I feel that it could be a little bug, it depends on what was the intended behaviour but perhaps it was meant to cut connected meshes, so not as in my example...

However, here is what I mean with the last paragraph: after cutting, you could separate the part of mesh selected (cut by knife project) into a new object

enter image description here

but as said the city part that was internal to the cut is missing... you could get that missing city part from the original multimesh city (do you remember, I said to make a copy in an other layer...)

or, you can get it from what remains from the joined city after the cut operation

to do so select what remains of the starting joined object, and in edit mode select all then use "separate by loose part",

enter image description here

which separates each block as its own object. So you could get the missing (center) blocks

enter image description here

however you get that central block select it and the cut block

enter image description here

and then join all

enter image description here

I guess you have already figured it out this, but may be useful for other readers.

| improve this answer | |
$\endgroup$
  • $\begingroup$ This sounds fairly sensible, but do you mind expanding on how one would get the buildings internal to the cut back as well?? Considering in my model they're all one big object, and haven't been separated in individual buildings. $\endgroup$ – Tim R Jun 16 '17 at 14:51
  • $\begingroup$ I seem to have this working by having "Cut Through" deselected. I think it might be to do with the way my model is built, which is that it's built with an accurate roofline, and then extruded down to the ground, so there's no hidden faces $\endgroup$ – Tim R Jun 16 '17 at 16:12
  • $\begingroup$ in my example I need to "cut through" but, anyway, I edited my answer to expand as requested... $\endgroup$ – m.ardito Jun 17 '17 at 8:48
1
$\begingroup$

Try this:

1) In edit mode select all and remove doubles (W -> remove doubles ) when recalculate normals (Ctrl+N )

2) If it doesn't help, try newer version of Blender. It has a new Boolean solver "B-mesh" that can work with more complex geometry.

3) Check your model with 3D-printing toolbox add-on: Checks -> Solid must output 0 manifold edges.

enter image description here

If it's not so, you can select all bad edges by pressing button here in edit mode:

enter image description here

| improve this answer | |
$\endgroup$
  • $\begingroup$ I've just tried the first option and it doesn't work, I'm still getting the same error. The second option isn't possible as the graphics card isn't good enough. Thanks anyway $\endgroup$ – Tim R Jun 16 '17 at 13:21
  • $\begingroup$ @TimR try my 3 suggestion $\endgroup$ – Crantisz Jun 16 '17 at 13:37
  • $\begingroup$ I've apparently got 464007 Non Manifold Edges and 1747 Bad Contig. Edges. So whilst this seems to be the problem, is there any way of automatically correcting this? Since I've got this many only on this one object, and I've got another dozen objects to process after this, manually editing it will take far too long. $\endgroup$ – Tim R Jun 16 '17 at 14:02
  • $\begingroup$ It's realy big number... but you can try to correct only edges that crossing Boolean's cut $\endgroup$ – Crantisz Jun 16 '17 at 14:13
0
$\begingroup$

No wonder, as Boolean works only with two separate objects, affects mesh and is not used for that. Select the desired objects and press Numpad / (it's toggle) instead.

| improve this answer | |
$\endgroup$
  • $\begingroup$ To the best of my knowledge, it's classed as two separate objects (as the buildings are all one object), and are all meshes. I've just tried this and all it does is toggle the view, not what I'm wanting. $\endgroup$ – Tim R Jun 16 '17 at 13:23
  • $\begingroup$ Boolean is not used for what? And why pressing Numpad /? it toggles Local View and won't have any effect on the modifier result. $\endgroup$ – Mr Zak Jun 16 '17 at 13:57
  • $\begingroup$ Boolean doesn't work with Ctrl J applied. Separate it first, then select the desired objects. Duplicate them and move the duplicates to another layer wih M $\endgroup$ – Lukasz-40sth Jun 16 '17 at 14:03
  • $\begingroup$ I didn't join them, they were like that when I got the model. I've tried separating them by loose parts, but that crashes the computer, hence I want to try and "crop" the model first. $\endgroup$ – Tim R Jun 16 '17 at 14:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.