Booleans

With the Boolean command you can combine mesh layers in various ways (Union, Intersect, Subtract, and Add). By doing so, you can create more complex shapes that would otherwise be difficult to create manually.

Usage

Any mesh that you want to use for a Boolean operation needs to fulfill specific criteria to work properly. First, meshes must not have coincidental overlapping (non-manifold) geometry. This means no vertices, edges, or faces that share the same position in space. Also, the mesh should not have any floating vertices. It might be useful to run the Mesh Cleanup script prior to attempting a Boolean operation to ensure a clean, error-free mesh. Additionally, both the driver and driven mesh must have some volume and must be water-tight (no open edges). (If the geometry were a filled solid, nothing could leak from it.) Once you make sure that the geometry is correct for the Boolean operation, then the driven mesh needs to be in the foreground and the driver mesh in the background (unless specified differently). You do this through the Item List. Foreground layers are selected and visible. Background layers are visible but not selected. For information on working with layers, see the Items List topic. It may be helpful and speed up the procedure to disable any unnecessary background layers. (To disable a background layer, drag over the eye column of the Item List).

Once you have set the geometry and assigned the foreground and background layers, you can invoke the Boolean tool. It is in the Mesh Edit sub-tab of the default Model layout toolbox. Clicking the button open the Boolean CSG dialog where you can select the desired Operation and then click OK for Modo to perform the Boolean operation. For information on the direct modeling Boolean tool options, see Boolean Properties - Direct Modeling Tool.

The Boolean tool is also available in the Mesh Operations list. Open the Mesh Ops tab, click Add Operator, and select Mesh Operations > Edit > Boolean. Once done, the Create Boolean Mesh Operator dialog box is displayed. From the Drive Surface drop-down menu, select the mesh item in your scene, from the Operation drop-down menu select and click OK. For information on the procedural Boolean tool options, see Boolean Properties - Procedural Modeling Tool.

Tip:  To improve your modeling workflow, use the procedural modeling Delete operation. For more information, see Edit Commands - Delete/Remove.

You can also use the Select by Previous Operation mesh operation. The following Name options are available for the Boolean tool: Intersecting Edges, Polygons from Geometry, and Polygons from Driver Surface. For more information, see Select by Previous OperationProcedural Selection

Tip:  The results produced by Boolean operations are not generally compatible with subdivision surfaces. Depending on the shapes and how they overlap, the result of the Boolean operation may produce oddly shaped polygons with more than four edges that tend pinch and pucker. You may have to do some manual cleanup to generate results to use a subdivision surfaces model. To produce a rounded edge at an intersection, you might try applying the Edge Bevel tool to the new edges from the Boolean operation (if the original geometry was simple enough). You could get better visual results by applying the Rounded Edges function of the material item. Consider also the Axis Drill and Solid Drill commands, which perform similar operations without merging the geometry.

Boolean Properties - Direct Modeling Tool

The following properties are available:

Option

Description

Operation

Determines how Modo treats the different layers.

Boolean

The Base example shows the square shape as the background element with the circle in the foreground. The other examples show the results of the different operations.

Union: Combines the two layers together as a seamless mesh and removes any overlapping geometry.

Intersect: Results in a mesh created only in areas where the two layers overlap. Modo removes all sections of the two layers that do not overlap.

Subtract: Removes the background layer from the foreground layer to cut away any section of the foreground that overlaps with the background layer. Modo creates new faces to close the area where the background layer cuts through the foreground.

Add: Combines the geometry from both layers into a single mesh. Modo retains all geometry and creates extra vertices to ensure the meshes are stitched together.

Drive Mesh

Determines which mesh has an effect over the Boolean operation.

Background - Controls the driven mesh (as specified by the item's background or foreground designation in the Item List). This is the default.

Last Selected - Uses whatever geometry you most recently selected before invoking the Boolean command. With this, you can apply Boolean operations within a single Mesh Item layer.

Specific Surface Item - Designates a specific mesh layer (which can include groups of multiple items defined in the Groups palette) to act upon the current active layer.

Surface Item

Specifies which Mesh Item layer Modo uses to drive the Boolean operation. This is available if you have selected Specific Surface Item as the Drive Mesh option. To use a group, you must specify it here.

Boolean Properties - Procedural Modeling Tool

The following properties are available:

Option

Description

Driver Surface

Determines which mesh has an effect over the Boolean operation.

Operation

Determines how Modo treats the different layers.

Boolean

Union: Combines the two layers together as a seamless mesh and removes any overlapping geometry.

Intersect: Results in a mesh created only in areas where the two layers overlap. Modo removes all sections of the two layers that do not overlap.

Subtract: Removes the background layer from the foreground layer to cut away any section of the foreground that overlaps with the background layer. Modo creates new faces to close the area where the background layer cuts through the foreground.

Add: Combines the geometry from both layers into a single mesh. Modo retains all geometry and creates extra vertices to ensure the meshes are stitched together.