Pattern
July 1, 2026 · View on GitHub
Status: Implemented

Pattern creates linear or circular arrays of solids, with an option to union the generated instances back into the source. It is the single modeling feature for both linear and circular patterns.
Inputs
solids– Solids to pattern. Face/edge selections resolve their owning solid automatically.mode–LINEARorCIRCULAR.count– Total instances including the original (clamped to ≥1).countMode–count and pitchuses the distance/angle as the step between adjacent instances;count and spantreats the distance/angle as the full extent and divides it acrosscount - 1intervals.linearInputMode–transformuses the transform gizmo offset;vector distanceuses a selected direction reference and numeric distance. New linear patterns default tovector distance.offset– Transform used for linear patterns; onlypositionis applied between instances.directionRef– Edge direction or face/plane normal used for linear patterns invector distancemode.linearDistance– Distance between linear instances invector distancemode.axisRef– Edge supplying the axis direction and origin for circular patterns.centerOffset– Distance along the axis from the reference origin to the pattern center.totalAngleDeg– Circular angle value. Incount and pitchmode it is the per-step angle; incount and spanmode it is the total span.booleanMode–NONEreturns separate bodies;UNIONfuses clones into the source and removes the originals.
Behaviour
- Linear mode translates clones by either
offset.position * instanceIndexordirectionRef * linearDistance * instanceIndex. Incount and spanmode that per-instance offset is divided bycount - 1. - Circular mode rotates clones about the selected edge axis and center. In
count and pitchmode each copy advances by the entered angle, socount = 3andtotalAngleDeg = 90creates copies at 90 degrees and 180 degrees. Incount and spanmode the entered angle is divided bycount - 1. - When
booleanModeisUNION, clones are merged into each source solid and the originals are flagged for removal; otherwise all clones are returned as separate solids. - Face names on clones are retagged with the feature ID to keep downstream selections stable even when booleaned together.
Linear Patterns
Use vector distance when the spacing should follow model geometry. Select an edge for an edge direction, or select a face/plane for its normal, then set linearDistance.
Use transform when the spacing should come from the transform control. Only the transform position is used; rotation and scale are ignored for Pattern spacing.
Circular Patterns
Circular mode requires an edge for axisRef. The selected edge supplies both the rotation direction and the reference point for the pattern center. centerOffset moves the center along that same axis.
Drag Handles
When a Pattern history entry is expanded, editable dimension handles appear for numeric pattern spacing:
- Linear
vector distancemode shows a draggable distance handle forlinearDistance. - Circular mode shows a draggable angle handle for
totalAngleDeg. - Linear
transformmode uses the transform control instead of a distance handle.