FoundationPartsPrimitivesSolid Transforms

Solid transforms

Post-processing operations consume an existing solid and produce a new one:

Mirror(shape, plane_name)                 # plane_name in {"XY", "YZ", "XZ"}
Scale(shape, factor)                      # uniform about world origin
BoundingBox(shape)                        # axis-aligned envelope
Offset2D(shape, distance)                 # 2D offset of a closed shape
Section(solid, plane_name)                # cut by a world plane → wire compound

All native nodes — no @expand, direct kernel calls.

Section(solid, plane_name) cuts the solid with the given world plane and returns a wire compound of the resulting edges (in world coordinates). Useful for cross-section visualization and bounding-box queries on the cut. Re-using the section result as a 2D sketch is a separate follow-up (needs world-edges → plane-local Drawing conversion).

Non-uniform Scale (per-axis factors) is a follow-up.