🌎 It is often thought that web applications are not as powerful as desktop applications. Relatively recently, however, WebAssembly appeared on the scene.
This means we can have the best of both worlds: the flexibility of a web application and the full performance of a machine. And this is what web-ifc is all about. You can install it with
npm i web-ifc or
yarn add web-ifc and it has the following features:
⚡ It is as fast as native applications thanks to its parsing core, written from scratch in C++.
🚀 It can be run directly on the client or as a backend service. Bring BIM to all parts of your system!
📚 It can read 100% of the IFC data, including IFC types. This allows data to be easily extracted, structured, traversed and entered into databases.
🌈 It can edit data and write entire IFCs from scratch. Create apps that communicate with the large software vendors.
In the following points, the API and its functionalities will be shown step by step. However, there are a some issues that are important to be clear about before using
Don't worry! Although the parser is written in C++, it is compiled in a file called
You can find this file in the
node-modules/web-ifc/web-ifc.wasm folder. You will need to serve this file with your application (if frontend) or have it on your server (if backend).
Web-ifc is the lightest and most flexible module of IFC.js. However, this flexibility also means that you have to know what you are doing, and therefore know the internals of the IFC schema relatively well.
☝ Moreover, web-ifc does not implement a 3d viewer. This is an advantage, because it means that you can get IFC geometry without relying on a particular 3d renderer in a more agile way.
If you want to see 3d geometry easily, you will either have to implement it yourself, or use web-ifc-three or web-ifc-viewer.