8

Boolean Compound Object 335
If operand A doesn’t have a material, it inherits
operand B’s material.
If operand B doesn’t have a material, it in herits
operand As material.
•Ifbothoperandshavematerials,thenew
material is a multi/sub-object material that
combines the materials from b oth operands.
For more information, see
Material Attach Options
Dialog (page 1–340)
.
Sol utions When Working with B oolea ns
The Boolean algorithm caused unpredictable
behav ior in earlier releases. The solutions are
discussed here.
Surface Topology
Boolean requires that operands surface topology
be intact: This means no missing or overlapping
faces and no unwelded vertices. The surface
should be one continuous closed surface.
The Boolean corrects operands that fail to
meet this requirement. However, the automatic
correctionmaynotbeexactlywhatyouwant,soin
some cases it might be safer to correct the surfaces
manually.
To check for holes in the geometry, use the
STL-Check modifier (page 1–825)
or the
Measure
utility (p age 2–48)
.
To fill holes, use the
Cap Holes modifier (page
1–550)
.
Face Normals
Booleans require that the face normals of the
surface be consistent. Flipped normals can
produce unexpec ted results. Surfaces w here some
faces are facing one way and adjacent faces are
flipped are also problematic, and are commonly
found in geometry imported from CAD programs.
TheBooleanfixesthesefacesasbestitcan.
Again, it mig ht make more sense to correct these
manually.
Use shaded viewports to look for normal problems,
watching for objects that appear inside-out or look
otherwise incorrect. You can also turn on Show in
the
Editable Mesh (Face) (page 1–1001)
>Surface
Properties rollout > Normals group. Fix normals
here, or with a
Normal modifier (page 1–738)
.
Overlapping Elements
Because Boolean operations depend on a clear
understanding of what is inside and what is outside
a mesh, meshes that overlap themselves can
produce invalid results. For instance, if you use the
Collapse utility (page 1–948)
with two overlapping
objectswithoutturningontheBooleanfeature,
the resulting object will not make a good Boolean
operand. This is also a problem for the
Te a p o t
primitive (page 1–178)
(with a ll parts turned on),
which overlaps itself.
If you need to use such an object as a Boolean
operand, you might reconstruct it as a single
non-overlapping mesh by separ ating the
components and combining them with Boolean.
Work ing with Inverted Meshes
Boolean doesn’t always produce the ideal result on
"inverted meshes" (meshes that have been t urned
inside-out by having their normals flipped).
The problem is that the area inside the flipped
mesh is correctly seen as "outside," but the area
outside it may also be seen as “outside. To remedy
this, 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 Boolean. Then convert it to an editable
mesh, and delete the box faces. This produces a
correctly inverted mesh that works correctly with
Boolean.