## 4 Experimental Results and Analysis
### Results and Analysis
#### 4.3.4 Automatic Reconstruction of the BIM  
Dynamo is an open source visual programming platform based on the Autodesk Revit API, designed to assist users in customizing BIM workflows. In contrast to traditional text-based programming languages, visual programming languages use graphical elements instead of textual expressions, enabling users to write scripts and define logic through graphical operations [58]. In this section, Autodesk Dynamo was employed as a visual scripting tool for importing Excel data and generating Revit models of tables and chairs in the indoor scene. The Revit models for the tables and chairs needed to be predefined. The table's Revit model was adjusted based on the calculated length, width, and height from the entity segmentation, while the chair was replaced with a standard conference chair model. The Dynamo workflow is illustrated in Figure 18.  
This process started by using the \"file path\" node to read the file address and input it into the \"Data.importCSV\" node. This node can read a CSV file and store it in the form of a list. Then, an \"if\" statement was used to determine the type of BIM element to be generated based on the attributes in \"list [0]\". Then, \"list [1]\", \"list [2]\", and \"list [3]\" were used to determine the placement point's position, which was then input into the \"Point.ByCoordinates\" node to generate an instance. Moreover, \"list [4]\", \"list [5]\", and \"list [6]\" were used to determine the object's normal direction, which was then input into the \"Vector.ByCoordinates\" node to obtain a normal vector. Finally, the \"Vector.AngleAboutAxis\" node was used to rotate it, with respect to the \(Z\)-axis, to ensure that the BIM element was correctly positioned. The completed BIM three-dimensional reconstruction model is shown in Figure 19.  
The research compared the collected point cloud data with the constructed BIM to investigate the feasibility of the automated BIM reconstruction method. Twelve key points were selected from various perspectives, including the top, side, and front views of the original point cloud data, as shown in Figure 20. A comparison was performed between these key points, and the deviation between the original point cloud data and BIM was calculated to assess the consistency of the BIM created in the study. The research assumed that the distances captured in the actual point cloud data were equal to the design distances. The distances between the points in the figure presented above were calculated, and their deviations from the constructed BIM model are presented in Table 4.  
Figure 18: Dynamo visual programming workflow. From the table, it can be observed that the errors in the BIM model reconstruction results are mostly within 2 mm, with the largest deviation occurring between Points #6 and #7, \begin{table}
\begin{tabular}{c c c c} \hline \hline
**NO.** & **BIM Distances** & **Design Distances** & **Errors** \\ \hline Point \#0–Point \#1 & 779.516 mm & 780 mm & \(-\)0.484 mm \\ Point \#1–Point \#2 & 801.626 mm & 800 mm & \(-\)1.570 mm \\ Point \#2–Point \#3 & 80.962 mm & 80 mm & \(-\)0.962 mm \\ Point \#3–Point \#4 & 517.951 mm & 520 mm & 2.049 mm \\ Point \#4–Point \#5 & 80.144 mm & 80 mm & \(-\)0.144 mm \\ Point \#5–Point \#6 & 80.114 mm & 80 mm & \(-\)0.114 mm \\ Point \#6–Point \#7 & 613.223 mm & 620 mm & 6.777 mm \\ Point \#7–Point \#8 & 80.144 mm & 80 mm & \(-\)0.144 mm \\ Point \#8–Point \#9 & 80.114 mm & 80 mm & \(-\)0.114 mm \\ Point \#9–Point \#10 & 517.951 mm & 520 mm & 2.049 mm \\ Point \#10–Point \#11 & 80.962 mm & 80 mm & \(-\)0.962 mm \\ Point \#11–Point \#12 & 260.061 mm & 260 mm & \(-\)0.061 mm \\ \hline Average error & \(\pm\)1.276 mm & & \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Deviation accuracy between key points. Figure 19: BIM reconstruction results: (**a**) BIM top view; (**b**) BIM 3D schematic diagram. Figure 20: Selection of key points. reaching 6.777 mm.