Find elements
find_elementsFind elements - occurrences, and type objects by their class (IfcDoorType) - by filter: rows, count, coverage, and a set id. To change what you found, pass that set to a write tool - it writes exactly these elements. Every answer echoes the filter in IFC terms (target.filter), the count per class and, per where-condition, how many elements carry a value at all: "0 found" and "property missing everywhere" differ. fields adds IFC paths per row (fields, group_by, sum and order_by together: at most 8 property or quantity paths); group_by and sum aggregate FILE values (for measured bodies use compute_quantities). A hull cell with body_gap is no value to order_by, group_by or sum (partial_body: a minimum, not the extent; no hull where no body item was read); fields_coverage counts partial and missing hulls apart. Occurrence, type, spatial-node or opening classes, IfcGrid, IfcAnnotation, IfcAlignment, ports, groups, IfcStructuralItem, IfcStructuralActivity, IfcStructuralLoadGroup and IfcStructuralAnalysisModel go in separate calls. Pages: n is the whole set, rows a page; cursor continues. Read-only. Example: {"filter":{"class":["IfcDoor"],"storey":"EG","where":{"Pset_DoorCommon.FireRating":null}}}
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": "find_elements"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sum | No | Sum these numeric paths (file values, e.g. "Qto_WallBaseQuantities.NetSideArea"); n_shadowed counts elements whose summed value is the first of several under that name | |
| limit | No | Rows per page, default 20 | |
| cursor | No | Continue a previous answer; bound to its revision | |
| fields | No | IFC paths to add to each row; the value comes with where it sits (from: type|occurrence). A type-object row lists what it types as "Types.RelatedObjects.GlobalId" (where null: types nothing) | |
| filter | No | Which elements (IDS applicability). Omitted: the whole model. All fields AND-combined | |
| library | No | Read in this catalog instead of the model (names from get_model_summary): a row per Name with its section in m and its type objects by class (types); target.n counts types. Catalog or model per call | |
| group_by | No | Group rows by this path, or by "class" (each row's own IFC class); each group has n, its own sum, a set of all its members and the first 20 GlobalIds (GlobalIds_capped when cut); on AssignedToGroups an element counts in each of its groups (groups_overlap) | |
| order_by | No | Order the whole set before paging; default: file order. The northernmost element has the largest hull.center_y: walls meeting at a corner share the max |