Manual/Booleans

From BlenderWiki

User Manual: Contents | Guidelines | Blender Version 2.4x

Contents

[hide]

Boolean Modifier

Mode: Object Mode (Mesh objects only)

Panel: Editing Context → Modifiers

Hotkey: W

Menu: Object → Boolean Operation...

Description

Boolean operations are a method of combining or subtracting solid objects from each other to create a new form. Boolean operations in Blender only work on two Mesh type objects, preferably ones that are solid, or closed, with a well defined interior and exterior surface. If more than two mesh objects are selected only the active and previously selected object are used as operands. The boolean operations also take Materials and UV-Textures into account, producing objects with Material indices or multi UV-mapped objects.

Options

Boolean Menu

Using the Boolean menu (W in Object Mode) presents the following options:

Boolean operations
Boolean operations
  • Intersect
Creates a new object whose surface encloses the volume common to both original objects.
  • Union
Creates a new object whose surface encloses the total volume of both original objects.
  • Difference
The only operation in which the order of selection is important, the active object is subtracted from 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.
  • Add Intersect Modifier
A shortcut that applies a Boolean Modifier and selects Intersect in one step.
  • Add Union Modifier
A shortcut that applies a Boolean Modifier and selects Union in one step.
  • Add Difference Modifier
A shortcut that applies a Boolean Modifier and selects Difference in one step.

Boolean Modifier

This sub-panel appears in the Editing Context panel group which is accessed using F9 or clicking Image:Manual-Part-I-Interface-Context-Editing.png button in the Buttons window. This sub-panel is part of the Modifier parent panel. For further information about the common panel components see the Interface section on modifiers.

Modifier panel with Boolean modifier activated.
Modifier panel with Boolean modifier activated.
Intersect
The available boolean operation types (Intersect/Union/Difference)
Ob
The name of the object to which this modifier will be applied.

The downside of using the direct Boolean commands is that in order to change the intersection, or even apply a different operation, you need to remove the new object and redo the command. Alternatively, one can use a Boolean Modifier for great flexibility and non-destructive editing. As a modifier the booleans can be enabled/disabled or even the order rearranged in the stack. In addition, you can move the operands and see the boolean operation applied interactively in real time!


Caution: if the objects' meshes are too complex you may be waiting a while as the system catches up with all the mouse movements. Turning off display in the 3D View in the modifier panel can improve performance.


To get the final object created (as with the direct Boolean tools) you need to "Apply" the modifier using the modifier's Apply button, and to see the new object you need to move the remaining operand away. Until you apply the modifier, a new mesh object will not be created. When you apply the boolean modifier you are notified that any mesh sticky information, animation keys and vertex information will be deleted.

Examples

Intersect

The cube and the sphere have been moved to reveal the newly created object (A). Each face of the new object has the material properties of the corresponding surface that contributed to the new volume based on the Intersect operation.

Intersect Before
Intersect Before
Intersect After
Intersect After

Union

The cube (A) and the sphere (B) have been moved to reveal the newly created object (U). U is now a single mesh object and the faces of the new object have the material properties of the corresponding surface that contributed to the new volume based on the Union operation.

Union example
Union example


Difference

The Difference of two objects is not commutative in that the active object minus the inactive object does not produce the same as inactive minus active. The cube (A) has been subtracted from a sphere (B), and both have been moved to reveal the newly created object (D). D is now a single mesh object and the faces of the new object have the material properties of the corresponding surface that contributed to the new volume based on the Difference operation. D's volume is less than B's volume because it was decreased by subtracting part of the cube's volume.

Difference example
Difference example


Technical Details

Visible normals
Visible normals

The boolean operations rely heavily on the surface normals of each object and so it is very important that the normals are defined properly and consistently. This means each object's normals should point outward. A good way to see the object's normals is to turn on the visibility of normals using the Mesh Tool 1 panel; the panel is accessable from the Buttons window, using F7 and clicking Draw normals. The normals are only visible while in Edit mode. (Visible normals) is an example of a cube with its normals visible. See The Interface for a full description of the Mesh Tool 1 panel.

In the case of open objects, that is objects with holes in the surface, 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 objects, the result is always a new object. Some operations will require you to move the operands to see the results of the boolean operation.

Hints

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 (L). This is handy if you want to assign materials and such to the result.

Limitations & Work-arounds

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 poor quality, for example, very long and thin and sometimes very small. Try using the Mesh Decimator (EditButtons F9) to fix this problem.

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 and try again.

See Also


Previous: Manual/Array Contents Next: Manual/Build Modifier
Personal tools