ResolveOpeningResize is the single path for dimension edits. It enforces minimum edge distance to wall ends, symmetric neighbour clearances, per-type manufactured minimums and maximums (overhead doors to 24x16, walk doors to 8x8, sliders to 20x14, windows to 12x8), and a height cap that leaves room for the header band the new span requires.
Also called: opening size limits · smart growth · stepper stops · manufactured sizes
- 1Standard-size snapping runs BEFORE the clamps, so a snapped standard still has to satisfy every framing rule.
- 2SMART GROWTH: when the anchored edge hits its limit, further width growth continues by shifting the opening the other way; growth stops when both edges are pinned or the type cap is reached.
- 3Growing a window's height past the head pushes the sill down until it hits its floor.
- 4A bottom-handle drag anchors the HEAD so dragging the sill down grows the window.
- 5Clamped values round toward the inside of whichever bound is active, so a bound that is not cent-aligned (eave minus a 7.25in header) stays satisfied.
- 6describeOpeningClamp() explains what stopped: 'width stopped at a jamb, neighbor, or type limit', 'height stopped at the eave / header band'.
Stepping a garage door's width up in the panel walked it straight past the building's corner and left the slab and header floating in mid-air, while dragging the same door by its handle stopped where it should. Every way of changing an opening's size — stepper, typed value, handle drag — now runs through the same clamp, so a stepper and a drag stop at exactly the same wall and the opening shrinks or refuses rather than leaving the building.
- Dimension entry that ignores neighbours, corners and header depth.
- Different limits depending on whether you typed or dragged.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →