- Original Article
- Open Access
Dynamically loading IFC models on a web browser based on spatial semantic partitioning
© The Author(s) 2019
- Received: 14 November 2018
- Accepted: 11 April 2019
- Published: 3 June 2019
Industry foundation classes (IFC) is an open and neutral data format specification for building information modeling (BIM) that plays a crucial role in facilitating interoperability. With increases in web-based BIM applications, there is an urgent need for fast loading large IFC models on a web browser. However, the task of fully loading large IFC models typically consumes a large amount of memory of a web browser or even crashes the browser, and this significantly limits further BIM applications. In order to address the issue, a method is proposed for dynamically loading IFC models based on spatial semantic partitioning (SSP). First, the spatial semantic structure of an input IFC model is partitioned via the extraction of story information and establishing a component space index table on the server. Subsequently, based on user interaction, only the model data that a user is interested in is transmitted, loaded, and displayed on the client. The presented method is implemented via Web Graphics Library, and this enables large IFC models to be fast loaded on the web browser without requiring any plug-ins. When compared with conventional methods that load all IFC model data for display purposes, the proposed method significantly reduces memory consumption in a web browser, thereby allowing the loading of large IFC models. When compared with the existing method of spatial partitioning for 3D data, the proposed SSP entirely uses semantic information in the IFC file itself, and thereby provides a better interactive experience for users.
- Building information modelling
- Industry foundation classes
- IFC models
- Dynamically loading online
During the last decade, building information modelling (BIM) received significant attention in the domain of Architecture, Engineering, and Construction (AEC) . Additionally, BIM also plays an increasingly important role in smart buildings and smart cities. When compared with CAD, BIM contains geometric and rich semantic information on building models and their relationships to support lifecycle data sharing. Specifically, industry foundation classes (IFC) is an open and neutral data format specification for BIM [2, 3] that describes building and construction industry data and facilitates interoperability between BIM applications. IFC files can be imported or exported through most market-leading BIM software . Recently, studies developed various IFC-based approaches and applications (e.g., refs. [4–9]).
With increases in web-based BIM applications, there is an urgent need for fast loading large IFC models on a web browser . For example, several construction projects require various participants to share and access BIM data through the web where it corresponds to the basic requirement for fast loading IFC files into the web browser and displaying them in real time. There exist a few web-based platforms to manage and display IFC models [11–13] such as the well-known BIMserver . However, the task of loading large IFC models typically consumes a large part of the memory of web browser or even crashes the browser, and this significantly limits further BIM applications. It is still challenging to fast load large IFC models to satisfy specific BIM applications.
Given the memory limitation on the web browser, it is not appropriate to fully load large IFC models . In a few BIM applications, project participants first browse the appearance of BIM model and subsequently interactively select a few local interest parts of the model. Therefore, it is important to set a suitable loading strategy that satisfies these types of applications.
In the study, we present a method for dynamically loading IFC models based on spatial semantic partitioning (SSP). First, the SSP of an input IFC model is pre-computed on the server and is subsequently passed to the client. Next, only the external components of the IFC model are extracted from the nodes of SSP that are initially loaded for displaying the appearance of the IFC model. The spatial partitioning of the model’s stories and establishment of the space index table of components makes it possible to ensure that only the components that are related to the user’s interactive selection are transmitted, loaded, and displayed on the client. The presented method is implemented via Web Graphics Library (WebGL), and this enables large IFC models to be fast loaded on the web browser without requiring any plug-ins. When compared with the conventional methods that load all IFC model data for display purposes, the proposed method significantly reduces the memory consumption in a web browser. This allows the loading of large IFC models and provides a better interactive experience for users.
In order to extract spatial information, spatial partitioning is a commonly used method. A few methods were developed to extract the external components based on the bounding box . Scully et al.  introduced a spatial partitioning strategy for dynamically loading 3D meshes with the aims of overcoming memory limitations for small mobile devices and those imposed by browsers. However, the aforementioned approaches only focus on the geometric information of 3D objects and ignore the semantic information present in IFC models. A few studies also discuss spatial partitioning for 3D data of shape or scene by combining specific semantic information. For example, Held et al.  proposed a method that incorporates spatial, temporal, and semantic cues in a coherent probabilistic framework for spatial partitioning. Babacan et al.  proposed a semantic segmentation method for indoor point clouds via a convolutional neural network. However, the aforementioned semantic partitioning methods mainly focused on extracting and generating semantic information for 3D data of shapes or scenes in their applications, and this is not appropriate for IFC models. Specifically, a large amount of rich semantic information is originally carried by IFC files in addition to their specification, and this includes information involving types of spaces, properties of building components and building functions, and various relationships between building components. Thus, this type of semantic information potentially provides a wealth of a priori knowledge for the SSP of IFC models, and this corresponds to the major difference between IFC models and other general 3D data.
Based on ref. , we present a method for dynamically loading an IFC model on the web, and this is based on SSP. Spatial partitioning is used in ref.  and only partitions 3D geometric meshes into a few submeshes without further considering the semantic information carried by the IFC model itself. Conversely, the proposed method partitions an IFC model by simultaneously considering its geometric information and semantic information in the IFC model itself. The main contributions of our study are as follows.
First, a method is presented for dynamically loading IFC models on the web. When compared with the conventional methods that load all IFC model data for displaying, the proposed method significantly reduces memory consumption in a web browser, and this allows the loading of large IFC models.
Secondly, a novel SSP method is presented for the IFC model, and this constitutes the core of the study. When compared with the existing method of spatial partitioning for 3D data, the presented SSP maximizes the use of semantic information carried by the IFC file itself, and this provides a better interactive experience for users.
Finally, the presented method is implemented via WebGL, and this enables large IFC models to be fast loaded on the web browser without requiring any plug-ins.
With respect to large IFC models, it is challenging to load and display all the model data on the client. In several practical applications, BIM participants typically only focus on the specific parts and components while browsing the IFC model, and thus a possible method is to dynamically load and display a sub-model as opposed to the full model. This is performed by dynamically loading a few building components of the IFC model based on a user’s interactive selection.
In this section, a method for dynamically loading IFC models based on SSP is proposed. The semantic partitioning of the model story and establishment of the component space index table allows only the model data that the user is interested in to be transmitted, loaded, and displayed. The spatial partitioning referred to in the study is mainly based on semantic information of the IFC model, and this includes the internal and external space of the IFC model, different story spaces, and the space generated via model bounding box partitioning.
Semantic partitioning of IFC model spatial structure
The partitioning of an IFC model spatial structure mainly consists of the following three operations: external component extraction, extraction of story information, and establishment of spatial index. The operations are all on the server side. We establish the spatial index based on the bounding box of IFC model, and this makes it easy for users to browse specific parts of the IFC model.
External component extraction based on node classification
When BIM participants browse the IFC model, the external structure is more attractive. When the users explore the model, they focus on the details of the model. Based on the observation, while displaying the IFC model, the external components of the IFC model are preferentially loaded, and the external structure of the IFC model is quickly displayed, thereby effectively improving users’ browsing experience.
The main reason for the aforementioned omission of the algorithm is that each component is abstracted into a bounding box to increase the volume of the component, and only the area covered by the projection is considered. As shown in Fig. 2, the bounding-box based extraction algorithm omits the window. This is because the doors and windows are embedded inside the wall while their bounding boxes are contained in the wall’s bounding box. Therefore, they do not appear in the extracted external component. In order to avoid this type of a situation wherein building components are missed, we propose an external component extraction algorithm based on node classification. The pseudo-code of the algorithm is shown in Algorithm 1.
The external component extraction algorithm based on node classification considers the depth information although a few members of the bounding box are included. The cube node still intersects the component, and this avoids the omission of external components due to the overlapping of the bounding box.
Extraction of story information
The IFC model story information is mainly expressed via the entities of IfcBuilding and IfcBuildingStory that correspond to two types of nodes in the IFC model tree. The IfcBuilding expresses the concept of a virtual architectural spatial structure in the IFC standard, and IfcBuildingStory expresses the concept of a story and a few local spaces on the story. In an IFC model of an actual project, IfcBuildingStory is typically associated with IfcBuilding. An IfcBuilding entity can contain multiple IfcBuildingStroery entities and an IfcBuildingStory entity can also contain other IfcBuildingStory entities that form a tree-like hierarchical structure. The algorithm for story information extraction is shown in Algorithm 2.
Spatial index table
The spatial index table is created to facilitate the users to quickly navigate through the model locally. In order to allow more devices to load and display the model, we preload only the external components of the model or a specific story of the external components for display purposes. The details of the model are not loaded. The users can use the spatial index table when they want to view the components in detail.
Dynamically loading via adaptive network transmission
The remote server begins to transfer the corresponding model data when the users select a component of the specific spatial structure interactively on the web browser. The data contains several basic geometric units that consume significant bandwidth. Therefore, it takes a long time for the browser to respond, and this affects user experience. Therefore, an adaptive network transmission algorithm is proposed as shown in Algorithm 3. When the user selects the component to be displayed, the model changes to the maximum possible extent in a uniform time period. This decreases the size of data block when the network is not smooth and increases the size of data block when the network is smooth.
Basic information for the three test industry foundation classes models
Number of components
Analysis of resource occupation
Analysis of dynamically loading speed
Loading times of the test models for the conventional method and proposed method
Analysis of display effect
As shown in Fig. 10, the external component extraction algorithm based on the bounding box misses several external windows and doors while extracting the external components of the three test models. The main reason is described as follows. The bounding box of walls contains the bounding box of windows and doors, and thus the windows and doors overlap in two-dimensional projection and lead to an omission. In the study, the algorithm is based on the intersection of each node and component of the node classification. When a component is included in another component, the algorithm continues to intersect with the node. Therefore, the proposed method accurately extracts the external components.
Analysis of operation fluency
FPS of the test models
The proposed method only displays part of the model, and this reduces the rendering pressure on the client. As shown in Table 3, the frame rate of M2 is only 3FPS when the method is not optimized. In the proposed method, the frame rate increases to 20FPS, and users can clearly view the model.
The study proposes a method for dynamically loading IFC models based on SSP. Only the external components of the display model were loaded in the initial loading of the model. The model was divided by story information such that it could be dynamically loaded and displayed by interactive operation. Additionally, the geometric data was cached, and this avoided the repeated downloading of the same geometric data. We implemented the presented method with WebGL, and this enabled fast loading of large IFC models on the web browser without any plug-ins. The experimental results indicated that the proposed method significantly reduced the memory consumption in a web browser, and this allowed fast loading of large IFC models and provided a better interactive experience for users.
The current implementation of the proposed method still exhibited a few disadvantages. One of the limitations is that the algorithm of external component extraction based on node classification is not sufficiently robust for non-closed BIM models. For example, mechanical, electrical, and plumbing (MEP) designer models and structural designer models are typically provided individually, and this may not explicitly include the architecture models. Thus, it is difficult to distinguish between external components and internal ones while only using MEP and structural models. In the future, we will explore more effective algorithms of external component extraction and especially for MEP and structural models. Additionally, a more effective memory management strategy is also an important method to improve the performance of dynamically loading IFC models, and this will be explored in a future study.
Yu-Shen Liu is the corresponding author. The study was supported by the National Key R&D Program of China (No. 2018YFB0505400), the National Natural Science Foundation of China (No. 61472202), the Special Scientific Research Fund of China Railway Corporation (No. J2017X010), and the Research on Key Technologies of Virtual Engineering of Railway Engineering Unit Based on BIM Technology (No. K2018G055).
The authors declare that they have no competing interests.
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
- Eastman C, Teicholz P, Sacks R, Liston K (2011) BIM Handbook: A Guide to Building Information Modeling for Owners, Managers, Designers, Engineers and Contractors. Wiley, Hoboken.Google Scholar
- BuildingSMARTIndustry Foundation Classes (IFC). http://www.buildingsmart-tech.org/specifications/ifc-overview/. Accessed 30 Sept 2018.
- Industry Foundation Classes (IFC) for data sharing in the construction and facility management industries. https://www.iso.org/standard/51622.html. Accessed 30 Sept 2018.
- Sun J, Liu Y-S, Gao G, Han X-G (2015) IFCCompressor: A content-based compression algorithm for optimizing Industry Foundation Classes files. Autom Constr 50(7):1–15. https://doi.org/10.1016/j.autcon.2014.10.015.View ArticleGoogle Scholar
- Lin Y-H, Liu Y-S, Gao G, Han X-G, Lai C-Y, Gu M (2013) The IFC-based path planning for 3D indoor spaces. Adv Eng Inform 27(2):189–205. https://doi.org/10.1016/j.aei.2012.10.001.View ArticleGoogle Scholar
- Gao G, Liu Y-S, Lin P, Wang M, Gu M, Yong J-H (2017) BIMTag: Concept-based automatic semantic annotation of online BIM product resources. Adv Eng Inform 31:48–61. https://doi.org/10.1016/j.aei.2015.10.003.View ArticleGoogle Scholar
- Gao G, Liu Y-S, Wang M, Gu M, Yong J-H (2015) A query expansion method for retrieving online BIM resources based on Industry Foundation Classes. Autom Constr 56:14–25. https://doi.org/10.1016/j.autcon.2015.04.006.View ArticleGoogle Scholar
- Liu H, Liu Y-S, Pauwels P, Guo H, Gu M (2017) Enhanced explicit semantic analysis for product model retrieval in construction industry. IEEE Trans Ind Inform 13(6):3361–3369. https://doi.org/10.1109/TII.2017.2708727.View ArticleGoogle Scholar
- Shi X, Liu Y-S, Gao G, Gu M, Li H (2018) IFCdiff: A content-based automatic comparison approach for IFC files. Autom Constr 86:53–68. https://doi.org/10.1016/j.autcon.2017.10.013.View ArticleGoogle Scholar
- Redmond A, Hore A, Alshawi M, West R (2012) Exploring how information exchanges can be enhanced through Cloud BIM. Autom Constr 24:175–183. https://doi.org/10.1016/j.autcon.2012.02.003.View ArticleGoogle Scholar
- BIMserver. http://bimserver.org. Accessed 30 Sept 2018.
- Liu X, Xie N, Tang K, Jia J (2016) Lightweighting for Web3D visualization of large-scale BIM scenes in real-time. Graph Models 88:40–56. https://doi.org/10.1016/j.gmod.2016.06.001.MathSciNetView ArticleGoogle Scholar
- Sun J (2014) Content based IFC compression and fast IFC model visualization Master’s thesis, Tsinghua University, Beijing.Google Scholar
- Scully T, Friston S, Fan C, Doboš J, Steed A (2016) glTF streaming from 3D repo to X3DOM In: Proceedings of the 21st international conference on web3D technology, 7–15.. ACM, Anaheim. https://doi.org/10.1145/2945292.2945297.
- Scully T, Doboš J, Sturm T, Jung Y (2015) 3drepo.io: building the next generation Web3D repository with AngularJS and X3DOM In: Proceedings of the 20th international conference on 3D web technology, 235–243.. ACM, Heraklion. https://doi.org/10.1145/2775292.2775312.
- Behr J, Mouton C, Parfouru S, Champeau J, Jeulin C, Thöer M, et al. (2015) webVis/instant3DHub: visual computing as a service infrastructure to deliver adaptive, secure and scalable user centric data visualization In: Proceedings of the 20th international conference on 3D web technology, 39–47.. ACM, Heraklion. https://doi.org/10.1145/2775292.2775299.
- Limper M, Thöer M, Behr J, Fellner DW (2014) SRC - a streamable format for generalized web-based 3D data transmission In: Proceedings of the 19th international ACM conference on 3D web technologies, 35–43.. ACM, Vancouver. https://doi.org/10.1145/2628588.2628589.
- glTF Overview. https://www.khronos.org/gltf/. Accessed 30 Sept 2018.
- Shen Z-G, Jiang L-D, Grosskopf K, Berryman C (2012) Creating 3D web-based game environment using BIM models for virtual on-site visiting of building HVAC systems In: Proceedings of 2012 construction research congress 2012: Construction challenges in a flat world, 1212–1221.. ASCE, West Lafayette. https://doi.org/10.1061/9780784412329.122.
- Chen B-J, Xu Z-Q (2011) A framework for browser-based multiplayer online games using WebGL and WebSocket In: Proceedings of 2011 international conference on multimedia technology, 471–474.. IEEE, Hangzhou.View ArticleGoogle Scholar
- Parisi T (2012) WebGL: Up and Running. O’Reilly Media, Inc., Sebastopol.Google Scholar
- Wang Z-R, Yang C-G, Ju Z-J, Li Z-J, Su C-Y (2017) Preprocessing and transmission for 3D point cloud data In: Proceedings of the 10th international conference on intelligent robotics and applications, 438–449.. Springer, Wuhan. https://doi.org/10.1007/978-3-319-65289-4_42.View ArticleGoogle Scholar
- Li P-F, Yu X-Q, Wang J-J (2016) Progressive compression and transmission of 3D model with WebGL In: Proceedings of 2016 international conference on audio, language and image processing, 170–173.. IEEE, Shanghai. https://doi.org/10.1109/ICALIP.2016.7846665.
- Held D, Guillory D, Rebsamen B, Thrun S, Savarese S (2016) A probabilistic framework for real-time 3D segmentation using spatial, temporal, and semantic cues In: Proceedings of robotics: science and systems, Ann Arbor.Google Scholar
- Babacan K, Chen L, Sohn G (2017) Semantic segmentation of indoor point clouds using convolutional neural network. ISPRS Annals of Photogrammetry, Remote Sensing & Spatial Information Sciences, 2017:4. https://doi.org/10.5194/isprs-annals-IV-4-W4-101-2017.View ArticleGoogle Scholar