Share

boolean_meshes

Perform a boolean operation on the input meshes. This node can be used to carve out one mesh from another, combine multiple meshes to form a single mesh, or to determine where the input meshes overlap in space.

The input meshes should be free of self-intersections. They do not need to be closed meshes. For example, a plane can be used as the second input in a subtraction operation to perform a plane cut of the first mesh.

Inputs

meshes

The meshes to boolean together.

operation

The boolean operation to perform.

  • Subtraction: The result mesh is the first mesh, with the part that overlaps the second mesh removed.
  • Intersection: The result mesh is the parts of the input meshes that overlap in space.
  • Union: The result mesh is fusion of the input meshes into a single mesh. If the meshes do not overlap in space, the result is the same as merge_geometry. If they do overlap, the faces of each mesh that are inside the other mesh are removed, and the result is a single watertight mesh.
  • Slice: The result mesh is the first input mesh sliced into multiple parts by the remaining input meshes. Each "slicer" mesh will cut the mesh into possibly two parts: The part of the first mesh that is inside the slicer mesh, and the part that is outside of the slicer mesh. If the slicer mesh is an open mesh, like a plane, then the slice operation will cut the first mesh into two halves: One for each side of the plane. The individual parts are merged together before being output. The mesh_parts output is an array of the individual parts, without being merged.

properties

The properties to transfer to the out_mesh.

Advanced Section

fix_self_intersections

Check the input meshes for self-intersections and fix them if needed. If the inputs are known to not have any self-intersections (for example if the default primitives are used as inputs) this check can be skipped to improve performance.

always_create_face_vertex_normals

When enabled, face vertex normals will always be generated on the output mesh. When disabled, face vertex normals will be generated on the output mesh only if they exist on any of the inputs, and the properties filter includes them.

Outputs

out_mesh

The result of performing the boolean operation on the input meshes.

mesh_parts

The first mesh, sliced into separate parts, if the operation is set to slice. If the operation is set to any other value then this output is an empty array.

success

True if the boolean operation succeeded, false otherwise.

Was this information helpful?