Boolean Add On and Modifier Bug #104657

Open
opened 2023-05-31 08:37:05 +02:00 by heisenbert · 4 comments

System Information
Operating system: Windows-11
Graphics card: NVIDIA RTX 3080 12gb

Blender Version
Broken: version: 3.5.0, branch: blender-v3.5-release, commit date: 2023-03-29 02:56, hash: 1be25cfff18b
Worked: (newest version of Blender that worked as expected)

Addon Information
Name: Bool Tool (0, 4, 1)
Author: Vitor Balbio, Mikhail Rachinskiy, TynkaTopi, Meta-Androcto, Simon Appelt

Short description of error
[When using the bool add on or modifier, the bool is behaving weirdly, making the joined objects disappear depends on the position of the bool object. Please read the steps below. I also attached the project file]

Exact steps for others to reproduce the error
[1. In Object mode make a Cube, duplicate the Cube, resize it an put it on top of the first cube, repeat this process 3 or four times making sure the cubes are in different sizes and lenghts and make sure all cubes are touching. Join them all.

  1. Make another cube or any objects, use it as bool on the Joined cubes in the first step.

  2. You'll notice that if you move the Active bool objects/brushes depending on the coordination and placement the joined object appears/disappears.]

[Based on the default startup or an attached .blend file (as simple as possible)]

I attached problematic blend file below.

Thank you so much for the support, I really love Blender all I can say is thanks a bunch! Take care Blender Family!

**System Information** Operating system: Windows-11 Graphics card: NVIDIA RTX 3080 12gb **Blender Version** Broken: version: 3.5.0, branch: blender-v3.5-release, commit date: 2023-03-29 02:56, hash: `1be25cfff18b` Worked: (newest version of Blender that worked as expected) **Addon Information** Name: Bool Tool (0, 4, 1) Author: Vitor Balbio, Mikhail Rachinskiy, TynkaTopi, Meta-Androcto, Simon Appelt **Short description of error** [When using the bool add on or modifier, the bool is behaving weirdly, making the joined objects disappear depends on the position of the bool object. Please read the steps below. I also attached the project file] **Exact steps for others to reproduce the error** [1. In Object mode make a Cube, duplicate the Cube, resize it an put it on top of the first cube, repeat this process 3 or four times making sure the cubes are in different sizes and lenghts and make sure all cubes are touching. Join them all. 2. Make another cube or any objects, use it as bool on the Joined cubes in the first step. 3. You'll notice that if you move the Active bool objects/brushes depending on the coordination and placement the joined object appears/disappears.] [Based on the default startup or an attached .blend file (as simple as possible)] I attached problematic blend file below. Thank you so much for the support, I really love Blender all I can say is thanks a bunch! Take care Blender Family!
heisenbert added the
Type
Report
Priority
Normal
Status
Needs Triage
labels 2023-05-31 08:37:05 +02:00

Using the supplied file:
3.6.7 => has issue
3.6.3 => has issue
3.4.0 => has issue

3.0.1 => Has warning when opening file about version, but issue not observed. When inspecting the Modifier I get a warning "Compiled without GMP, using fast solver".

Returning the 3.6.7
Setting the Modifier Solver to "Fast" makes it look better, more of the time - the main tri-cube stays visible. However when the main tri-cube is moved along (in x) such that the 'difference' cube intersects two more faces it suddenly becomes visible. Similar oddness can be made to happen with the sphere.

Setting the Modifier Solver to "Exact", with the solver option "Self Intersection" ticked makes things look good. After doing this to both Modifiers, I've not seen it fail.

Using the supplied file: 3.6.7 => has issue 3.6.3 => has issue 3.4.0 => has issue 3.0.1 => Has warning when opening file about version, but issue not observed. When inspecting the Modifier I get a warning "Compiled without GMP, using fast solver". Returning the 3.6.7 Setting the Modifier Solver to "Fast" makes it look better, more of the time - the main tri-cube stays visible. However when the main tri-cube is moved along (in x) such that the 'difference' cube intersects two more faces it suddenly becomes visible. Similar oddness can be made to happen with the sphere. Setting the Modifier Solver to "Exact", with the solver option "Self Intersection" ticked makes things look good. After doing this to both Modifiers, I've not seen it fail.

After some more playing around I don't think this is a problem with the Addon.
The same situation occurs with just the core blender feature. Modifier -> Boolean is supplied as part of the built in modifiers accessible from the properties window.

I've reduced the recreation steps to a minimal set using 3 cubes and no re-sizing.

  1. From a new general project - delete everything in the scene.
  2. Add -> Mesh -> Cube
  3. Move this x=1, y=1
  4. Add -> Mesh -> Cube
  5. Select both cubes and join (ctrl j)
  6. Add -> Mesh -> Cube (rename this as Cube_cut for clarity)
  7. Move this x=1.5, y=-1.5, z=1
  8. Select the double cube and navigate to the Properties->Modifiers window (spanner icon)
  9. Add Modifier -> Boolean
  10. Select Cube_cut in the Object dropdown
  11. Hide Cube_cut in Viewport (the eye icon under scene selection).
    Up to here it looks as expected.

Dragging the double cube along the Y axis shows the same problem as described as the issue in this ticket. While the Cube_cut intersects only one of the double cube bits all is good. Where it intersects both either everything disappears or everything is visible.

Returning to the Modifier, if the Solver Option of "Self Intersection" is ticked then it is good all the time.

Issue of disappearance not seen in 3.0.1 (installed from the Mint Victoria apt probably) as "Compiled without GMP, using Fast solver". The Fast Solver leaves holes where Cube_cut intersects both double cube part.

Issue seen in Blender version: 3.6.7 (local build) & 3.4.0 (release) & 3.1.0 (release) & 3.0.1 (release) & 3.0.0 (release) & 2.93.18 (release) & 2.83.20 (release). The Fast Solver leaves holes in the cube, so that is not a viable workaround.

After some more playing around I don't think this is a problem with the Addon. The same situation occurs with just the core blender feature. Modifier -> Boolean is supplied as part of the built in modifiers accessible from the properties window. I've reduced the recreation steps to a minimal set using 3 cubes and no re-sizing. 1) From a new general project - delete everything in the scene. 2) Add -> Mesh -> Cube 3) Move this x=1, y=1 4) Add -> Mesh -> Cube 5) Select both cubes and join (ctrl j) 6) Add -> Mesh -> Cube (rename this as Cube_cut for clarity) 7) Move this x=1.5, y=-1.5, z=1 8) Select the double cube and navigate to the Properties->Modifiers window (spanner icon) 9) Add Modifier -> Boolean 10) Select Cube_cut in the Object dropdown 11) Hide Cube_cut in Viewport (the eye icon under scene selection). Up to here it looks as expected. Dragging the double cube along the Y axis shows the same problem as described as the issue in this ticket. While the Cube_cut intersects only one of the double cube bits all is good. Where it intersects both either everything disappears or everything is visible. Returning to the Modifier, if the Solver Option of "Self Intersection" is ticked then it is good all the time. Issue of disappearance not seen in 3.0.1 (installed from the Mint Victoria apt probably) as "Compiled without GMP, using Fast solver". The Fast Solver leaves holes where Cube_cut intersects both double cube part. Issue seen in Blender version: 3.6.7 (local build) & 3.4.0 (release) & 3.1.0 (release) & 3.0.1 (release) & 3.0.0 (release) & 2.93.18 (release) & 2.83.20 (release). The Fast Solver leaves holes in the cube, so that is not a viable workaround.

The above instructions to use Join causes an object to be created that is formed from two separate meshes.

From the joined object, enter edit mode:

  1. Select any one face, the select linked (ctrl l)
  2. Menu -> Face -> Intersect (Knife)
  3. Select all verts
  4. Mesh -> Clean Up -> Merge by Distance
  5. Deselect everything
  6. Select, All by Trait -> Interior Faces
  7. Delete Faces

Now there is a single mesh and the Boolean works without any disappearing parts.
Note: Solver Fast will still sometimes - depending on the position - take out too many faces, and Exact with Self Intersection is still required.

The above instructions to use Join causes an object to be created that is formed from two separate meshes. From the joined object, enter edit mode: 1) Select any one face, the select linked (ctrl l) 2) Menu -> Face -> Intersect (Knife) 3) Select all verts 4) Mesh -> Clean Up -> Merge by Distance 5) Deselect everything 6) Select, All by Trait -> Interior Faces 7) Delete Faces Now there is a single mesh and the Boolean works without any disappearing parts. Note: Solver Fast will still sometimes - depending on the position - take out too many faces, and Exact with Self Intersection is still required.

The described issue is due to the double faces (aka self intersecting faces (= if either of the parts has faces that go through each other)). Cleaning those up results in a working boolean exact operation (blender 4.1). Leaving the double faces Self intersection has to get enabled.

See attached .blend file. Cube (with double faces on top and bottom; > issue), Cube_no_doubles (removed double faces; > no issue), Cube_no_doubles_no_interior (removed double and interior faces; > no issue).

Tbh i don't know if this can be declared as a bug as it's behaviour seems to be clear.

The described issue is due to the double faces (aka self intersecting faces (= if either of the parts has faces that go through each other)). Cleaning those up results in a working boolean exact operation (blender 4.1). Leaving the double faces `Self intersection` has to get enabled. See attached .blend file. Cube (with double faces on top and bottom; > issue), Cube_no_doubles (removed double faces; > no issue), Cube_no_doubles_no_interior (removed double and interior faces; > no issue). Tbh i don't know if this can be declared as a bug as it's behaviour seems to be clear.
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#104657
No description provided.