Page MenuHome

BMesh boolean fails with zero area faces
Open, Confirmed, MediumPublic

Description

System Information
Linux 64

Blender Version
Broken: 5b33115

Short description of error

Here's a heavy boolean construction that currently fails at many points. Feel free to enable bmesh boolean in any modifier and notice the differences :)

Simplified example with 3d cursor located at root-cause:

Details

Type
Bug

Event Timeline

Daniel Salazar (zanqdo) set Type to Bug.
Daniel Salazar (zanqdo) created this task.
Daniel Salazar (zanqdo) raised the priority of this task from to Needs Triage by Developer.

Checked on the example file and the errors in this case (and others I've seen reported), is that bmesh booleans currently doesn't support overlapping surfaces.

It looks like I'll need to support this since there are enough examples where it works properly in carve (though its not working 100% in carve either - see http://lists.blender.org/pipermail/bf-committers/2015-December/046271.html ).

Campbell Barton (campbellbarton) renamed this task from BMesh Boolean Fail to BMesh boolean fails with overlapping geometry.Dec 18 2015, 10:32 AM
Campbell Barton (campbellbarton) raised the priority of this task from Normal to Confirmed, Medium.
Campbell Barton (campbellbarton) renamed this task from BMesh boolean fails with overlapping geometry to BMesh boolean fails with zero area faces.

Correction, this error is caused by zero area faces.

The problem is made worse by ngon tessellation creating zero/near-zero area faces.

This particular problem can be avoided by checking for zero area triangles (I tried a test patch for this and it works well, fixing all the errors in this file except for one - D2582),
however there is still the possibility of the input into the boolean modifier containing zero area faces - attached an example of this.

Tweaking the "Overlap Threshold" works around the problem. But its still a bug.