# An Automated IoT Visualization BIM Platform for Decision Support in Facilities Management
## 2 Research Methodologies and Experimental Design  
### Parametric Design-Based Approach  
Dynamo (a free plug-in for Revit) is a parametric design software that can work closely with BIM-based software such as Revit, and allows a designer to programmatically create 3D BIM components automatically based on certain parameters. It also constitutes a visual programming language providing visual block palettes. The Firefly suite is a set of computer code fragments employed to bridge the gaps between BIM-based parametric design software such as Dynamo or Grasshopper [16; 17; 18], a sensor microcontroller such as Arduino, and other input/output devices, such as webcams and mobile phones. Users can employ the Revit API to use individual objects or families of objects to perform parametric object-family operations. Object-based parametric modeling is the foundation of BIM technology [22], and Dynamo can be used to bring procedural information into the BIM environment. A designer can perform Dynamo independently in defining the building process and modifying various architectural components in Revit. Dynamo enables designers to set up automated computing processes or platforms through a node-based visual compilation interface, so that designers can perform data processing and correlate structural and geometric parameter controls [23].  
Figure 1 shows our three-part platform design. The first part consists of the automation platform and the second part performs visualization.  
1. Actual buildings (campus): The campus includes buildings, and sensors and Arduino were deployed in indoor spaces to perform environmental data collection.
2. Virtual world (BIM model): After establishing a virtual 3D space and sensor locations, we input real environmental data into the virtual environment through Firefly.  
Figure 1: Visualization framework.  
Data reception and transmission: The Firefly suite is a set of computer code fragments employed to bridge the gaps between BIM-based parametric design software such as Dynamo or Grasshopper [17], a sensor microcontroller such as Arduino, and other input/output devices, such as webcams and mobile phones.
* Parameterization: Depending on decision-making goals in different situations, the operating rules of custom nodes were established using Dynamo, which includes a context view index (including comfort, energy saving, and the WELL Standard).
* Decision support: visualization layer input to the BIM model.  
The proposed platform's four modules consisted of sensor data collection, sensor data integration, parametric control mechanism, and visualization modules. Figure 2 shows the flow of data from generation by sensors to visualization by the BIM model's interface. The first step was use of the Dynamo environment to establish an Arduino link. The second step was to initiate the data visualization process (including context view index). The third step was to render graphs and the 3D results of graphing in the workspace. The last step was use of the Python programming language to conduct PMV (Predicted Mean Vote) analysis through the use of custom nodes.