build.scan_walls
Overview
- List walls in the current site with edge keys and positions. Works in both play mode (character must be inside a building) and build mode. Use the edge_key with build.set_wall_color, build.set_wall_material or building.set_storey_wall_height. When you send it back, use 'edge_key_str' (the same value as a string): edge keys are int64 and large integers get mangled when passed as JSON numbers. building.set_storey_wall_height also accepts x/y, which is simpler still. left/right are the wall segment's endpoints in SITE-RELATIVE CENTIMETRES - the same coordinate space as building.place_object and building.construct_wall - so a point on the segment between them is exactly on the wall centre line. Those centre lines always land on 25*k+12.5cm, which is why hand-picked round coordinates never sit on a wall; building.place_object snaps doors and windows onto them for you. Returns at most 'limit' walls (200 by default) - page with 'offset', and compare 'count' against 'total' to detect truncation.
Metadata
| Field | Value |
|---|---|
| Display | Scan Walls |
| Category | build |
| Access | Public |
| Scope | B1Standalone |
| Tags | Experimental |
| Aliases | — |
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| floor_level | int | no | — | Filter by floor level (default: all floors) |
| limit | int | no | 200 | Maximum number of walls to return in the JSON array. 0 means no limit. 'total' always reflects the true match count. |
| offset | int | no | 0 | Skip this many matching walls before filling the array (for paging) |
Usage
await inzoi.cli.execute('build.scan_walls', {
floor_level: 0, // optional
limit: 200, // optional
offset: 0, // optional
});