A time-series analysis of building information models

The apparatus addresses the lack of comprehensive monitoring in BIM technologies by analyzing BIMs over time, providing visualizations and suggestions to optimize design processes and reduce clashes, thus enhancing project management and efficiency.

WO2025210299A1PCT designated stage Publication Date: 2025-10-09AALTO UNIV FOUND
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/FI2025/050160
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-04
Filing Date
2025-04-03
Publication Date
2025-10-09

AI Technical Summary

Technical Problem

Current BIM technologies lack comprehensive monitoring and control mechanisms to track design process dynamics, leading to inefficiencies in project management, resource depletion, and increased project duration without adding value to the end customer.

Method used

An apparatus that analyzes building information models (BIMs) over time, identifying changes and providing 3D visualizations, statistical data, and suggestions for design adjustments to prevent clashes and optimize the design process.

Benefits of technology

Enhances project management by automating continuous monitoring and control of design processes, reducing clashes between design teams, and optimizing resource allocation, thereby improving design and construction efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FI2025050160_09102025_PF_FP_ABST
    Figure FI2025050160_09102025_PF_FP_ABST
Patent Text Reader

Abstract

According to an aspect, an apparatus comprising at least one processor and at least one memory, may obtain one or more building information models (BIMs) and identify changes between said BIMs. The apparatus may further provide relevant data on the identified differences, such as 3D visualisation, spreadsheets and graphs. The apparatus may be configured to obtain the BIMs automatically, without human request.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] A TIME-SERIES ANALYSIS OF BUILDING INFORMATION MODELS

[0002] TECHNICAL FIELD

[0003] The disclosure relates generally to the field of architecture , engineering and construction (AEG) and more particularly to at least an apparatus for monitoring differences of building information models (BIMs ) over time .

[0004] BACKGROUND

[0005] Building Information Modelling (BIM) was embraced by the construction industry as a platform for generating and disseminating design information . BIM is a valuable tool for visuali zing the product being developed and consolidating storage of geometric and specification data pertaining to a construction proj ect . Although BIM technologies have enhanced the transparency of design models by accurately depicting the building components , they do not provide a comprehensive understanding of the underlying design process .

[0006] Contemporary digital design appears to occur in segregated "black boxes" , impeding the complete reali zation of the promised potentials of BIM . In the current BIM landscape , questions include how designers develop their proj ects , what methodologies they employ to address design issues , whether the duration spent on design tasks is reasonable , how they coordinate , and who is doing what at a specific time in the model .

[0007] During the design phase of building proj ects , there may exist a lack of quantifiable , reliable , timely, and automated monitoring technologies that can unveil significant process dynamics . In the absence of such tools , it becomes challenging to synchroni ze the efforts of the different designers , guarantee the prompt exchange of information between teams , predict obstacles , impartially evaluate the actual performance of each design discipline, and consequently, take proactive measures to manage the projects time, cost, and quality.

[0008] Furthermore, failure to capture process data can impede the future progress of a design and construction organization. For example, the knowledge acquired in a particular project might be readily disregarded, pushing the business to restructure the process in each subsequent project. This depletes the company's resources and might increase the total length of a project without necessarily contributing to adding value to the end customer.

[0009] Monitoring and controlling design projects may rely solely on reports generated during team meetings, for example. Different teams e.g., Heating, ventilation and air conditioning (HVAC) , architects, structural engineers etc. responsible for designing and building the project regularly meet and report their progress and work status. Said reporting may be manual and done by designers who may fail to accurately estimate their current work status.

[0010] The monitoring and controlling of the design process adopt an activity-based approach where design managers define and plan different activities required to develop the desired BIM model and then follow up with the performance by assessing actual progress to the planned one. While this method can guide the managers in following the projects development, several design aspects may stay hidden from direct managerial control. For example, the iterations to develop the design solution are not caught. Also, this method does not capture daily design operations and modelling aspects, as design activities are not directly linked to BIM modelling dynamics . SUMMARY

[0011] The scope of protection sought for various example embodiments of the invention is set out by the independent claims . The example embodiments and features , i f any, described in this specification that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various example embodiments of the invention .

[0012] According to a first aspect , an apparatus is disclosed . The apparatus may comprise at least one processor ; and at least one memory storing instructions which, when executed by the proces sor , cause the apparatus to at least : obtain at least one of a first building information model , BIM, associated with a building, wherein the first BIM represents a state of the associated building at a first point in time ; identify changes between the first BIM and one or more of a second BIM associated with the building, and wherein the second BIM represents a state of the associated building at a second point in time earlier than the first point in time ; and output information on the identified changes . The disclosed apparatus provides information on the identified changes as , for example , a 3D visuali zation, wherein more recent and / or drastic changes of BIM elements can be highlighted . This output information can be used by a building design teams to avoiding potential clashes between elements and to correct any existing problems between BIMs associated with different times of a design process .

[0013] In an implementation form of the first aspect , the identified changes between the first BIM and at least one of a second BIM comprises calculating relative geometrical changes . Calculation of the relative geometrical changes of BIM elements can be used as a basis for the 3D visuali zation . In an implementation form of the first aspect, the instructions , when executed by the at least one processor, further cause the apparatus to at least : calculate a weighted sum of geometrical changes between the first BIM and the one or more of the second BIM . Using weighted sums , more recent changes and / or more drastic changes , such as movement of building elements or changing an element building material , can provide better insight to the design team when analysing the design process .

[0014] In an implementation form of the first aspect , the instructions , when executed by the at least one processor, further cause the apparatus to at least : determine a voxel grid based on the calculated weighted sum of geometrical changes ; and output the information on the identified changes at least partially based on the determined voxel grid . Us ing the voxel grid can be highly beneficial when analyzing the identified changes , as the weighted sum can be easily illustrated on the voxel grid .

[0015] In an implementation form of the first aspect , the instructions , when executed by the at least one processor, further cause the apparatus to at least : obtain a semantic web graph based at least on BIM model version . The semantic web graph is a clear and easi ly implementable data structure that comprises relationships between elements and properties .

[0016] In an implementation form of the first aspect , the instructions , when executed by the at least one processor, further cause the apparatus to at least : extract statistics from the semantic web graph, wherein the extracted statistics comprises at least an element count and a property count of the first BIM . Semantic query language for database queries may enable users of the apparatus to access the knowledge graphs generated in resource description framework (RDF) format , for example . Interests and properties can be successfully gathered by selecting specific elements and their subclasses . Data aggregation, analysis , and reporting are conducted as distinct processes . The collected data may be consolidated optionally into Excel spreadsheets using software libraries ( i . e . , Apache POI library) , which enables efficient authoring .

[0017] In an implementation form of the first aspect , the instructions , when executed by the at least one processor, further cause the apparatus to at least : verify geometry data integrity of the first BIM before identifying the difference . Verifying geometry data integrity in a constant manner is a step in maintaining a rigid design process . Geometry data integrity may also mean that the geometry is not modif ied to some elements .

[0018] In an implementation form of the first aspect , the instructions , when executed by the at least one processor, further cause the apparatus to at least : calculate MD5 checksum hash function for each element comprised in the first BIM to verify the geometry data integrity . MD5 message digest hash function is a read- ily-available and useful tool for verifying the data integrity .

[0019] In an implementation form of the first aspect , the instructions , when executed by the at least one processor, further cause the apparatus to at least : identify each triangle comprised in the geometry data of the first BIM; provide the identified triangles to the MD5 checksum hash function ; and construct a Base 64 - encoded string based on the providing the identified triangles to the MD5 checksum hash function ; and wherein the verifying the geometry data integrity and calculating the MD5 checksum comprises the above-listed operations of thi s claim . This embodiment enables even more rigid verification of the geometric data integrity . In an implementation form of the first aspect, the instructions, when executed by the at least one processor, further cause the apparatus to at least: fill timeline gaps between the first point in time and the second point in time associated with the earlier point in time than the first point in time; and resample the first BIM. Filling the timeline gaps and resampling may be used to increase output accuracy. Consequently, gapless timelines for each domain may be created using the last know values for each time point. Then, resample may be performed to the created timelines for each day to obtain consistent values for each domain (architectural, hvac, etc . )

[0020] In an implementation form of the first aspect, the instructions, when executed by the at least one processor, further cause the apparatus to at least: determine a spreadsheet report based on the filled timeline gaps and the resampled first BIM. Spreadsheets can be helpful when analysing large chucks of data.

[0021] In an implementation form of the first aspect, the instructions, when executed by the at least one processor, further cause the apparatus to at least: organize information comprised in each of the first BIM and the second (or more) BIM(s) on a timeline. Arranging the information included in BIM exports in a timeline provides a clear indication of changes such as where and when crucial changes were made to the design process.

[0022] In an implementation form of the first aspect, the first BIM is obtained based on parsing an Industry Foundation Classes, IFC, model associated with the first BIM. IFC may be a buildingSMART open standard for BIM data exchange.

[0023] In an implementation form of the first aspect, the instructions, when executed by the at least one processor, further cause the apparatus to at least: based on the identified changes between the first BIM and the second BIM, modify a frequency factor of an element in which a difference was identif ied . The frequency factor may better indicate changes to a user of the apparatus .

[0024] In an implementation form of the first aspect , the instructions , when executed by the at least one processor, further cause the apparatus at least to : output a suggestion to at least one of : move an element to another location ; or change a property of the element . A suggestion to a designer makes decision making, thus the whole design process faster .

[0025] According to a second aspect , a method is disclosed . The method may comprise : obtaining at least one of a first building information model , BIM, associated with a building, wherein the first BIM represents a state of the associated building at a first point in time ; identifying changes between the first BIM and one or more of a second BIM associated with the building, and wherein the second BIM represents a state of the associated building at a second point in time earlier than the first point in time ; and providing information on the identified changes .

[0026] According to a third aspect , a computer-readable medium is disclosed . The computer-readable medium may store a computer program comprising instructions that , when executed by a computing device , cause the computing device to perform the method according to the second aspect .

[0027] DESCRIPTION OF THE DRAWINGS

[0028] The accompanying drawings , which are included to provide a further understanding of the embodiments and constitute a part of this specification, illustrate embodiments and together with the description help to explain the principles of the embodiments . In the drawings : FIG . 1 illustrates a block diagram of an apparatus configured to practice example embodiments . The apparatus is configured to obtain building information models and identify changes between said building information models to provide useful information on the identified changes to , for example , a design team .

[0029] FIG . ' s 2A-B illustrate an example room in a building information model and how changes in a des ign of the example room can affect the data flow of the disclosed apparatus .

[0030] FIG . 3 illustrates a building design system wherein example embodiments can be applied in .

[0031] FIG . 4 illustrates a flowchart of example functions and operations example embodiments are configured to perform . The functions can be performed by the dis closed apparatus , for example .

[0032] FIG . 5 illustrates a flowchart to provide context for the description and highlight some of the benefits of the provided embodiments .

[0033] FIG . 6 illustrates a flowchart of a method according to an example embodiment . The method may be performed on a computing device .

[0034] Like reference numerals are used to designate like parts in the accompanying drawings .

[0035] DETAILED DESCRIPTION

[0036] Reference will now be made in detail to embodiments , examples of which are illustrated in the accompanying drawings . The detailed description provided below in connection with the appended drawings is intended as a description of the present examples and is not intended to represent the only forms in which the present example may be constructed or utili zed . The description sets forth the functions of the example and the sequence of steps for constructing and operating the example . However, the same or equivalent functions and sequences may be accomplished by different examples .

[0037] It is at least one obj ective of the description to provide an example embodiment of an apparatus and a related method for an automatic monitoring and control mechanism for a building proj ect using building information models (BIMs ) . Benefits of the described embodiments may include , for example, improving building design and construction time by providing information on building elements that have changed over the design process and therefore preventing unnecessary clashes between building elements .

[0038] Another benefit may include diverting design and construction of teams of different technical disciplines working on the proj ect , to areas of the building that are less worked on at a current time . For example , the Heating, Ventilation and Air Conditioning (HVAC) team may be focused on one area of the proj ect , leaving room for architectural and structural changes in another area of the proj ect at the current time , by observing provided information by the provided apparatus .

[0039] Figure 1 illustrates a block diagram of a computing device 100 configured to practice example embodiments . The computing device 100 may be alternatively referred to as an apparatus 100 throughout the description .

[0040] The apparatus 100 may comprise at least one processor 102 and at least one memory 102 storing instructions which, when executed by the at least one processor 102 , may cause the apparatus 100 to perform described functionality .

[0041] The apparatus 100 may further comprise one or more communication interfaces 106 configured to receive input data and configured to output data according to example embodiments . The apparatus 100 may comprise, for example, a distributed computing system such (e.g., cloud computing network) , a server, a desktop computer, a laptop, a combination or portions thereof.

[0042] In conventional BIM management tools, the focus generally lies on the product (the building) rather than the design process itself. Automatic tracking on the design process may not be available and monitoring is generally on-demand, rather than continuous. Keeping track on the process metrics can be rather burdensome and learning is not necessarily based on the data available during the design process. The provided apparatus 100 may help in each mentioned issue, as it provides a design process approach by, for example, automatic tracking of the design models (BIMs) , wherein the monitoring and control aspects can be automated and continuous, and wherein a single person can review the outputs of the apparatus 100 and report to the management team. The process metrics are quantitative as one of the objects of the described embodiments is to provide a solution in which the BIMs and their enclosed data is analysed with easily understandable and repeatable methods. Another object of the description is to make the data provided by the apparatus 100 to be a key focus during the design process, as it enables locating problem areas and risk of clashes between design teams easy to notice. For example, the apparatus 100 may highlight a risk of a clash in certain model areas, if multiple teams from different disciplines are co-devel- oping that model area.

[0043] The apparatus 100 may obtain one or more building information models, BIMs, associated with a building (i.e., building project) . An obtained BIM may be referred numerically as a first BIM, a second BIM, a third BIM etc. Numerically identifying the BIM and a point in time (i.e., first point in time, second point in time etc.) is used herein to provide clarity for the description, as the provided apparatus 100 is configured to identify changes (or alternatively differences) between obtained BIMs associated with different points in time. In other words, the apparatus 100 obtains a first BIM associated with a first point in time (e.g., the current time, the most recent time etc.) and identifies changes between the obtained first BIM and between one or more of a second BIM that represents a state of the building at an earlier point in time than the first point in time. The apparatus 100 may be configured to highlight the identified changes by, for example, providing a 3D model that shows large variances in changes of building element positions in bright red and smaller variances in a more yellowish tint. More detailed examples are provided below.

[0044] An obtained BIM may comprise, for example, architectural exports, structural exports, HVAC exports and the like. In other words, an obtained BIM may comprise a standardised BIM and related information on each technical discipline working on the building project. The word 'export' or 'BIM export' may be used to refer the obtained BIM before identifying the changes (and before applying processing and data extraction etc.) The BIM may be obtained automatically by, for example, pre-determining intervals such as once per day. A BIM may be obtained, for example, via the communication interface 106 by internet-based communications from other computing devices such as distributed cloud computing networks or the like. Different teams may store their design information on such distributed cloud computing networks and the apparatus 100 may be configured to be in communication with such networks to obtain any BIMs related to the building project.

[0045] Figure 2A and Figure 2B illustrate a simplified example of a room 200, and on how the apparatus 100 may provide information on, for example, how building elements may have been changed over the design process.

[0046] An element 202 may comprise, for example, a column 202a, a heating pipe 202b, a wall element 202c and a wall 202d the wall element 202c is arranged to. The BIMs may comprise property information on the elements 202, for example, 3D position of an element in a 3D space, size and dimensions of the element in the 3D space, and / or material type of the element e.g., the heating pipe 202b: copper, the column 202a: concrete or steel, the wall element 202c: plywood or plasterboard and the like. In other words, an element 202 in a BIM may comprise various building parts of the building such as windows, doors, walls, pipes, etc. Each BIM-element comprises BIM-properties , which provide critical information about the element. These properties describe various aspects such as: Functionality: For example, whether a door is fire-rated. Dimensions: Such as the height, width, and thickness of a wall. Material: What material the element is made from, like concrete or steel. Maintenance Requirements: Details on how often an HVAC system needs servicing.

[0047] In the example, the column 202b is designed to run through multiple floors of the building the room 200 is in to provide structural reinforcement. Position 210 illustrates location of the column 202b at one point in time (i.e., a location in a BIM export during day one for example) .

[0048] Figure 2B illustrates state of the room 200 after the state illustrated in Figure 2A, wherein the column 202a has been moved by the structural design team from position 210 to position 212. This might become an issue to the HVAC team designing the heating pipe 202b, as the heating pipe 202b might have law-enf orced / stand- ardised design requirements on how close to other elements the heating pipe 202b can be, for example. As the provided apparatus 100 is configured to provide information on changes of the elements 202 , this movement from position 210 to position 212 can be illustrated in the output of the apparatus 100 as , for example , highlighting the column 202a with bright red .

[0049] As another example , a thickness d of the wal l 202d is changed from Figure 2A to Figure 2B . This change in the thickness may be , for example , due to a fact that the wall 202d needs to be a reinforcing wall and / or accommodate more elements inside the wall such as electrical installations or the like . This creates a problem for the HVAC team ( illustrated at 214 ) as the heating pipe 202b is configured to run in the wall 202c . The apparatus 100 is then configured to highlight this change in the thickness d of the wall 202d by, for example , illustrating the wall 202d in a specific colour (e . g . , bright red) and / or reporting a clash between the wall 204d and a valve 202e of the heating pipe 202a . The valve 202e is intended to be adj ustable from the room 200 , but due to the change of thickness d of the wal l 202d, the valve 202e is now inside the wall 202d in Figure 2B .

[0050] In an embodiment , the apparatus 100 may be configured to output a suggestion to move an element 202 . For example , the apparatus 100 may be configured to suggest that the valve 202e is moved or that the wall 202d is moved to accommodate room for the valve 202e . The suggestion may be, for example , comprised in an output report and / or in the visual representation of the output .

[0051] In another example , the obtained BIM may comprise restriction / guideline information on each element 202 , such as minimum di stance to another element , minimum distance to a wal l , a window, a minimum distance to a heating element , a water sprinkler or the like . Then the apparatus 100 may be configured to suggest , based on the restriction / guideline information of the element 202 , how and where the element 202 could be replaced . For example , a Design Rule Check ( DRC) system that imposes geometric constraints on each element 202 could be implemented to run on the apparatus 100 , and the apparatus 100 may be configured to run the DRC system based on the identified changes and clashes between the observed BIMs .

[0052] As another example , a procurement , i . e a change in the design of the model such as material of the column 202a may change . I . e . a change in the design from steel to reinforced concrete columns may be a relevant important information for contractors seeking to procure these columns . For example , the column 202 a may change from a concrete column to a steel column, or a steel- reinforced concrete column, which may be highlighted, for example using different weights on different materials or properties of an element 202 , or as different weights between known possible changes in materials or properties of an element 202 . I . e . , a change from concrete to steel-reinforced concrete can be illustrated differently than a change from concrete to steel .

[0053] The apparatus 100 is configured to normali ze the change values to guarantee that a drastic move of an element does not take overemphasis in the results and the apparatus 100 is configured to visuali ze the changes for the designers .

[0054] The apparatus 100 can be configured to output both information on the identified changes and / or identified statistical changes . The identified changes can be illustrated as a percentage value on a statistical change , for example , as a rate of change between all the known heating pipes 202 a in a bui lding . The identified changes can be illustrated as an absolute value of change, as for example, a movement value, in a spreadsheet report. Or as an average movement value of all electrical and plumbing appliances, for example.

[0055] Figure 3 illustrates a system 300 according to an example embodiment. The system 300 is given as an example embodiment, how the apparatus 100 can be configured in a working environment.

[0056] A building 302 is being developed by three different teams: A structural team 304a, an architectural team 304b and a HVAC team 304c. Their BIMs can be stored on a cloud computing network 308. In the example embodiment at 306a-c, the teams can upload their most recent BIM exports to the cloud computing network 308. The apparatus 100 may obtain, at 310, these exported BIM models, and at 312, convert these export (s) to different formats. Consequently, the apparatus 100 may extract and arrange the information comprised in the said exports to a format more suitable for analysis. In other words, converting the exports may comprise, in the context of the description, extracting data and manipulating the extracted data to a format suitable for analysis.

[0057] At 315, the apparatus 100 may obtain BIMs associated with an earlier version of the building project 302 from, for example, a database 320 (or alternatively from the cloud computing network 308) and at 314, the apparatus 100 may compare the most recent model (received at 310) with the earlier models (received at 315) and identify the changes and / or differences between said models. The database 320 can act as a repository for the processed BIMs, for example. Therefore it is not necessary for the apparatus 100 to always obtain earlier versions of the BIMs and process them as described herein. Consequently, whichever BIM (export) was obtained earlier during the design process can be converted and processed into other formats as described herein and stored in the database 320, for example, saving processing cost and time.

[0058] The apparatus 100 enables a time-series comparison between models in the whole development cycle, and provides information how each element 202 has changed, moved, changed properties, the material used etc. At 316, the apparatus 100 may provide information on the identified differences and / or changes on a monitor, for example. The monitor can display a 3D model of the combined exports and highlight the identified changes on different colour schemes, for example. At 318, the apparatus 318 may store the converted model (at 312) to the database 320 for later use, for example.

[0059] At 322, the provided output can be reviewed by the design teams 304a, 304b, 304c, and changes to the design process of the building project 302 can be made based on the output provided by the apparatus 100.

[0060] Converting the exports may comprise, for example, converting the exports to another file format or more specifically, extracting data from the exports such as geometry data and / or statistics such as element 202 count and property count. The apparatus 100 may be configured to read an IFC (Industry Foundation Classes) 'STEP' file format descriptions in 'EXPRESS' (published by buildingSMART standard organization) creating an internal model of the IFC format for each version used. Consequently, IFC Express schema definitions and IFC path mapping conversion can be used to extract statistics such as element 202 count and property count.

[0061] In an embodiment, element 202 and property statistics of the export can be extracted by, for example, using a IFC-SPF parser. The parsed IFC data can be interpreted using the internal model of the IFC specifications and translated into Linked Data (RDF) . Also, knowledge of RDF path mappings is used. The apparatus 100 may be configured to create a semantic web graph (buildingSMART ifcOWL and W3C LBD, for example) illustrating relationship between each element 202 and property of the BIM. Statistics (e.g., element 202 counts and property counts) can be extracted from the semantic web graph. Consequently, the process of obtaining the relevant statistics may comprise two steps. At first, data is gathered in batches, including the calculated checksums of the elements' 202 geometries from the IFC model, and the different readings at the level of IFC elements are broken down. Semantic query language for database queries (SPARQL) allows users to access the knowledge graphs generated in resource description framework (RDF) format. All types of interest and properties can be successfully gathered by selecting all specific (=If eProduct ) elements 202 and their subclasses. Data aggregation, analysis, and reporting are conducted as distinct processes. The collected data is then consolidated optionally into Excel spreadsheets using the software libraries (i.e., Apache PCI library) , which enables efficient authoring.

[0062] The apparatus 100 enables process quality validation by comparing listed elements 202 from IFCtoLBD. This ensures the readings remain consistent, even when different techniques are used. The apparatus 100 may additionally introduce new metrics to reflect dynamics of the design process, which are used to compute and visualize changes in data transfer models (IFC) for users. One such statistic is the Model Elements Count (MEC) , which tracks the evolution of a model's size by counting the total number of elements 202 in each new version. All the metrics produced reflect the model's dynamics when element 202 positions change while constructing or coordinating the design layout or developing the current design.

[0063] A timeline (time-series) of the exports, both in the geometry data domain and in the element 202 and property statistics domain, can be created e . g . , ordering data in each domain to correspond time from the most recent to the earliest . The gaps are filled with the last known situation . Differences between days can be calculated, encompassing metrics such as the count of added elements 202 , removed elements 202 , and changed elements 202 .

[0064] Consequently, for a time-series analysis of BIM models , as the exports are valid in IFC across the various domains (Architectural , Structural , HVAC) , the process may entail sorting IFC models based on the I SO- 10303-21 file header timestamp value and creating a timeline for each domain ' s model . Subsequently, statistical values are calculated by IFC element type for element 202 counts and IFC property counts . The timeline of dates is then established using the minimum and maximum dates from the data series . For each day within the domain ' s time-series , the last timestamp of the day is chosen to represent that day to make the series comparable . The last avai lable data in the timeline i s used if no data is present for the domain on a particular day . Finally, differences between day values can be computed, encompassing metrics such as the count of added elements 202 , removed elements 202 , and changed elements 202 .

[0065] In an embodiment , the geometry data of the BIM can be determined / extracted using IFC geometry engine . Geometry data integrity can be verified using, for example , MD5 message-digest 5 hash function as a checksum . In other words , geometry meshes are sorted (with the IFC geometry engine ) and the MD5 message-digest checksum is calculated for each element 202 geometry .

[0066] In an example embodiment , first , a MD5 hash function can be initiali zed and next all triangles within the geometry meshes are identified . Vertices of the identified triangles can be sorted numerically based on their 3-dimensional (3D) coordinates (X,Y,Z) . The 3D coordinate values can be converted into decimal strings with, for example, three decimal places to add a tolerance factor. These strings are then arranged and sorted. Finally, the sorted strings can be fed into the MD5 and construct a Base64-encoded string from the resulting hash. This process ensures a unique checksum for each BIM element 202 with geometry, facilitating verification and comparison.

[0067] In other words, with the apparatus 100, a user can visualize the design process using a three-dimensional colored grid and organize the objects in the model based on a desired timeline, making tracking changes in the model geometry easy. This is accomplished by, for example, utilizing a geometry kernel (IfcOpenShell based on Open CASCADE) to create IFC geometry triangulation and mapping function (MD5 messagedigest algorithm) checksums for the various time points of the element 202 geometries. In one embodiment, a user of the apparatus 100 has an option to present the results preferably in either Excel or CSV files or, in one another embodiment, as a visual representation of the mesh overlaying the IFC model data. The goal of the presentation is to direct the users' attention towards the dynamics of the model, providing insight into what is occurring at each moment and who are responsible, namely the designers. The dynamics of the model may help the design teams to avoid future clashes between each other, as the hotspot visualization and the statistics may indicate future changes in the design (i.e., where a design team is "headed on" in their design) . An HVAC installation team may see the results provided by the apparatus 100, and re-direct their design efforts to another part of a room, for example. After the geometry data has been extracted, a frequency of changes (e . g . , recent changes ) can be determined . For example , for the timeline - relative geometrical changes can be calculated for elements 202 (whether the element 202 is moved or not ) . Further, using weighted sum, most recent geometrical changes can be highlighted, for example . In other words , for the most recent geometry data, bigger weights can be used .

[0068] So called 'hotspots ' at element 202 level can be illustrated using Microsoft PowerBI , for example . Hotspots may comprise the highest change frequency in element 202 position, for example . Alternatively, hotspots may comprise clashes between element 202 locations , for example . A skilled person may be able to configure the apparatus 100 for a proper illustration configuration . Grid voxeli zation can be used to group and illustrate the hotspots of the design in a selected time point .

[0069] A recent changes hotspot can be calculated following a mathematical model that changes every new model version, one step at a time for each element 202 . For example , when an element 202 is created, an initial value of 1 may be given to a recent frequency factor for that element 202 (EBF) . If no changes are identified to that element 202 in the next version, a reduction of the EBF may occur following a smoothing constant a, ranging between 0 and 1 , as in Equation 1 : wherein, 0 < a < 1 . The weighted sum may be implemented using binary values , which would indicate when the weighted sums hit zero . Alternatively, the weighted sum can be implemented using integers or floating point values, for example.

[0070] Figure 4 illustrates an example embodiment of a flowchart 400, describing various steps to implement the various functions of the provided apparatus 100.

[0071] At 404, the different BIMs 402a, 402b and 402c are exported to the apparatus 100. At 406, the IFC Express schema and IFC path mappings are defined and at 408, the internal IFC model is determined 408. At 410, the IFC-SPF parser can be used to parse the statistics from the exported models based on the internal model.

[0072] At 412, the statistics (e.g., element 202 count, property count etc.) can be collected and ordered in a timeline.

[0073] At 414, the IfcOpenShell is utilized to determine the geometry data (e.g., mesh) and at 416, the geometry can be ordered (sorted by timeline) as described above, and the MD5 checksum can be performed to verify the data integrity.

[0074] At 418, the timeline gaps can be filled and the obtained BIM model can be resample the timeline, for example .

[0075] At 420, the apparatus 100 may provide design status report. The design status report may be provided automatically and comprise information on geometry data changes and the statistics, for example. The design status report can be provided on, for example, an Excel spreadsheet or the like. Further, (automatic) design status report may comprise graphs that illustrate the trends which are created due to changes in elements 202, for example.

[0076] At 422, recent changes frequency can be calculated on the ordered geometry (mesh) using, for example, the weighted sum as described above and at 424. For the timeline of the geometry, the element 202 moves, and relative geometrical changes are calculated. Also, the weighted sum of recent geometrical changes is calculated for each element 202.

[0077] At 424, hotspot visualisation can be done on Power BI or custom software, for example. The visualisation may also illustrate the hotspots at element 202 level. Additionally, a grid with voxelization can be used to group and illustrate the hotspots of the design in a selected point in time and for selected discipline, including element 202 level and floor-level filtering.

[0078] Options for implementing the grid voxelization may comprise combinations and / or portions of: i) to use a grid to aggregate values (e.g. EBF) of changed elements 202, ii) to use bounding boxes of BIM spaces for the aggregation, which may put more weight on the semantic allocation structure of the building. This may provide good insight into parts of the building, floors, etc., where the work is done, iii) use 3D hierarchical voxelization. This may comprise an octree data structure, for example.

[0079] Figure 5 is a flowchart to provide context for the description and highlight some of the benefits of the provided embodiments.

[0080] The apparatus 100 can be configured for automated data collection at 502 and further configured for analysis of the automatically collected data (e.g., the semantic web graph) . At 506, this may help a design team of a building project during the design process and forecast any possible clashes between design teams as described above. The visualisation at 508 (e.g., Power BI hotspots) can help the design team(s) to make improvements on the design process at 510. The cycle may continue throughout the design process.

[0081] Figure 6 illustrates a flowchart of a method 600 according to an example embodiment. The method 600 may be performed on a computing device, such as the apparatus 100 . An example embodiment of a computer-readable medium may store a computer program comprising instructions that , when executed by a computing device , causes the computing device to perform the method 600 .

[0082] At 602 , the method 600 may comprise obtaining at least one of a first building information model , BIM, as sociated with a bui lding, wherein the first BIM represents a state of the associated building at a first point in time .

[0083] At 604 , the method 600 may comprise obtaining one or more of a second BIM associated with the building, and wherein the second BIM represents a state of the associated building at a second point in time earlier than the first point in time . The second BIM may be obtained from the database 320 , for example .

[0084] I f the BIMs are not available in a proper format for processing and analysis , the method 600 may comprise parsing the f irst BIM ( and the second BIM) to obtain ( IFC) element 202 and property statistics (e . g . , step 410 and step 412 in Figure 4 ) . Alternatively or additionally, the method 600 may comprise creating an ordered geometry based on a timeline using I fcOpenShell , for example , and verifying geometry data integrity using MD5 hash function checksum as described at step 414 and at step 416 in reference to Figure 4 . The method 600 may further comprise reading an IFC ' STEP' file format descriptions in 'EXPRESS ' and determining an internal model of the IFC format for each version used as described at step 406 and at step 408 in reference to Figure 4 .

[0085] At 606 , the method 600 may comprise identifying changes between the first BIM and the one or more of a second BIM . Step 606 may comprise step 418 and / or step 422 as described in reference to Figure 4 .

[0086] At 608 , the method 600 may comprise providing information on the identified changes . This step may comprise step 420 and / or step 424 as described in ref erence to Figure 4 . In other words , determining and providing charts and spreadsheet report ( s ) on the statistics and 3D visualisation of hotspots .

[0087] It will be noted that the method 600 may further comprise steps , functions and / or operations of any embodiment of the apparatus 100 described herein, and the embodiments are not repeated here to maintain coherence and clarity in the description . A skilled person may modify the method 600 to correspond to the functionality of each embodiment of the apparatus 100 .

[0088] At least one of the described embodiments provide a solution, which enables automatic visualisation of changes between building information models . Further, one or more of the embodiments enable a solution, in which statistical information on geometry changes , element 202 counts , property counts etc . is provided . The visualisation and the statistical information can be used by a building design team to improve design time as clashes between design teams is reduced . Further design costs may be reduced as the solution ( s ) decrease the pos sibil ity of element 202 clashes and the management may re-direct certain design teams to work on less busy areas of the building proj ect .

[0089] The provided apparatus 100 , for example , may help to potentially avoid future clashes between elements 202 , properties , electrical installations , insulation, HVAC installations and the like , as the apparatus 100 is configured to provide information on changes between BIMs , the changes in the BIMs can indicate i f one design team is going to clash with another design team .

[0090] Another benefit of the described embodiments may comprise reducing required construction materials and apparatuses for the building proj ect , as the sta- ti stics and the hotspot visuali sation may help the design time to avoid unnecessary installation of unrequired elements 202 , structures , ventilation systems , insulation etc . Consequenlty, as the design may be more smooth and straightforward, also it i s pos sible to reduce any potential mistakes that would need to be contracted anew .

[0091] Another benefit of the described embodiments may help the design team to highlight clashes risk, and consequently optionally optimi ze building dimensions and si ze , as the output of the apparatus 100 . Foror example , it may highlight issues that arise in small , cramped spaces , etc . In the overal l design process due to highlighting for example electrical installations can be designed to avoid HVAC installations , as potential clashes ( current of upcoming) between building elements 202 and structures can be properly avoided .

[0092] Another benefit of the described embodiments may enable a solution, in which a suggestion to move an element 602 is provided . The suggestion may enable a designer to make adj ustments to the overall design faster, as the available suggestions provide an indication to the designer what should be done . A suggestion may comprise a suggestion to move an element 202 or to change an element' s 202 property, for example .

[0093] In some embodiments at least some parts of the computing device 100 may be implemented as a system on a chip ( SoC) . For example , the processor 102 , the memory 104 , and / or other components of computing device 100 may be implemented using a field-programmable gate array ( FPGA) .

[0094] It would be impos sible for the design team to identify these hotspots and information on the changes and statistics by looking at the various BIMs in their native applications . The apparatus 100 provides the suitable means to observe , analyse and modify the design process based on the output provided by the apparatus 100 .

[0095] Components of the computing device 100 , such as the processor 102 and the memory 104 , may not be discrete components . For example , if the computing device 100 is implemented using a SoC, the components may correspond to different units of the SoC .

[0096] The processor 102 may comprise , for example , one or more of various processing devices , such as a coprocessor, a microprocessor, a controller, a digital signal processor ( DSP) , a processing circuitry with or without an accompanying DSP, or various other processing devices including integrated circuits such as , for example , an application specific integrated circuit (AS IC) , a field programmable gate array ( FPGA) , a microcontroller unit (MCU) , a hardware accelerator, a special-purpose computer chip, a graphics processing unit (GPU) , or the like .

[0097] The memory 104 may be configured to store , for example , computer programs and the like . The memory 104 may include one or more volatile memory devices , one or more non-volatile memory devices , and / or a combination of one or more volatile memory devices and non-volatile memory devices . For example , the memory 104 may be embodied as magnetic storage devices ( such as hard disk drives , floppy disks , magnetic tapes , etc . ) , optical magnetic storage devices , and semi-conductor memories ( such as mask ROM, PROM (programmable ROM) , EPROM (erasable PROM) , flash ROM, RAM ( random access memory) , etc . ) .

[0098] Functionality described herein may be implemented via the various components of the computing device 100 . For example , the memory 104 may comprise program code for performing any functionality disclosed herein, and the processor 102 may be configured to perform the functionality according to the program code comprised in the memory 104 .

[0099] When the computing device 100 is configured to implement some functionality, some component and / or components of the computing device 100 , such as the one or more processors 102 and / or the memory 104 , may be configured to implement this functionality . Furthermore , when the one or more processors 102 is configured to implement some functionality, this functionality may be implemented using program code comprised, for example , in the memory 104 . For example , if the computing device 100 is configured to perform an operation, the one or more memories 104 and the computer program code can be configured to , with the one or more processors 102 , cause the computing device 100 to perform that operation .

[0100] Any range or device value given herein may be extended or altered without losing the effect sought . Also , any embodiment may be combined with another embodiment unless explicitly disallowed .

[0101] Although the subj ect matter has been described in language specific to structural features and / or acts , it is to be understood that the subj ect matter defined in the appended claims is not necessarily limited to the specific features or acts described above . Rather, the specific features and acts described above are disclosed as examples of implementing the claims and other equivalent features and acts are intended to be within the scope of the claims .

[0102] It will be understood that the benefits and advantages described above may relate to one embodiment or may relate to several embodiments . The embodiments are not limited to those that solve any or all of the stated problems or those that have any or all of the stated benef its and advantages . It wi ll further be understood that reference to ' an ' item may refer to one or more of those items .

[0103] The steps of the methods described herein may be carried out in any suitable order, or simultaneously where appropriate . Additionally, individual blocks may be deleted from any of the methods without departing from the spirit and scope of the subj ect matter described herein . Aspects of any of the embodiments described above may be combined with aspects of any of the other embodiments described to form further embodiments without losing the effect sought .

[0104] The term ' comprising ' is used herein to mean including the method, blocks or elements identified, but that such blocks or elements do not comprise an exclusive list and a method or apparatus may contain additional blocks or elements .

[0105] It will be understood that the above description is given by way of example only and that various modif ications may be made by those s kil led in the art . The above specification, examples and data provide a complete description of the structure and use of exemplary embodiments . Although various embodiments have been described above with a certain degree of particularity, or with reference to one or more individual embodiments , those skilled in the art could make numerous alterations to the disclosed embodiments without departing from the spirit or scope of this specification .

Claims

CLAIMS :

1. An apparatus (100) comprising: at least one processor (102) ; and at least one memory (104) storing instructions which, when executed by the processor (102) , cause the apparatus (100) to at least: obtain (404, 602, 310) at least one of a first building information model, BIM, associated with a building, wherein the first BIM represents a state of the associated building at a first point in time; identify (606, 422, 418, 314) changes between the first BIM and one or more of a second BIM associated with the building, and wherein the second BIM represents a state of the associated building at a second point in time earlier than the first point in time; and output (608, 424, 420, 322) information on the identified changes.

2. The apparatus (100) according to claim 1, wherein the identified changes between the first BIM and at least one of a second BIM comprises calculating relative geometrical changes.

3. The apparatus according to any of claim 2, wherein the instructions, when executed by the at least one processor (102) , further cause the apparatus to at least : calculate (422) a weighted sum of geometrical changes between the first BIM and the one or more of the second BIM.

4. The apparatus (100) according to claim 3, wherein the instructions, when executed by the at least one processor (102) , further cause the apparatus (100) to at least: determine a voxel grid based on the calculated weighted sum of geometrical changes; and output the information on the identified changes at least partially based on the determined voxel grid .

5. The apparatus (100) according to any preceding claim, wherein the instructions, when executed by the at least one processor (102) , further cause the apparatus (100) to at least: determine a semantic web graph based at least on a BIM model version.

6. The apparatus (100) according to claim 5, wherein the instructions, when executed by the at least one processor (102) , further cause the apparatus (100) to at least: extract statistics from the semantic web graph, wherein the extracted statistics comprises at least an element (202) count and a property count of the first BIM.

7. The apparatus (100) according to any preceding claim, wherein the instructions, when executed by the at least one processor (102) , further cause the apparatus (100) to at least:verify (422) geometry data integrity of the first BIM before identifying the changes.

8. The apparatus (100) according to claim 7, wherein the instructions, when executed by the at least one processor (102) , further cause the apparatus (100) to at least: calculate (422) MD5 checksum hash function for each element comprised in the first BIM to verify the geometry data integrity.

9. The apparatus (100) according to claim 8, wherein the instructions, when executed by the at least one processor (102) , further cause the apparatus (100) to at least: identify each triangle comprised in the geometry data of the first BIM; provide the identified triangles to the MD5 checksum hash function; and construct a Base64-encoded string based on the providing the identified triangles to the MD5 checksum hash function; and wherein the verifying the geometry data integrity and calculating the MD5 checksum comprises the above-listed operations of this claim.

10. The apparatus (100) according to any preceding claim, wherein the instructions, when executed by the at least one processor (102) , further cause the apparatus (100) to at least:fill (418) timeline gaps between the first point in time and the second point in time associated with the earlier point in time than the first point in time; and resample the first BIM.

11. The apparatus (100) according to claim 10, wherein the instructions, when executed by the at least one processor (102) , further cause the apparatus (100) to at least: determine (420) a spreadsheet report based on the filled timeline gaps and the resampled first BIM.

12. The apparatus (100) according to any preceding claim, wherein the instructions, when executed by the at least one processor (102) , further cause the apparatus (100) to at least: organize information comprised in each of the first BIM and the second BIM on a timeline.

13. The apparatus (100) according to any preceding claim, wherein the first BIM is obtained based on parsing an Industry Foundation Classes, IFC, model associated with the first BIM.

14. The apparatus (100) according to any preceding claim, wherein the instructions, when executed by the at least one processor (102) , further cause the apparatus (100) to at least:based on the identified changes between the first BIM and the second BIM, modify a frequency factor of an element in which a difference was identified.

15. The apparatus (100) according to any preceding claim, wherein the instructions, when executed by the at least one processor (102) , further cause the apparatus (100) at least to: output a suggestion to at least one of: move an element (202) to another location; or change a property of the element (202) .

16. A method (600) , comprising: obtaining (602) at least one of a first building information model, BIM, associated with a building, wherein the first BIM represents a state of the associated building at a first point in time; identifying (604) changes between the first BIM and one or more of a second BIM associated with the building, and wherein the second BIM represents a state of the associated building at a second point in time earlier than the first point in time; and outputting (608) information on the identified changes .

17. A computer-readable medium storing a computer program comprising instructions that, when executed by a computing device, cause the computing device to perform the method according to claim 16.