8000 GitHub - holg/bimifc: Pure Rust IFC parser and viewer for BIM applications · GitHub
[go: up one dir, main page]

Skip to content
holgPublic

About

Pure Rust IFC parser and viewer for BIM applications

Resources

Stars

26 stars

Watchers

0 watching

Forks

Latest commit

 

History

44 Commits

Folders and files

Repository files navigation

bimifc

Pure Rust IFC (Industry Foundation Classes) parser and viewer for BIM applications.

Website: bimifc.de

Features

  • Memory-efficient parsing - Lazy decoding with SIMD-accelerated scanning
  • IFC4 + IFC5 support - Both STEP and IFCX (JSON) formats
  • Pure Rust - No JavaScript dependencies, runs natively or as WASM
  • Multiple viewers - Web (Leptos + Bevy), Terminal (Ratatui)

Crates

Crate Description
bimifc-model Trait definitions and shared types
bimifc-parser High-performance IFC4/IFC5 parser
bimifc-geometry Geometry processing and tessellation
bimifc-bevy Bevy-based 3D renderer (WebGPU/WebGL2)
bimifc-leptos Leptos-based UI components
bimifc-viewer Web viewer application
bimifc-viewer-tui Terminal viewer with 3D rendering

Quick Start

use bimifc_parser::parse_auto;

let content = std::fs::read_to_string("model.ifc")?;
let model = parse_auto(&content)?;

println!("Schema: {}", model.metadata().schema_version);
println!("Entities: {}", model.resolver().entity_count());

// Access spatial hierarchy
if let Some(tree) = model.spatial().spatial_tree() {
    println!("Project: {}", tree.name);
}

Terminal Viewer

cargo run -p bimifc-viewer-tui -- model.ifc

Controls:

  • PgUp/PgDn - Change floor level
  • +/- - Zoom
  • WASD - Pan
  • Tab - Cycle focus
  • Q - Quit

Building

# Build all crates
cargo build --release

# Run tests
cargo test

# Build TUI viewer
cargo build -p bimifc-viewer-tui --release

License

MPL-2.0

About

Pure Rust IFC parser and viewer for BIM applications

Resources

Stars

26 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0