I am working with python Trimesh and using the Blender engine to perform Boolean union.

I am working with 2 meshes that are winding consistent, have all normal pointing outward, don't have degenerated or duplicated faces nor vertices, and are watertight.

Yet as I perform the Boolean union operation, despite all the prerequisites, the result is not watertight.

Any idea what I am missing? Is there a mandatory property I am forgetting to check?

  • 6
    $\begingroup$ without any mesh it is impossible to help you. blend-exchange.com $\endgroup$ Aug 11, 2023 at 23:54
  • 2
    $\begingroup$ Screenshots would be invaluable here. $\endgroup$
    – TheLabCat
    Aug 12, 2023 at 0:17
  • $\begingroup$ @LNiederha we'd like some screenshots, so we understand your problem more clearly. $\endgroup$
    – lajawi
    Aug 14, 2023 at 13:42
  • 1
    $\begingroup$ I find this article to be quite nice. For example, you could have 2 hulls sharing a single vertex - it would still satisfy your description (unless this vertex would be 'degenerated'? I don't know what that means) but they wouldn't be manifold. You could have one edge of the manifold hull extruded - would the hull still be watertight? Maybe not, because the new face could get wet from below. You don't say anything about internal faces, which shouldn't be there… $\endgroup$ Aug 17, 2023 at 13:59

2 Answers 2


Tick the checkbox Face Orientation under Viewport Overlays.

You have several problems like overlapping vertices & faces and internal faces. Go tab into Edit Mode and press A to select all vertices then M > Merge By Distance which will merge 4 overlapping vertices. Then you can easily see the internals of your mesh by selecting faces and pressing H to hide them and use Alt + H to unhide the faces again once you are done cleaning up your mesh.

Delete all internal faces and overlapping faces then fill faces properly again by selecting vertices or edges and pressing F to fill. Everything needs to look nice and blue, which means face normals are pointing outwards correctly.

Then you can bevel or use Subdivision modifier with supporting edges, of course, which can be added with Ctrl + R for Loop Cuts.


AI Icon Warning, Potential AI generated content⚠️

This post is suspected to have been generated with the help of an artificial intelligence, chat bot, or other language model tools without proper attribution.

There is reason to believe this post was not written by a human due to its structure, and grammatical construction, and has been marked by our community.
Current AI chat bots are a language models, that means they are like a parrot, they can mimic human language well, but they are built to write seemingly logical, seemingly factual grammatically valid text, rather than actually be correct, like a human would.
The veracity of the following content cannot be ascertained. See the Concerns regarding AI generated content.

I dont know if this helps:

If you’re experiencing issues with watertightness after using the Boolean modifier in Blender, it could be because the mesh is not manifold or watertight. According to the Blender manual, Booleans work best on manifold or watertight meshes.

The Union operation in the Boolean modifier will join the target object to base mesh and merge geometry of the two objects. Any faces that remain inside this newly joined object is deleted, leaving a manifold (watertight) mesh.

Source Of Info: https://artisticrender.com/boolean-modifier-problems-and-how-to-solve-them/


You must log in to answer this question.

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