Simple Boolean Fails!

There is a cube and a ring intersecting. If I select the ring and add a Boolean-difference modifier to it with the Cube, the boolean fails with the message “Can’t execute the boolean operation”. See the attached blend file.


test1.blend (477 KB)

It works on 2.63.5 here.

I tried 263.5 as it is and the result was not so pretty as in your example -it required manual cleaning by deleting the cube’s faces and then manually fill the end faces of the ring. Actually I could make 262 produce the same result just by rotating the ring a bit at Z axis (11 deg ) -thanks though!

But I finally found the process to guarantee a perfect boolean in this case:

  1. Update to the official 263a (from 262)
  2. Select the ring, switch to edit mode, select all faces.
  3. Mesh / Faces / Triangulate faces
  4. Remove doubles

Did the same with the cube (although the cube in this case didn’t need the last step).

Then the boolean-difference worked perfectly!

Yup… For the clean ring i actually did copy loop of yours and extrude/scale, extrude z thing. But, yes, boolean likes clean mesh more, likely.

Happy blending!

The ring was directly converted from an extruded curve -it seems this process does not produce clean-enough meshes.

The real issue is the doubles in the ring, if you remove those first all should be well. And yes, the ring should have cleaner topology for a better result.

You can start with a circle curve with some extrude, then use the solidify modifier to give it depth. The result when converted to a mesh will be clean.


solidified_curve.blend (395 KB)

Nice one, pappy! Somehow missed that and was a bit puzzled by resulting mesh, did what i did and missed again…:spin:

@ pappy Thanks, so the solidify modifier should be preferred over curve extrude to have a clean mesh output.

I wonder though, why the solidify modifier works in preview with a curve object directly and when I click “apply” only then it warns “cannot apply constructive modifiers on curve” -it shouldn’t work at all to prevent confusion.