Arch import building
arch_import_buildingCreates one building story in a single undo step from drawing analysis or a spec: walls become obstacles, doors and windows become holes, with optional columns and slabs.
Instructions
Create the building on one story in ONE undo step: walls as obstacles (axis-aligned box per wall, diagonal walls stair-stepped like the 2D editor), doors as holes 'Door_n' (also evacuation exits) and windows as holes 'Win_n' at sill height (not exits), optional columns and slabs. Source: candidateId from arch_analyze_drawing (exclude walls / openings by id) or building = {walls:[{start:[x,y],end:[x,y],thickness?,height?}], doors:[{at:[x,y]|wall:n,position:0..1,width?,height?}], windows:[{at|wall,position,width?,sill?,height?}], columns:[{xb:[x1,x2,y1,y2]}|{center,size}]} in metres; wall:n counts from 1 in the order of building.walls (openings that cannot be placed are listed in warnings). story = story id (default current story; z = its zMin, wall height = its height). dryRun defaults to TRUE — report first, confirm with the user, then call again with dryRun:false. mode append (default) | replace (removes what an earlier import with the same idPrefix created).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| story | No | Story id (draw_list_stories / project_info) | |
| zBase | No | Floor elevation instead of the story zMin (m) | |
| dryRun | No | Only report (default TRUE) | |
| include | No | What to create: doors (true), windows (true), columns (true), floorSlab (false — slab just below the story floor), ceilingSlab (false — slab on top of the walls) | |
| building | No | Hand-written building spec (metres) instead of candidateId. Door/window wall:n is 1-based (wall 1 = building.walls[0]) | |
| defaults | No | wallHeight (default: story height), wallThickness (walls without one, default 0.2), doorWidth 0.9, doorHeight 2.1, windowWidth 1.2, windowSill 0.9, windowHeight 1.2, slabThickness 0.2 (m) | |
| idPrefix | No | Id prefix (default 'A<story>_') | |
| transform | No | Placement: origin = 'bbox_min' (default for drawings: lower-left corner of the building) | 'none' | [x,y] in drawing metres; target [x,y] (default [0,0]); rotateDeg about the target (counter-clockwise); mirrorY. Use the same origin for every story drawing of one building. | |
| candidateId | No | ||
| excludeWalls | No | Candidate wall ids to skip | |
| maxObstacles | No | Refuse above this many obstacles (default 3000, max 20000) | |
| excludeOpenings | No | Candidate door/window ids to skip |