This topic provides troubleshooting tips and best practices for working with the Boolean modifier.
This table lists common Boolean modifier problems and possible solutions.
Problem |
Possible solution |
---|---|
Base object is self intersecting and/or open mesh and boolean result is not generating. |
Use the Cap Hole modifier on any self intersecting and/or open mesh objects, like the teapot primitive, before performing the boolean operation. |
Two boolean operands are perfectly aligned without actually intersecting, causing the Boolean operation to produce an incorrect result. |
You can mitigate this issue by ensuring the operands overlap slightly. |
Inverted operands produce unpredictable Boolean results |
Instead of inverting the mesh, make a very large box or other primitive centered on (but not touching) the mesh and subtract the mesh from it using the Boolean Add Operands. Convert the result into an Editable Mesh and then delete the box faces. This produces a correctly-inverted mesh that is compatible with Boolean operations. |
Best practices |
Additional information (if applicable) |
---|---|
The surface topology of operands must be intact |
Operand surfaces must be continuous and closed. They must not contain:
The Boolean algorithm tries to correct operands that are not intact; however, the results may not be desirable. To check for holes in the geometry manually, use the STL Check modifier or the Measure Utility. To fill holes, use the
Cap Hole modifier.
Note: When operands are not watertight, a point triangle indicator appears next to the operand in the
Operands list:
|
An operand's face normals must be uniform across all surfaces |
Flipped normals can produce unexpected results.
To correct normal problems manually, do one of the following:
|
An operand's faces must be planar |
Faces in non-planar shapes can cause Boolean errors. |
Maintain a similar complexity between operands |
The Boolean Modifier works best when operands are of a similar complexity. For example, if you subtract a complex object made of many faces and vertices from a box without any segments, the result is many long skinny faces that are prone to rendering errors. In this scenario, increasing the number of box segments produces better results. |
Avoid scaling the first operand in the Operand list |
Scaling the first operand in the Operand list can cause unpredictable scaling on subsequently added operands. |