Page MenuHome

bmesh boolean solver doesn't match carve behavior with open plane
Closed, InvalidPublic

Description

System Information
Operating system: Archlinux

Blender Version
Broken:
2.79b release
Blender 2.80 (sub 35), 168a6a4bfc1, 2018-12-10

Short description of error

Bmesh doesn't match carve's behavior with a single non-manifold plane, as can be seen in the following gif:

I'd say carve's behavior was much more useful, allowing workflows such as this (https://blender.stackexchange.com/a/6591/599).

Exact steps for others to reproduce the error

  1. Add a boolean modifier to a simple manifold object
  2. Add a plane which cleanly bisects the whole object (no boundary edges inside)
  3. Set the plane as the boolean target
  4. Rotate the plane and observe the bmesh solver's behavior

Details

Type
Bug

Event Timeline

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

That is not a bug, non-manifold objects do not have a defined behavior in boolean operations, so different code may handle them differently, nothing wrong here. Thanks for the report anyway.

@Bastien Montagne (mont29)

Consider this a feature request then:
While the behavior of a boolean operation is technically undefined in this situation (though the parts of the objects which intersect are still watertight), I personally think there is good reason to choose this behavior for bmesh's implementation, from an artist/usability POV. I don't think I'm alone in using a plane like this as a dynamic cutting tool. The need to extrude clutters the scene and makes adjusting the boolean more awkward, as very it often requires entering edit mode on the cutter object to tweak the extent as opposed to just moving and scaling a plane in object mode. Animated boolean cuts are similarly more complicated.