Commands › Element Alignment › Element Alignment Match Height By Top
Element Alignment Match Height By Top
Coming soon
Before you run this
Active document. One reference element + one or more movers resolved. All elements have a non-null bounding box.
After it runs
Each mover translated by (0, 0, dz) so its top matches the reference top; bbox-less movers are skipped with a recoverable warning; audit entry written.
When to use this
- MEP coordination — drop pipes / ducts / cable trays so they hug the soffit at the same elevation, common for tight-ceiling-void coordination.
Don't use this when
Centre-of-element alignment (use Match Height By Centre), underside alignment (Match Height By Underside), or non-Z translations.
Decision flow
1. Resolve the reference element + the mover elements. 2. Read each bbox max.Z; skip bbox-less movers with a recoverable warning. 3. Compute ΔZ = ref.top − mover.top per mover. 4. In one Transaction, ElementTransformUtils.MoveElement each by (0, 0, ΔZ). 5. Report movers moved, total ΔZ and any skipped.
What you'll see in the chat
on start
I'll align the tops of those elements to the reference top now.
thinking
Reading bbox max Z on each element and computing the ΔZ to apply.
on success
Done — {moved} element(s) moved up to match the reference top ({total_dz_mm} mm total shift).
on failure
Couldn't match heights: {error}.
REST API
Not yet exposed
This command does not carry a [RestApi] attribute today. Once tagged, this section will auto-populate with:
POST /api/v1/commands/element_alignment_match_height_by_top- Request body schema (from
[RestApiParam]) - Response schema (from
[RestApiResponse]) - curl / JS / Python code examples
Keywords & intent patterns
match top elevation · align to soffit · top of element · hug ceiling · MEP alignment
Related
| Pillar | Element Alignment |
|---|