4
$\begingroup$

I am trying to create a union of the following meshes:

Models


However, the result has a hole in the geometry. The hole disappears if I nudge one of the objects a little.

Results


What I've tried:

  • Checking that the normals are oriented properly
  • Triangulating
  • Degenerate dissolve
  • Subdividing
  • Making sure the geometry is water-tight (I think it is)

The meshes are generated algorithmically, and this only happens some times. Since the entire process will be done in a script, I'm hoping for a general solution that doesn't require manual tweaking.

Thank you!

Here is the blend file:

$\endgroup$

1 Answer 1

1
$\begingroup$

There should be a slight difference in dimensions on the Z axis which causes boolean to give an unexpected result. Try to scale the cube.001 very little on Z, it will work then:

enter image description here

$\endgroup$
2
  • $\begingroup$ Do you mean to say that Boolean fails when some part of the geometry exactly overlaps between the two objects? $\endgroup$
    – table_salt
    Nov 20, 2016 at 0:40
  • $\begingroup$ Perhaps errors in digital numbers are involved here. I tried again with more precision, and your cube.001 is calculated correctly when it's scaled on Z at least 1.000002. For instance, 1.0000019 does not work. We are talking about 10^-7th of a BU, at least. It could be related to the binary precision involved in boolean operations... it is not infinite/absolute... Also remember that Blender is a "tool for artists", not a "tool for engineers"... $\endgroup$
    – m.ardito
    Nov 20, 2016 at 11:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .