Boolean operations

The boolean operations are particular actions which can be taken only on Objects of Mesh type.

They will work for all objects but is really intended for use with solid closed objects with a well defined interior and exterior region. In the case of open objects the interior is defined in a rather mathematical way by extending the boundary faces of the object off into infinity. So results may be unexpected for these objects. A boolean operation never affects the original operands, the result is always a new blender object.

For this same reason it is very important that the normals in each object are defined consistently, and outward. Please have a look at the chapter called Mesh Modelling for further info on normals.

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 7. Options for boolean operations

Lets consider the object of Figure 7.

Figure 8 shows the results of the three operations.

Figure 8. Resulting objects, original top, intersect, union, difference

The number of polygons generated can be very large compared to the original meshes. This is especially true for complex concave objects. Furthermore output polygons can be of generally poor quality, meaning they can be very long and thin and sometimes very small, you can try the Mesh Decimator (EditButtons F9) to fix this

Vertices in the resulting mesh falling on the boundary of the 2 original objects often do not match up and boundary vertices are duplicated. This is good in some respects because it means you can select parts of the original meshes by selecting one vertex in the result and hitting the select linked button (LKEY) in Blender. Handy if you want to assign materials etc to the result.

Sometime the boolean operation can fail, a message is popped up saying ("An internal error occurred -- sorry"). Try to move or rotate the objects just a very small amount.