Open Editable BIM Format

A path-first, human-readable building model format.

OEBF is a schematised JSON directory bundle designed for direct editing by people and language models. It prioritises detailed 3D junctions, interoperability, and version control.

Directory bundle

Models live as a .oebf directory. One JSON file per entity. Git-friendly, diffable, and perfect for targeted LLM edits without loading the entire project.

Path-first geometry

All solid geometry derives from sweeping a 2D profile along a 3D path. Paths, profiles, and junctions are first-class entities, not derived meshes.

Human-readable

No binary blobs or proprietary encoding. Open any entity in a text editor to understand the geometry, materials, and properties immediately.

Why use OEBF

  • 01

    LLM Native

    Because every entity is a bounded JSON file, a language model can read, reason about, and modify specific walls or slabs with natural-language instructions.

  • 02

    Detailed 3D Junctions

    Junctions are explicitly authored, not auto-computed. They define precise trimming rules (butt, mitre, lap) that map to real construction details.

  • 03

    IFC Interoperability

    Designed for lossless round-trip with IFC 4x3. Every entity carries its IFC class mapping, ensuring compatibility with standard BIM tools.

"id": "element-wall-south-gf", "type": "Element", "ifc_type": "IfcWall", "path_id": "path-wall-south-gf", "profile_id": "profile-cavity-250", "cap_start": "junction", "cap_end": "junction", "properties": { "load_bearing": true, "fire_rating": "REI 60" }

Use cases

Architectural Sketching

Rapidly iterate on building forms and spatial layouts using path-first modelling. Perfect for early-stage design where geometry is fluid and relationships matter more than precise meshes.

AI-Assisted Design

Leverage language models to automate repetitive tasks: generating wall layouts from text descriptions, swapping material profiles across a whole storey, or restructuring model hierarchies.

Construction Detailing

Define precise construction junctions that map directly to physical assembly rules. Export detailed trimmed geometry to IFC for coordination in standard BIM environments.

Open Data & Archiving

Ensure long-term model accessibility with a format that requires no proprietary software to read. Perfect for open-source building projects and public asset data.

Technology stack

Three.js

High-performance 3D rendering in the browser. The custom geometry engine handles complex profile sweeps and junction trims in real time.

JSON Schema

Every entity type is defined by a strict schema, ensuring format integrity and providing immediate validation for human and AI editors.

IfcOpenShell

A Python CLI converts between IFC 4x3 and OEBF bundles. Walls, slabs, storeys, and material layer sets are mapped automatically. A browser-based converter is planned.

IFC converter tools

The ifc-tools/ Python CLI converts between IFC 4x3 and OEBF bundles using IfcOpenShell. The output opens in Revit, FreeCAD, BIMvision, and any IFC-compatible tool.

Entity mapping

OEBF entity IFC type
Element (wall)IfcWall
Element (slab)IfcSlab
StoreyIfcBuildingStorey
SpaceIfcSpace
Profile layersIfcMaterialLayerSet

View source and full documentation →

# Setup (Python 3.12+ and uv required) cd ifc-tools uv sync # 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 # Run tests uv run pytest

Format overview

Path

A 1D curve in 3D space. Supports straight lines, circular arcs, and Bézier curves. Paths define the spine for all physical elements.

Profile

A 2D cross-section defined as an SVG path. Includes material assembly data (e.g., cavity wall layers) and alignment markers.

Element

The primary physical entity. Elements sweep a Profile along a Path to produce a solid 3D body with IFC properties.

Junction

A rule-based entity that resolves how two elements meet. Includes mitre, butt, and lap rules with precise trim plane calculation.

Array

Distributes elements or symbols along a path using count, spacing, or fill modes. Perfect for rafters, studs, or cladding panels.

Spatial Hierarchy

A strict tree structure (Project > Site > Building > Storey > Space) that maps directly to the IFC spatial hierarchy.