Skip to main content

Module boolean_stepped

Module boolean_stepped 

Source
Expand description

Stepped union of two coaxial prisms (ADR 0050 follow-up).

§Why a union with differing spans is not one prism

boolean_prisms_exact refuses a union whose operands span different heights, because the result is stepped: the cross-section CHANGES partway up, and a single prism carries exactly one section.

The refusal is honest but the shape is perfectly well defined. Cutting the union at every height where an operand starts or stops leaves bands, and WITHIN a band the active operand set is constant – so each band is a genuine prism whose section is the planar union of whatever is active there. The stepped solid is that stack, and the decomposition is exact: the planar work is the same overlay the single-prism path already uses.

§What this module does and does not give you

It returns the BANDS. Assembling them into one ExactBRep additionally needs the ledge faces where the section changes, which is its own piece of work; returning the exact decomposition is the honest half that a caller can already use, and it is verifiable on its own terms.

Structs§

Band
One constant-section slab of a stepped result.

Functions§

union_prisms_stepped
Decompose a coaxial union into constant-section bands, bottom to top.