5
$\begingroup$

I have this weird object (vascular tree) which is empty inside, but closed from the top and the bottom: Object empty inside However, it is empty inside, which makes me unable to use boolean on a bigger object (I want to make a hole in an object through which this object will go through). So I thought I should fill it and then try to boolean. But, how do I fill it?

Thank you sincerely.

$\endgroup$
3
  • $\begingroup$ I believe that you are treating the Boolean operations of Blender like other CAD packages, that don't allow these operations to be done on a water-tight mesh, rather than a geometric "Solid". Booleans within Blender do have their limitations, and do not always work (when the mesh gets complex especially). However there are methods to do what you are intending to do as an end goal. Unless I'm missing the point of what you are asking here... $\endgroup$
    – Rick Riggs
    Apr 6, 2016 at 23:03
  • $\begingroup$ @RickRiggs would you suggest using a CAD package then? Do you have any specific software in mind? I would appreciate your idea. $\endgroup$ Apr 6, 2016 at 23:05
  • $\begingroup$ I would go ahead and go thru the steps Duarte's answer provides. If you still have trouble, then post back, as there are usually always a way to help you within Blender with this big/knowledgeable community of users(In this case there are manual methods if your cleanup exercise fails). $\endgroup$
    – Rick Riggs
    Apr 6, 2016 at 23:45

1 Answer 1

26
$\begingroup$

All mesh, or 3D modeled virtual objects for that matter, are "hollow" or "empty inside" by definition, there is no such thing as mass, dense volume or matter inside them, with the possible exception of actual volumetric data like voxels or point clouds.

Concepts

Boolean operations on meshes are always performed as mathematical calculations over the surfaces to simulate the existence of a dense "filled" object, by combining the surfaces of the intervening objects through cutting, intersecting and or subtracting operations. The results happen only on the "shell" or faces of the mesh surface, to give the impression of having dense interior, when in reality there is none.

For that reason mostly only coherent, closed, "watertight" manifold meshes are successfully usable in fruitful Boolean operations outside of CAD applications, that use either ACIS Solid Modeling, NURBS based surfaces, or other geometry representation models more suited for these types of operations (and even these are all hollow as well, despite the application best efforts make you believe otherwise).

Open or inconsistent meshes (non-manifold) often give problems, errors, bad results, or fail completely.

Diagnosis

That being said, in your case if you can't preform a Boolean operation on your object it is most likely because your mesh is either too complex for the application to handle or has one of multiple common geometry issues.

Boolean operations on meshes are limited at best. If there are errors in your objects like discontinuities, wholes, inconsistent normals, overlapping geometry, or any other geometry problems that make your mesh non-manifold or non watertight they will fail to various degrees.

There are also complexity limits that can be handled. If you are reaching Blender, the algorithms, hardware, or available resources limits, you should break down your objects into more manageable chunks.

Possible solutions

There are many common issues with Booleans and very well known solutions to deal with them that have been thoroughly covered before. What you need to do is clean up your meshes and make sure these errors and discontinuities are gone. Stuff you can try:

  1. Removing doubles - Edit Mode > W > Remove Doubles (Alt + M > By Distance for 2.8+), to merge all open or coincident geometry.

  2. Recalculate normals - In Edit Mode Ctrl + N (Alt + N for 2.8+) to make sure all surfaces are facing the same direction consistently.

  3. Check for holes - In Edit Mode press Space Bar and search for Select non Manifold. That should highlight any remaining wholes, or problems with your mesh which you must then solve by hand, like overlapping faces, inconsistent normals, missing geometry, etc.

  4. Ensure there are no coinciding or coplanar surfaces between the two operands - These usually confuse the algorithm making it unable to distinguish in from out.

  5. Eliminate any intersecting edges - If edges intersect between two operands (common with symmetric objects, geometric or orthogonal shapes, hard surface modeling, among others) operations will likely fail, this is a known limitation of current Boolean algorithm. Nudge them around very small distances, or rotate them micrometrically if need be to break perfect alignments.

  6. Search for self intersections which are common in data obtained from scanned data like 3D Scans, photogrammetry, or other real world captured data. Solving this will be mostly a manual process as there are no current built in tools to handle them automatically, but you can turn on Mesh Analysis from the Overlays popover to get a good indication of problematic areas.

After that your Boolean operation stands a better chance to produce good results, if your mesh is not too overly complex to successfully be processed. If that is the case the you should break it apart into smaller objects making sure that each and every one of them involved in Boolean operations is a watertight "closed" manifold mesh.

For Blender 2.8+ you can also try different calculation methods for the Boolean Modifier, like the Fast or Exact options, depending on the type of mesh you have.

$\endgroup$

You must log in to answer this question.

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