Open Editable BIM Format
← Back to OverviewA 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.
Inspect OEBF bundles and compressed archives in 3D. Includes a sample model you can load immediately.
.oebf folder (Chrome/Edge) or .oebfz file (all browsers)
Draw walls and slabs, manage storeys, add reference grids and guides.
Saves directly to an .oebf folder or downloads as a
.oebfz archive.
.oebf folder or .oebfz fileView junction details as axonometric drawings: the swept wall profiles plus each detail's own regions, with the junctions that use it.
Every wall, path, profile, junction, and storey is a separate JSON file. No binary, no proprietary encoding — open a bundle in any text editor.
All solid geometry derives from sweeping a cross-section profile along a polyline path. Junctions and slabs are first-class entities, not auto-computed.
Bundles live as a plain .oebf directory for editing, or are
compressed to a single .oebfz file (Zstd) for sharing.
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.
Convert an IFC 4x3 file to an OEBF bundle. Walls, slabs, storeys, and material layer sets are mapped to OEBF entities.
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.
Convert the modified OEBF bundle back to IFC. The result opens in Revit, FreeCAD, BIMvision, or any IFC-compatible viewer.
uv run oebf ifc-import model.ifc --output my-model.oebf
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.
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.