Page MenuHome

Adding two planes != separating two faces of a cube? (boolean modifier)
Closed, ArchivedPublic

Description

System Information
Archlinux
Nvidia GTX 460

Blender Version
Broken: 10f4c26 (2.7 RC)

Short description of error
Creating a boolean modifier setup with two planes boolean joined subtracting from a cylinder (see http://blender.stackexchange.com/a/7285/599 for context) does not give the same result when created different ways. Using a cube gives the expected result, while directly adding planes does not.

Exact steps for others to reproduce the error
In the attached .blend

:

  • layer 1: Boolean operation set up by adding planes
  • layer 2: Boolean operation set up by adding a cube

Exact setup steps:

For planes:

  1. Add plane
  2. R+X+90
  3. G+X+1
  4. Add plane
  5. R+Y+90
  6. G+Y+1
  7. Add boolean join modifier to plane 1 with plane 2 as target
  8. Add cylinder
  9. Add boolean difference modifier to cylinder with plane 1 as target

For cube:

  1. Add cube
  2. Move cube with snapping so one edge is in the world center
  3. Delete top and bottom vertices on the edge opposite edge in the world center
  4. Select one of the remaining two faces and separate by selection
  5. Add boolean join modifier from separated face to other face
  6. Add cylinder
  7. Add boolean difference modifier to cylinder with separated face as target.

Details

Type
Bug

Event Timeline

Ellwood Zwovic (gandalf3) raised the priority of this task from to Needs Triage by Developer.
Ellwood Zwovic (gandalf3) updated the task description. (Show Details)
Ellwood Zwovic (gandalf3) set Type to Bug.
Brecht Van Lommel (brecht) claimed this task.

In this case face normals matter to determine what is inside or outside, since that cannot be determined automatically from a non-closed mesh.

@Brecht Van Lommel (brecht) But the shouldn't the result be the same? I don't understand how the method used to create the planes could affect it, as the objects/normals seem identical in the end (to me, anyway)..

I closed this one too fast, will let @Sergey Sharybin (sergey) have a look.

Brecht Van Lommel (brecht) lowered the priority of this task from Needs Triage by Developer to Normal.
Sergey Sharybin (sergey) closed this task as Archived.Feb 24 2014, 3:10 PM

Your two ways of creating the operand doesn't match really. You're adding rotation to the planes which gives a bit of float precision issues, resulting in different location of vertices in the corner which might look being at the same exact point.

Root of the issues goes to the fact that Blender uses floats and Carve uses double, which results in different epsilons being considered all over..

Doesn't consider a bug, just a specific work.