Skip to content

openbim-ifcPure-Rust IFC infrastructure

An entity graph that round-trips data it does not understand, codecs that never import domain semantics, and geometry that lowers into a neutral kernel. No C++ in the dependency graph.

openbim-ifc

Install ​

bash
cargo add openbim-ifc

The Install page lists the current release of every package: the Rust crates on crates.io, @openbim/ifc on npm and openbim-ifc on PyPI.

The library target is named ifc, so call sites read as a facade:

rust
use ifc::{Codec, StepCodec};

let model = StepCodec.read_bytes(source)?;
println!("{} entities", model.len());

Before you build on this ​

Read the capability matrix before scoping work. It separates what each crate implements from what it deliberately leaves to an application, and each claim cites the file that proves it; its tables are generated from the code. Coverage counts the same thing across the schema.

No capability should be inferred from a crate name, a module path, or an IFC entity appearing in the schema.

If you are evaluating the stack for a specific application, the use cases work an end-to-end scenario against the current state of the code, including what the application author must still build.

Released under the AGPL-3.0-or-later licence. ISO and CEN standards material is not redistributed.