Vixen
02b45cc4
csharp
public static class BlockoutBoolean

Doc 24's P6 verbs against a scene: the booleans, the cuts, and the apply that ends them.

Read the guide page for this →

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