Commands  ›   ›  Architecture Split Selected Column At Level

Architecture Split Selected Column At Level

writes to model Public API · not yet exposed

Coming soon

Before you run this

Active document open; column id resolves to a FamilyInstance with FAMILY_BASE_LEVEL_PARAM + FAMILY_TOP_LEVEL_PARAM; split level id resolves to a Level strictly between base and top.

After it runs

One additional column exists in the model; the original now spans base→split and the copy spans split→top. One committed Transaction. Audit entry recorded.

When to use this

Don't use this when

Structural splits that require axis changes or rotations (use the structural variant, not yet built).

Decision flow

1) User or Bot supplies column id + split level id. 2) Resolve both — the element must be a FamilyInstance whose category is OST_Columns or OST_StructuralColumns; the split level must be a Level. Else WireError + abort. 3) Read bounds via GetColumnBaseAndTopLevels.Read(doc, column); if null → abort. 4) Validate via GetColumnBaseAndTopLevels.ValidateSplitLevel(bounds, splitLevel); if false → WireError 'split_level_not_between_base_and_top' + abort. 5) Open Transaction 'Split column at level'. 6) Set original column's TOP_LEVEL_PARAM to splitLevelId (now original = bottom segment). 7) Copy via ElementTransformUtils.CopyElement(doc, column.Id, XYZ.Zero); set copy's BASE_LEVEL_PARAM = splitLevelId and TOP_LEVEL_PARAM = original top level id. 8) Commit. 9) Bot: JSON {ok, bottom_column_id, top_column_id, split_level_id}. User: toast 'Column split at '{level.Name}'.' 10) Any exception → tracker.Fail(ex); WireFault {column_id, split_level_id}.

What you'll see in the chat

on start
Splitting column at level…
thinking
Reading column base + top levels…
Validating split level is strictly between…
Mutating original + creating copy…
on success
Column split at '{level_name}'. Bottom id {bottom_column_id}, top id {top_column_id}.
on failure
Could not split column: {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/architecture_split_selected_column_at_level
  • Request body schema (from [RestApiParam])
  • Response schema (from [RestApiResponse])
  • curl / JS / Python code examples

Keywords & intent patterns

architecturesplitselectedcolumnatlevel · column · split · level · architecture

Pillar