What booleans do
Boolean operations combine or modify solids:- Union merges two solids into one
- Intersection keeps only the overlapping volume
- Subtraction cuts one solid by another
How you run booleans
You can use either:- The standalone helpers:
booleanUnion,booleanIntersection,booleanSubtraction - Shape convenience methods:
shape.subtract(...) - The opening-centric workflow:
opening.subtractFrom(host)
Input expectations
Booleans work best when both operands represent closed, valid solids. Common failure modes include:- Non-closed shells (missing faces)
- Self-intersections or degenerate faces
- Very small features relative to the kernel tolerance
BooleanResult.report to see what the kernel
processed and produced.
Tolerance and coplanar faces
You can tune kernel behavior:kernel.tolerancecontrols how aggressively the kernel treats edges/faces as coincident.kernel.mergeCoplanarFacesattempts to merge coplanar faces in the output.
Debugging tips
- Read
result.reportto get counts and anemptyflag. - Start with simple operands (two cuboids), then move to complex geometry.
- Turn on outlines (default for the helpers) so you can see output edges clearly.
Status and limitations
Booleans are under active refinement. Some inputs may produce unexpected results or require additional tuning. If you get stuck, reach out on Discord.Related
- Boolean operations API
- Exports for exporting boolean results to STL/STEP/IFC

