Page MenuHome

Bmesh fails to cut a mesh when the bool object is a plane.
Closed, InvalidPublic

Description

System Information
win10 geforce 780

Blender Version
2.79 hash 02a01b3

Short description of error
Bmesh fails to cut a mesh when the bool object is a plane.
See example.


The scene

Details

Type
Bug

Event Timeline

A plane doesn't have width (well, volume) so I don't see how it could be used to separate things. You can see that it is cutting the mesh though, and if you apply the boolean you can see that you end up with new vertices where the plane was. So basically you made a fancier version of loop cut. 😛 If it's supposed to actually split the mesh in half then it could be a bug but it's still nothing like the Carve result you got.

If anything the carve version has bugged behavior. I don't see why the mesh should get cut off at that point. Also if you extrude a bit so it actually has volume the behavior is completely different.

I did find two other strange things thanks to your file:

  1. If you extrude the plane so you get flipped normals Carve does the other operation (Intersect if it was Difference, Difference if it was Intersect) which is kind of weird and probably a bug (or a feature?). But hey it's getting removed anyway so who cares.
  2. If you do the same thing as above but with Bmesh you get messed up normals (black shading in viewport) where the cube intersected/whatever you did. Maybe this is a bug too.

Maybe it's not good but it's a desired behaviour IMHO.
you don' have to add volume to cut a mesh, it's useful when you want to make a cut view of a mesh without thinking of the width.

I use a lot of booleans and it's faster this way with a plane or even with an open mesh.

The task for tracking the current Bmesh boolean issues is in T47030.
If this is not a case that is covered in the already existing cases, it can be added to the list.

Campbell Barton (campbellbarton) closed this task as Invalid.

Boolean needs objects to be solid, we already have code to perform a bisect so this could be exposed as a separate modifier.

Boolean needs objects to be solid, we already have code to perform a bisect so this could be exposed as a separate modifier.

It would be very useful modifier indeed! Max users have Slice modifier which is often used to reveal complex geometry in animation (in arch work, design and details, even fx). It is currently somewhat possible with Carve, but complex meshes cause some frames to glitch, making it hardly usable for production scenarios(first hand xp). Max users also have Symmetry modifier which is Slice+Mirror 2 in one. Benefit of the approach is that geometry is not destroyed and watertight connections are always created. Personally I love Mirror in Blender, but have taught some presistant max users to replicate this behavior with Boolean plane(carve dif)+Mirror. Overall I think there's real need for Bisect modifier, especially if carve's being removed.