WEB -  IFC & IFC.js   / A new way to make BIM

WEB -  IFC & IFC.js   / A new way to make BIM

The majority of applications for the AECO (Architecture, engineering, construction, operation) industry are desktop applications (primarily MS Windows© based).  These applications tend to be expensive in cost, especially so today with ‘subscription’ modes of licensing becoming more common. 

In recent years, the concept of Building Information Modeling (BIM) and BIM objects has steadily increased in capability and popularity. For example, AutoCAD, historically an indispensable tool for architects and engineers, is regularly being replaced by BIM software such as Revit for the greater capability and information they offer the user. To properly support these users’ and companies’ workflows now, these applications have to go beyond the basics of just dealing with the complexities of 3D objects, parameters, and properties and instead do all of that in a collaborative environment. 

The most popular application for ‘doing BIM’ today is Autodesk© Revit.  Autodesk© offers a few additional applications for dealing with BIM data (in all of the 3d, 4d, 5d, ... dimensions) as well with InfraWorks, Navisworks, BIM 360 (BIM Collaborate), Autodesk Cloud Construction (ACC), etc. Most of these use proprietary file formats (rvt, nwd, dwg… )

Screen capture of a 3d view of a building inside Autodesk Revit

While some of these applications are desktop apps, others are, in fact, web applications that depend on server upload & download operations. BIM 360 (BIM collaborate) is the best example of this process.

A user does the heavy lifting of creating a model in Revit or Civil 3D and then uploads it to the ‘cloud’ to share with the members & collaborators inside/outside the organization using a Common Data Environment (CDE) implemented by the company/contractor/organization.  While a powerful concept, there is a degree of tedium and requirement to begin the efforts in a standard desktop app.  So - what would be an alternative method?

The WEB you already know

Everyone knows the power of web applications today. You have been using web apps for years - doing banking, buying and selling things, managing administration obligations, etc. 

These operations tend to be based on simple data and file types such as alphanumeric text, pdf documents, images, videos, e-mails, spreadsheets, etc. Moreover, you have likely interacted with 2D maps for weather predictions, nice graphs for estimations, animated pictures, and of course video through streaming.

The next frontier for the WEB is 3D graphics.  This is evident in tools like Google Maps Street View, Augmented Reality (AR), and similar 3D or Augmented Reality/Virtual Reality (ARVR) capabilities and tools you can use today with a simple web browser and/or a mobile device of any kind - adding the ‘mobility’ concept to this magical environment for work. The increasingly powerful and less costly ‘cloud’ solutions and the rise of 5G (China is testing 6G) are the icing on the cake.

An improved WEB environment for 3D

The programming language behind the WEB has evolved from a very basic scripting functionality to a powerful development language today. WEB-based development today can do almost everything that you can do with traditional powerful (and complicated) compiled languages (C++, C#, etc). 

Big names in the WEB industry like Google, Apple, IBM, Microsoft, Amazon, etc. support the javascript ecosystem.  Additionally, the establishment of important functionalities like ‘typed arrays and ‘requestAnimationFrame’ that now ensure we can depict 60 frames per second online have made 3D visualization on a web page not only possible, but fast and even ‘easy’.

WEBGL is a primary technology behind browser-based 3D scenes. Created 10 years ago, WEBGL is now very mature, stable, and powerful. The most popular framework for developing 3D worlds with animation capabilities on the web is three.js, created in April of 2010.  Today it is also a very stable and powerful open source library used in many  WEB applications by top companies - including Autodesk who uses three.js as the engine behind both Forge Viewer and BIM 360.


The ‘secret’ behind the 3D rendering

We now have the scenario in which we have a powerful, web-based 3D environment but we still use desktop applications, typically an individual local installation of Autodesk Revit, to create our BIM models.  This individual operation creates an additional pressure on the designer/modeler as we need a way to collaborate in our BIM environment with other architects, engineers, managers, etc.

In order to accommodate that collaborative need for BIM model management, we typically use desktop applications connected with potentially costly server environments and storage. With the advancement of WEB technologies and apps, however, we have seen a paradigm shift in how we can collaborate on our BIM projects.  

For instance, Autodesk offers the ‘Forge’ environment to make possible the cloud-based 3D visualization of Revit models. They use a ‘trick’ in which they have created an intermediary object with a ‘svf’ format that can be applied to multiple Autodesk file formats to enable Forge to visualize BIM models and 3D objects coming from a wide array of Autodesk applications.  This is a layer over the standard desktop application generated files to allow for a single way to view models generated within any of those applications in the Forge environment.  A point of note in this system landscape is that all of these formats are proprietary.

Autodesk is not alone in the concept of WEB-based, collaborative BIM.  There are, in fact, well-known alternatives - many open-source - available as well.  The dxf  (dwg  alternative) format is popular but limited in its ability to describe rich 3D building objects. The gltf format is powerful and open-source, but has a lack of functionality for storing properties, parameters, and behaviors that are common in the BIM workflow. These limitations also apply to obj or fbx models. Many of the technologies we find are good for storing rich 3D objects but the AECO world needs something better to truly migrate BIM capability onto the WEB. IFC is a powerful, capable solution available today.

IFC to the rescue

‘Industry Foundation Classes’ (IFC) is the result of the effort to create an open standard to promote the sharing of information relative to building design & processes.  IFC resulted from a consortium, formed by Autodesk, of 12 companies gathered to discuss creation of a set of C++ classes to support integrated application development. Today, IFC is registered by ISO and is an official International Standard: ISO 16739-1:2018. 

That open IFC specification for BIM is now organized and maintained by buildingSMART (https://www.buildingsmart.org/), an international organization focused on information and data exchange between applications used in the AECO industry.  Additionally, some groups associated with specialized fields: airports, roads, railways, tunneling, etc. are represented in the consortium and specification.  

As the IFC specification has grown and matured, we have access to modern versions of the specification and toolsets, well maintained and documented by buildingSMART who also maintains IFC as an ISO standard. 

The IFC documentation describes a structure of information types, constants, properties, parameters, and behavior. It can be somewhat complicated to learn, understand, and work with, but it is powerful.

 

IFC is versed in handling basic BIM concepts such as the simple geometric description of elements, continuous references to mapped (#) elements, parameters and data storage in the model, etc. as well as understanding concepts & behaviors like a ‘hole’ in a roof.   It is in a constant state of update, with improvements to features where it is not as strong as well as addition of new capabilities.  Additionally, several systems and applications support the ability to import and export to IFC models or to work directly with them.  IFC is a viable platform to meet a company’s BIM and collaborative needs.

The initial goal was to share information between developers: bentley, tekla, archicad, allplan, autodesk and many others. For years this was poor until probably 2013 with the publication of IFC4 first version  ( the v 4.0 last official version was released in 2017)


https://technical.buildingsmart.org/standards/ifc/ifc-schema-specifications/

Voyansi to offer a new IFC-based WEB-platform to interact with your BIM portfolio

Voyansi is a company with deep expertise in the BIM arena and our Software team’s experience in serving the technology and automation needs of our customers includes IFC/Three.js/Ifc.js implementation. Voyansi is an end-to-end BIM services company with the skills and knowledge to assist you with all your BIM needs such as laser scanning, scan to BIM, implementation of BIM standards, custom software and plugin development, BIM consulting and workflow design, and much more. 

 

We are currently developing a WEB-based platform operating on an IFC core to store, view, and interact with your BIM models.  Our approach to the concept of a BIM portfolio management system is intended to be an affordable, powerful, and versatile solution.

We are basing our ongoing IFC platform development on the latest released ifc.js framework containing its latest improvements and WEB capabilities.  Our platform will allow you to  load and process IFC-based BIM models, storing them in a feature-rich collaborative environment, with an ability to also upload and store supporting documents and data.  The platform additionally offers capabilities to interact with the data behind your BIM models, presenting them in Key Performance Indicators (KPIs) for ease of consumption by the user. 

The project is supported by an experienced group of developers, several coming from architecture and BIM backgrounds. Voyansi’s platform avoids proprietary third party components and plugins (and their associated costs), and stores its data in cloud-based storage services - currently based on Google offerings. Additionally, use of IndexedDB is intended to allow offline access even though the platform on the whole is WEB-based.




Voyansi’s deep BIM experience is embedded in this platform architecture with a goal of delivering an intuitive, high performing system based on IFC and built on an efficient Common Data Environment (CDE) with a focus on the user experience. 

We are building the core of this system with a basic set of features that will continue to grow over time, offering the tools you need for your daily work from viewing Lidar point clouds to photorealistic walk-throughs.

Stay tuned for future updates on our work with IFC, thoughts on its future, and our platform development.