Blender 2.79b, Win7/64... I've combined several mesh objects into one (using Join) in order to operate on them all with one Boolean shape without having to duplicate lots of modifiers (and other things).

However, at least one part of my new combined object seems to ignore the Boolean modifier. Here's the object:

The object, in edit mode

I've highlighted the part which doesn't get Booleaned.

Here's the result of Boolean intersection with a scaled cylinder:

The Boolean modifier applied

Also, note that the corresponding component on the left side is completely absent when the Boolean modifier is applied.

For completeness, here's the Boolean flipped to Difference mode. Again, one of these components is absent, and one is unclipped, but the other way around from the Boolean=intersect case:

Opposite Boolean mode

So, I'm wondering... These components are identical, and so one was a copy of the other, flipped and translated. I didn't apply the location or rotation before joining. So I'm thinking that maybe when the Boolean modifier is active, one of these components is correctly clipped, but the other one is flipped and translated to be on top of the first one, and is missed by the Boolean modifier. Maybe.

However, what I'm missing is understanding how the rotation and position of components can persist even when they're all combined into one object. And more importantly... how to fix this! I tried separating by loose parts, then applying position and rotation to those two components, then re-joining, but it didn't change anything.

Or maybe it's nothing to do with rotation and position, but there's some strange property of these polygons...?


  • 1
    $\begingroup$ Boolean does use normals to determine inside/outside, so yes, scaling+mirroring can affect it. Make sure your normals are all facing the correct direction. When Blender joins objects, it applies their transformations to join them, which can lead to flipped normals. Finally, are all of the meshes involved fully manifold? Boolean will not work well with non-manifold meshes. It'll try though.... Place a solidify before the boolean and see if it changes anything, for something quick and easy. $\endgroup$ – Nathan Jun 28 '18 at 18:33
  • $\begingroup$ No, a solidify modifier before the Boolean doesn't change anything (other than solidifying it, of course). And the first thing I did after Joining all the meshes into one was to recalculate the normals outside, because they looked wrong. Turning on the normals display in the viewport for vertices, edges or faces looks fine - I can't see anything weird normalwise. $\endgroup$ – Dan Bennett Jun 28 '18 at 20:00
  • $\begingroup$ Woah - fixed it! I removed doubles and... the Boolean works now! $\endgroup$ – Dan Bennett Jun 28 '18 at 20:17

In this case, removing doubles in the mesh resolved the problem.

| improve this answer | |

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