How to use
- Copy the installation command and review the source package before installing it in your own agent environment.
- Check the source document for required tools, credentials and supported hosts.
- Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/autodesk-platform-services/open-architecture-standards-2d-floor-plans --skill oas-layoutBefore you start
- Installation does not include a model subscription, API allowance or permission to access your files.
- Repository stars and installation counts describe activity, not an independent quality or security test.
Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
OAS Layout
When to use
Use this skill whenever the task is "give me the resolved plan" — concrete polygons, walls with coordinates, openings placed on walls, multiple levels, stairs/elevators connecting levels. If you're only authoring single-level core entities without level/connection scaffolding, oas-core may be enough. If the task is intent-only (no geometry), use oas-program.
Key entities (top-level arrays in a Layout document)
levels— abstract reference planes (id,name,elevation_mm, optionalis_building_story)rooms,walls,openings,curtain_walls,roofs,floor_slabs,furniture,railings— Core entities, each with optionallevelreferenceconnections— inter-room circulation graph:{ from, to, type }wheretypeisdirect|through|single_accessmetadata— optional provenance (generated_by,timestamp,notes)
Critical rules
- Walls are straight line segments, defined by
from/topoints only — not polylines. For a bent wall, emit multiple wall entities. - Validate opening placement against wall length.
position_along_wall_mm ≥ 0andposition_along_wall_mm + width_mm ≤ Euclidean distance between wall.from and wall.to. - `Level` is abstract; `FloorSlab` is physical. Level is the reference plane (
elevation_mm); FloorSlab is the construction. A single Level can have multiple slabs (split-level designs). - `Connection` is a room-to-room graph, not a vertical traversal. Types are
direct(shared doorway),through(passes through other rooms),single_access(room only reachable via one neighbor). Vertical movement between levels is modeled via openings + level refs on the room/opening, not a special connection type. - Non-rectangular wall tops use `top_profile_points`. Each entry is
{ "t": 0..1, "z_mm": int }wheretis the parametric position along the wall, not an absolute coordinate. - Roof arrays must align with the boundary polygon.
slope_angles,defines_slope, andeave_overhang_mmmust each have exactly as many entries as the polygon has points. Edges wheredefines_slopeisfalseare gables. - Openings reference `in_wall` or `in_curtain_wall`, never both.* Curtain wall panels (
IfcPlate) are not openings — only doors/windows are.
Full schema
See docs/layout.md for the complete reference — the largest module in OAS, covering levels, all entity placements, and connection semantics.
Related skills
oas-core— the entity vocabulary Layout reuses and scopes to levelsoas-geometry— for polygon, wall-path, and angle conventionsoas-program— the upstream intent a Layout is meant to satisfyoas-render— to visualize the resolved Layoutoas-extensions— for machinery, materials, Autodesk metadata attached to Layout entities


