Commands  ›  Element Alignment  ›  Element Alignment Match Height By Top

Element Alignment Match Height By Top

Element Alignment writes to model Public API · not yet exposed

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

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

PillarElement Alignment