[Bf-committers] Carve vs. Bmesh booleans

Mikhail Rachinskiy mikhail.rachinskiy at gmail.com
Wed Apr 18 23:41:29 CEST 2018

Hi Kai and Howard,

>> 1. Bmesh is leaving free edges in non-manifold results (well visible in
in the lower right), those should be removed after operation.

It is out of scope of a boolean tool, it should not try to fix geometry,
it's just should
perform a boolean operation. Incorrect input should result in incorrect

If FM result geometry must not contain loose edges, than it should do a
post process
(check for loose edges) after boolean operation finished.

>> 2. Bmesh is not face normals aware. I'm not sure if this is good or bad
in a higher sense, but I know that this is limiting factor for some users
inverted normals variants which would flip results in Carve).

And I think this is actually more robust than Carve, if user chose boolean
no matter the normals direction, unlike Carve, BMesh solver will give
boolean difference result.

>> 3. As a result of 2. Bmesh can produce meshes with inconsistent normals
as it
keeps the original normals of the operator object but ignores them for the
actual boolean operation (row 3 and 6).

Again it is not the point of boolean tool, if FM needs correct normals for
every result
(even with incorrect input) then it should do a pre/post process on
input/output geometry.

Please do not try to make boolean tool more than it supposed to be.

Mikhail Rachinskiy

More information about the Bf-committers mailing list