Page MenuHome

BMesh boolean solver does not work properly
Closed, DuplicatePublic

Description

System Information

Linux 4.6.0-1-amd64 / Radeon R9-280

Blender Version

2.78.a (Debian package)

Short description of error

The BMesh boolean solver does not produce correct results for some meshes.
In the example provided, when applied to a standard 32-face cylinder,
both Intersect and Difference fail, although Union succeeds.

Exact steps for others to reproduce the error

The attached example contains only three simple objects: "Cube" and "Cylinder",
which are as described, and another cube named "Boolean", which is set to display
as a wireframe, so that the results of the modifier are visible.

Both Cube and Cylinder have BMesh modifiers applied to them, referencing Boolean.
For Cube, everything works as expected. However, for Cylinder, "difference" appears
to have no effect, while "intersect" produces a non-solid object. "union" seems to
work properly. When the solver is changed to Carve, these problems disappear.

This bug may be related to T51074 and T51234.

Details

Type
Bug

Event Timeline

mathieu menuet (bliblubli) triaged this task as Needs Information from User priority.

I see no errors in latest buildbots, please try with one from https://builder.blender.org/download/ and post an image showing where it's wrong if the bug is still there.

I see no errors in latest buildbots

Could you reproduce it with my test file and v2.78.a or v2.78.c ?

If not, then it's a problem with the Debian build, versus the Blender build.

post an image showing where it's wrong if the bug is still there.

see attachments -- the wireframe cube does not subtract from the cylinder, as it should, and as it does, when the boolean solver is changed to "Carve". The third image shows "Intersect" producing a non-solid object.

This is still with Debian v2.78.a . I should point out that the same problem was reported in T51074, on Windows, with Blender v2.78c .

If it was reported in another bug report, why did you report it again?

If it was reported in another bug report, why did you report it again?

If you were to compare the two bug reports, you might be able to answer that question for yourself.

Bastien Montagne (mont29) closed this task as Resolved.
Bastien Montagne (mont29) claimed this task.

Debian features latest release, if bug has been fixed already since then and is no more reproducible with latest master, then we can close the report. ;)

Ian Bruce (ian_bruce) reopened this task as Open.May 29 2017, 9:07 PM

if bug has been fixed already since then and is no more reproducible with latest master, then we can close the report.

This bug has most definitely NOT BEEN FIXED and is EXACTLY REPRODUCIBLE with the latest build.

I tried my test file, above, with this version of Blender:

https://builder.blender.org/download/blender-2.78-94a3bc63cc-linux-glibc219-x86_64.tar.bz2

ABSOLUTELY NOTHING HAS CHANGED. I won't even post new screenshots; they would be EXACTLY the same as the ones above.

Simply open the test file, don't touch anything, and observe the result. What you get is "boolean1.png", above. What you SHOULD get is "boolean2.png", and that is what you do get, as soon as you change the boolean solver to "Carve". With the BMesh solver, and "Intersect", you get "boolean3.png", a non-solid object, whereas Carve again produces the correct result.

This is about the simplest test case possible. Carve works, BMesh doesn't. It's as simple as that.

It turns out that there is a long history of problems with BMesh. Here's a partial list: T47030 .

This one seems to be another case of the non-solid object problem: T50165 .

Here's some more to add to the list: T47129 T49321 T50672 .

And as I said above, T51074 may be related, although that one afflicts Carve as well as BMesh.

I don't understand how it is that I can provide a simple testcase, and screenshots, and the bug just gets closed, with nobody even TRYING to replicate it. JUST OPEN THE FILE. You don't have to do anything else.

Yeah, well, then suggest next time you clearly state that you tested it with latest buildbot and it wasn't fixed, instead of bringing back topic on latest stable release and (even worse) builds from third party like distro packages…

Also, as you say it yourself, this has already been reported several times - it’s the known issue of perfectly 'aligned' geometry (coplanar faces, concurrent edges, etc.). No point in creating yet another report here, we already have too much of those, issue is known, workaround too (just offset one mesh from a very tiny amount, like 1e-5 or so)…