LTplus-AG/ifc-lite
Open-source IFC toolkit: WebGPU rendering, columnar in-memory store, exact-arithmetic geometry kernel. Runs from a CDN. 30+ TypeScript packages and 5 Rust crates.
What it solves
IFClite provides a high-performance, client-side toolkit for working with Industry Foundation Classes (IFC) files, which are the standard for Building Information Modeling (BIM). It eliminates the need for heavy desktop software or server-side processing to parse, view, and edit these complex architectural models in a web browser.
How it works
The project uses a Rust core compiled to WebAssembly (WASM) to handle the heavy lifting of parsing and geometry processing. For visualization, it employs a WebGPU renderer to display models on screen. It is structured as a modular system of 36 npm packages, allowing developers to integrate only the specific functionality they need—such as parsing, querying, or exporting—into their own applications. It also supports integration with existing 3D engines like Three.js and Babylon.js.
Who it’s for
- Web Developers building BIM viewers or architectural tools.
- BIM Managers and Architects who need to inspect, validate, and edit IFC models without specialized software.
- AI Engineers creating agents that can query and edit BIM data via the Model Context Protocol (MCP).
- Data Analysts using the Python native wheel for scientific analysis of building models.
Highlights
- Broad Schema Support: Full coverage of IFC2X3, IFC4, IFC4X3, and IFC5 (IFCX).
- High Performance: Features streaming first-render for geometry and a fast STEP tokenization process.
- Exact Geometry: Uses an exact-arithmetic CSG kernel for high precision, verified against IfcOpenShell.
- AI-Ready: Includes an MCP server and natural-language querying capabilities (
ifc-lite ask) for AI agents. - Versatile Tooling: Offers a comprehensive CLI for tasks like clash detection, model federation, and IDS validation.
- Multi-platform: Works across browser, server, native desktop (via Tauri), and Python environments.
Related
- Project
- Project
- Project
- Project
- Project