# Boolean operations

The boolean operations 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.

Boolean operations are invoked by selecting 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.

Lets consider the object of Figure 47.

• The "Intersect" operation creates a new object whose surface encloses the volume common to both original objects.

• The "Union" operation creates a new object whose surface encloses the volume of both original objects.

• The "Difference" operation is the only one in which the order of selection is important. The active object (light purple in wire-frame view) is subtracted by the selected object. That is, the resulting object surface encloses a volume which is the volume belonging to the selected and inactive object but not to the selected and active one.

Figure 48 shows the results of the three operations.

This functionality is still under heavy development. To make it possible for you to use this functions for your work we list here the current limitations:

Known problems of the Boolean Operations

• The number of polygons generated can be very large compared to the original meshes. This is especially true for complex concave objects

• 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 do not match up.

• 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. To get rid of the doubled vertices use the "Remove Doubles" button in the EditButtons F9.

• 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.

• Operations are between two objects only, there is no way to perform operations on more than 2 operands, such as intersect all these selected objects with the active object.