A lightweight, browser-based BIM viewer that loads .ifc files locally and exports building data to Excel. Built with web-ifc-three and SheetJS, it runs entirely in the browser using ES Modules—no build tools or backend required.
- Deployed: davras5.github.io/ifc-viewer/
- Modern Glass UI: A clean, floating interface built with Tailwind CSS and Glassmorphism effects.
- Fast IFC Loading: Uses web-ifc (WASM) to parse Industry Foundation Classes (IFC) files natively in the browser.
- 3D Navigation: Smooth orbit controls with damping for intuitive model exploration.
- Property Inspection: Click any element to view its full set of IFC properties (Name, GlobalID, Dimensions, etc.) in a floating side panel with red highlight selection.
- Excel Export: Automatically scans the model for specific categories (Walls, Slabs, Doors, Windows, Columns, etc.) and extracts them into a formatted
.xlsxreport using SheetJS. - Sample Model: Built-in sample IFC generator for quick testing without external files.
- Zero-Install: Single HTML file architecture using an Import Map. No Node.js build steps or bundlers required.
- 3D Core: Three.js (v0.155.0)
- IFC Loader: web-ifc-three (v0.0.126)
- IFC Parsing: web-ifc (v0.0.66 - WASM)
- Raycast Acceleration: three-mesh-bvh (v0.5.23)
- Excel Generation: SheetJS (v0.20.1)
- Styling: Tailwind CSS + FontAwesome 6.4.0 (via CDN)
Because this project uses ES Modules and loads WebAssembly (.wasm) files, browser security policies (CORS) prevent it from running directly from the file system (file://). You must use a local static server.
- Install the "Live Server" extension for VS Code.
- Open the project folder.
- Right-click
index.htmland select "Open with Live Server".
If you have Python installed, open your terminal in the project folder and run:
# Python 3
python -m http.server 8000Then open http://localhost:8000 in your browser.
npx serveLicensed under MIT