Set dimension
set_dimensionSets one parametric dimension (thickness, length, height, width, depth, radius). 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. Openings follow the thickness; base quantities are recomputed or removed, never left stale. A door or window in an opening takes width or height with that opening (width about its centre, height from the sill); OverallWidth/OverallHeight follow, GlobalIds stay. A layer set restating the thickness follows in one layer (layer) or is replaced whole (layers). An IfcOpeningElement without fill named by guid takes width (along its host), height or depth about its centre, refused where it would leave the host or cut another opening; a filled one: set_dimension at its fill. A free profile extrusion (polygon, arcs, holes) takes length as its depth and thickness at its offset pair (concentric arcs or parallel sides): keep start (default) holds the inner arc or the side nearer the profile origin, end the outer or farther one, center both by half; at equal distance its layer set decides: start holds its first layer's face, end its last's. Openings through parallel sides follow. Refused where the body has no such parameter.
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": "set_dimension"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| 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) | |
| keep | No | What stays in place: start, end or center along the measured axis, top or bottom where it is vertical. Default: in the profile its centre (a wall's length and thickness), along the extrusion its foot (a wall's height, a slab's thickness), a level beam's or member's height its top. With several elements each keeps its own | |
| note | No | Your note, stored with the new revision | |
| pair | No | thickness at a free profile with several offset pairs: the one meant, index as the refusal lists them (0 first). Without it several pairs are refused | |
| guids | No | These elements (GlobalIds) | |
| layer | No | thickness with a layer set: the layer taking the change, index in the set (0 first), its material name or its Name; refused where layers and body already differ. Default the only layer, else the one with Category LoadBearing, else none | |
| value | No | New value: metres, or a text with unit: 300 mm | |
| layers | No | thickness: the whole layer set replaced by this list, the first layer at the face the old first lay at; at an element without one (no material or one IfcMaterial of its own) a new set and usage across the body, the first layer at its low face along the object axis (read_as names it). Sums to value, else refused. Adding, removing, swapping or reordering a layer is the whole new list; the set name stays behind. Not beside layer | |
| source | No | Where the values you write come from: assumption (default, your own estimate, stamped in the file) or user (only what the person named word for word; it then reads as the file does) | |
| dry_run | No | Preview: the planned effect and a plan_id, nothing written | |
| operand | No | Operand of a boolean body; 2 = the second (a cutter, a joined part); default 1 | |
| 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 | |
| dimension | No | Which dimension; a bar section by its lie: up to 45 degrees width (the level axis)/height, steeper width (along its x)/depth, height its length; an IfcSpace takes height (its floor stays) | |
| 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) | |
| expect_contacts | No | Intended contacts: checks.contacts splits into as_expected, missing, surprises; an omitted kind is not judged |