Boolean operations

Relevant to Blender v2.31

Boolean operations are particular actions which can be taken only on mesh type objects. While they will work for all Mesh objects, they are really intended for use with solid, closed objects with a well defined interior and exterior region. Thus, it is very important to define the normals in each object consistently, that is all each normal of each face should point outward. See Chapter 6, Basic Mesh Modelling for further info on normals and on why you can end up with normals pointing partuially outward and partially inward.

In the case of open objects, the interior is defined mathematically by extending the boundary faces of the object to infinity. As such, you may find that you get unexpected results for these objects.

A boolean operation never affects the original operands, the result is always a new Blender object.

Boolean operations are invoked by selecting exactly two meshes and pressing WKEY. There are three types of boolean operations to choose from in the popup menu, Intersect, Union and Difference.

The boolean operations also take materials and UV-Textures into account, producing objects with material indices or multi UV-mapped objects.

Figure 5.7. Options for boolean operations

Options for boolean operations

Consider the object Figure 5.7, “Options for boolean operations”.

Figure 5.8, “Resulting objects for: intersect, union, difference (top to bottom).” shows the results of the three operations.

Figure 5.8. Resulting objects for: intersect, union, difference (top to bottom).

Resulting objects for: intersect, union, difference (top to bottom).

The number of polygons generated can be very large compared to the original meshes, especially when using complex concave objects. Furthermore, the polygons that are generated can be of generally poor quality: very long and thin and sometimes very small. Try using the Mesh Decimator (EditButtons F9) to fix this problem.

Vertices in the resulting mesh that fall on the boundary of the two original objects often do not match up, and boundary vertices are duplicated. This is good in some respects because it means that you can select parts of the original meshes by selecting one vertex in the result and pressing the select linked button (LKEY). This is handy if you want to assign materials and such to the result.

Note

Sometimes the boolean operation can fail with a message saying ("An internal error occurred -- sorry"). If this occurs, try to move or rotate the objects just a very small amount.