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.
Lets consider the object of Figure 7.
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 8 shows the results of the three operations.
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.