Open Editable BIM Format

← Back to Overview

OEBF Applications

A path-first, human-readable building model format designed for direct editing by people and language models alike. All geometry is stored as plain JSON — paths, profiles, elements, junctions — in a structured directory bundle.

Applications

How it works

Format Plain JSON, one file per entity

Every wall, path, profile, junction, and storey is a separate JSON file. No binary, no proprietary encoding — open a bundle in any text editor.

Geometry Profile swept along a path

All solid geometry derives from sweeping a cross-section profile along a polyline path. Junctions and slabs are first-class entities, not auto-computed.

Portability Folder or compressed archive

Bundles live as a plain .oebf directory for editing, or are compressed to a single .oebfz file (Zstd) for sharing.

IFC Converter Tools

CLI Available

A Python CLI converts between IFC 4x3 and OEBF bundles. Walls, slabs, storeys, spaces, and material layer sets are mapped to OEBF entities and back. The full round-trip enables LLM-assisted editing of existing IFC models.

Step 1 Import IFC

Convert an IFC 4x3 file to an OEBF bundle. Walls, slabs, storeys, and material layer sets are mapped to OEBF entities.

Step 2 Edit with an LLM

Point a language model at the bundle directory. Because files are plain JSON, the model can read, modify, and write entities directly — changing geometry, profiles, or metadata with natural-language instructions.

Step 3 Export to IFC

Convert the modified OEBF bundle back to IFC. The result opens in Revit, FreeCAD, BIMvision, or any IFC-compatible viewer.

Import IFC → OEBF
uv run oebf ifc-import model.ifc --output my-model.oebf
Export OEBF → IFC
uv run oebf ifc-export my-model.oebf --output model-out.ifc

Requires Python 3.12+ and uv. Run uv sync in ifc-tools/ to install dependencies. Full setup instructions and entity mapping are in the ifc-tools README.

Coming soon

Roadmap

A browser-based IFC converter is planned — no local Python install required. Possible approaches include a WASM build of IfcOpenShell or a lightweight server-side conversion endpoint.