public static class BlockoutBooleanDoc 24's P6 verbs against a scene: the booleans, the cuts, and the apply that ends them.
Remarks
Non-destructive first, which is the whole point of the phase. A subtract makes a new entity whose geometry is derived from its operands; the operands become its hidden children and stay editable. "The doorway should be twenty centimetres wider" is then dragging a box that is still there rather than rebuilding a wall.
⚠ The cuts are destructive and the booleans are not, and that asymmetry is the honest one. A plane cut's operand is a plane, which is not an entity and has nowhere to survive as one — so keeping it live would mean inventing a second kind of operand with its own gizmo, its own row in the outliner and its own file format. A trim's operand is an entity, and it is still destructive because the thing a trim is for is throwing the cutter away afterwards.
Methods (7)
public static Entity Combine(SceneDocument document, BooleanOperation operation, string? name = null)Combines the selected entities into one derived result, undoably.
public static Entity Union(SceneDocument document)Everything in either of the selected solids.
public static Entity Subtract(SceneDocument document)The first selected solid, less the rest.
public static Entity Intersect(SceneDocument document)Only what all the selected solids share.
public static bool Collapse(SceneDocument document, Entity entity = default(Entity))Collapses a derived result into a plain mesh and deletes its operands, undoably.
public static int PlaneCut(SceneDocument document, Plane plane, bool keepFront = false, bool cap = true)Cuts the selected solids with a plane, undoably.
public static bool Trim(SceneDocument document, bool keep = false)Cuts the first selected solid by the second's surface and deletes the cutter, undoably.
Used by (3)
- BlockoutBooleanTestsVixen.Editor.Blockout.Tests
- BlockoutHistoryTestsVixen.Editor.Blockout.Tests
- BlockoutModeVixen.Editor.Blockout