Split element
split_elementSplits one element (guid) into two. Along its axis: a pipe or duct segment, beam, column, member or pile of one extrusion, without openings, fills or parts. Through its profile: a wall or slab of one vertical extrusion (rectangle or straight-edged outline), cut by a vertical plane; the wall perpendicular to its axis (at, distance_m) or at a plan line, a slab at a plan line. Part A keeps GlobalId, placement and start (a slab: the side left of the line); part B is created after the gap with type, material (layer usage), system and storey, its own psets, no quantities. An opening goes with the part it lies in, with its fill; one across the cut refuses the call (opening_on_split). A wall joint at the end moves to B. Ports beyond the cut go to B with their links (GlobalIds kept); both new ends get a port, linked at gap 0, free otherwise. Quantities of A are invalidated, stale length values named. New revision, effect report (n_changed, rejected, cloned, carried). A call that succeeds is not a job that's done. Target: guid, guids or a set from find_elements/get_selection, never a filter. Beyond the named: PLAN_REQUIRED, run its plan_id with expect_beyond.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "split_element"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | The cut, a point on the axis; beside it by more than 0.1 mm is refused, never projected | |
| gap | No | Free length between the parts, default 0 (a chamber or fitting fills it) | |
| set | No | A set id from find_elements or get_selection: writes exactly the elements seen there, nothing that matches later. An element changed since reading is rejected alone; the others are written | |
| guid | No | One element (GlobalId) | |
| line | No | Or, wall or slab: the cut as plan line [[x,y],[x,y]] m; crossing the outline more than once is refused | |
| note | No | Your note, stored with the new revision | |
| guids | No | These elements (GlobalIds) | |
| dry_run | No | Preview: the planned effect and a plan_id, nothing written | |
| plan_id | No | Execute exactly the plan a dry_run returned, all or nothing; the plan holds target and fields. Plans that clone the same shared object (type, material) run one after the other: plan the second after the first ran, else PLAN_CHANGED | |
| distance_m | No | Or the cut as distance from the axis start (end of part A) | |
| request_id | No | Your id for this call: a repeat answers the first result and writes nothing | |
| expect_count | No | With set: how many elements the set holds - guards against a mixed-up set id | |
| expect_beyond | No | With plan_id: how many elements the plan reaches beyond those named (n_beyond of PLAN_REQUIRED or the dry_run) |