IPedrax/BIMCraft

BIMCraft: building information modeling; an open-source, clean-room take on the Revit workflow in pure Rust, built to be driven by agents

BIMCraft is an open-source building information modeling (BIM) application written in Rust. It aims to replicate the workflow of Autodesk Revit—a popular BIM tool—but built from scratch (a “clean-room” implementation) and without using Revit’s proprietary code. The project is in early development but already includes many features.

What it does

  • Model buildings like Revit: You can create levels, walls, doors, windows, floors, ceilings, rooms, columns, stairs, ramps, railings, roofs, and shafts. These elements are aware of each other—for example, doors and windows attach to walls, and rooms automatically find their boundaries from surrounding walls.
  • Generate drawings: From the model, you can produce floor plans, sections, elevations, and a 3D view. You can also place these views on sheets (like drawing sheets) and print them to PDF.
  • Import and export IFC: IFC is a standard file format for exchanging building models. BIMCraft can read IFC2x3 and IFC4 files (from Revit or other tools) and write IFC4 files. It also supports opening Revit’s native .rvt files (with some limitations, documented in the project).
  • Command-driven: Every action in BIMCraft is a command, which means it can be automated by scripts or AI agents. It supports the Model Context Protocol (MCP) for agent control.

User interface

The desktop app mimics Revit’s layout: a ribbon with tabs (Architecture, Structure, Plumbing, Electrical, etc.), a Properties panel, a Project Browser, and a drawing area. It includes many familiar tools like wall grips, snapping guides, schedules, graphics overrides, phase filters, and a family editor for creating custom components. Dark mode is available.

Current state

The README shows extensive screenshots demonstrating working features: 3D views with textures, sections with cut patterns, sheets with title blocks, schedules with calculated fields, structural elements (beams, columns, footings), plumbing (pipes), electrical (cable trays, devices), lightning protection (SPDA), and data cabling. There is also a performance sample: a 20‑storey tower with 9,521 elements that can be generated and rendered. The 3D view can optionally be drawn on a GPU for faster performance.

How to run it

  • To launch the desktop app with a sample house, use: cargo run --release -p bimcraft -- --sample.
  • A command-line tool (bimcraft-cli) can run scripts, convert files, and generate models. For example, bimcraft-cli run --highrise --save highrise.bimcraft creates a high‑rise model.

License

BIMCraft is licensed under either MIT or Apache-2.0 (your choice). It is developed by IPedrax.

For more details, the README includes sections on screenshots, performance, and a roadmap, but those are not fully reproduced here.

Related

  • Project
  • Project
  • Project
  • Project