## 5 Validation Using a Case Study  
The modules described above were implemented and validated on a section of a construction project in Montreal, Canada. The design team provided a BIM model for  
Figure 7: The dataflow schema of the developed _Data Extraction and Analysis Module_. each architectural, structural, mechanical, piping, and electrical discipline. The Data Extraction and Analysis Module, Data Storage Module, and Data Visualization Module were employed to validate the developed system with these models and demonstrate its applicability to construction projects. Figures 8-11 show the algorithms used in automation scripts in the Data Extraction and Analysis Module. Figure 8 shows a part of the automation script to select architectural elements in the BIM model. In this study, after the initial filtering, 7352 architectural elements were selected in the BIM model for the next step in the QC process. Figure 9 shows the algorithm used in the developed architectural QC automation script to check the geometry of room elements in the architectural BIM model. All room elements (59 room objects) were selected in the first step. All related parameters such as \"Area\", \"Upper Limit\", \"Level\", and \"Limit Offset\" were extracted to check the geometry of room elements as a part of the QC process. This section's output was to list rooms with geometry-related issues that need to be modified or deleted from the BIM model. Figure 10 shows the algorithm used in the developed automation script for the structural BIM QC to identify and list structural concrete elements that wrongly have a steel workset. Such misclassifications are not merely nominal but can significantly impact the QTO results, particularly when the workset parameter is employed for classifying quantities. In the case study, this algorithm successfully identified three concrete elements within the BIM model that were mistakenly categorized under the steel workset. As an essential part of the mechanical BIM model's QC process, all of the insulated mechanical elements were checked to ensure that they have an insulation thickness value. Figure 11 shows the algorithm utilized in the automation script for the mechanical BIM QC process to identify and list mechanical elements that lack insulation thickness or have it set to zero or null. However, as indicated in the results displayed in Figure 11, all inspected insulated elements in the mechanical BIM model were found to have appropriate insulation thickness values. Figure 12 shows the summary statistics section for a specified architectural BIM model. As shown, the model comprised 77 distinct family types, of which 1 was identified as non-compliant with the naming convention standards. Regarding material types, the model incorporated 70 different kinds, all adhering to the naming convention criteria. All of the specified architectural categories' elements, including the wall, roof, floor, and ceiling (846 elements), had material and area parameter names and values in the model. All of the BIM elements (7352 elements) had \"Phase\" and \"Workset\" parameter names. Regarding \"Workset\" parameters, the model included seven distinct names, all in compliance with the naming convention. There were 51 door elements in the model; 40 of them were coded, and 11 lacked codifications. All 40 door elements, which had a codification in the model, passed in terms of interior and exterior coding parameter values. The model also included 59 room elements, out of which 55 passed the room boundary checks. An additional check was conducted on the height of rooms with closed areas to ensure that they contained space between the ceiling and the top floor where MEP equipment might be located. Of the 55 rooms analyzed for height, 25 met the criteria, while 30 did not. Figure 8: The algorithm used in the automation script to select and count the total elements in the architectural BIM models. Figure 9: The algorithm used in the automation script to check the geometry of room elements in the architectural IBM model.