openbim-core 0.1.0

Shared vocabulary for openBIM standards: findings, element references, spec versions.
Documentation
  • Coverage
  • 100%
    23 out of 23 items documented2 out of 9 items with examples
  • Size
  • Source code size: 13.82 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 379.4 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 2s Average build duration of successful builds.
  • all releases: 2s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • openbimrs/openbim
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • GeneralPawz

openbim-core

The vocabulary every openBIM standard shares, in pure Rust.

Three things, each shared by more than one standard:

  • Outcome — the applicable-passed / applicable-failed / not-applicable trichotomy. IDS produces it, BCF consumes it, so it is defined once. An audit that reports "data missing" as "check passed" launders absence into compliance; this type makes that impossible to do by accident.
  • ElementRef — "this element, in this document". BCF viewpoint components and ICDD linkset endpoints are the same idea with different vocabulary.
  • Detected<V> — a version and how it was determined, with an explicit Conflict variant. Several openBIM schemas reuse one XML namespace across incompatible versions, so a reader that guesses wrong does not fail — it silently produces a different document. resolved() returns None on a conflict rather than picking one.

This crate holds domain concepts only. XML and ZIP substrate live one layer below, so that IFC codecs can share them without depending on openBIM.

Status

Scaffold. These types are real and tested. No standard is implemented yet.

Part of nehirde

A pure-Rust IFC and openBIM toolchain: https://github.com/GeneralPawz/nehirde

Design rationale: docs/adr/0015.

License

MIT