## 5 Application of Design Quality Checks Based on BIM
### Application of Rule-Based Quality Checking Software
#### 5.3.2 Development of Rule-Based Quality Check Software  
(1) Structure quality checking criteria  
The design check criteria (focused on regulation information) and methods should be defined based on the relevant regulations for a rule-based quality checking system. The defined design checking criteria should be coded for regulation checking by linking the BIM data and regulation code. Rule-based regulation checking progresses through the identification of the targets and contents of building objects in BIM data compared with the regulation code. The BIM property information contains the names of materials that have further applicable information for various disciplines. This property information is utilized to determine quality checking results in the rule-based quality checking system. Software can be communicated using a neutral format throughout the open BIM environment, such as IFC, which is an international standard [27; 36; 45]. Open BIM is a universal approach to the collaborative design, realization, and operation of buildings based on open standards and workflows [27]. IFC provides the definitions for additional property information through the development of a property set (PSET) in the extension of the concept model for the definition of additional attributes of the BIM [16; 36]. buildingSMART provides basic PSETs  
Figure 3: Example of quality check according to the space check criteria. (e.g., Pset_WallCommon) along with a methodology for defining additional properties for building objects. The PSETs and properties for applying the regulations (e.g., heat loss prevention criteria) are shown in Figure 4.  
(2) Development of rules through the SMC API environment  
As described above, SMC can be utilized for all of the developed quality check criteria. Therefore, this study uses SMC as the software for rule-based quality checking. Regulation information should be structuralized in conjunction with IFC for using rules that are related to regulations in the SMC [36; 46]. The rules have to be defined as a separate class (Java file) in the SMC Java API environment (See Figure 5), and the required properties and checking order must be defined with IFC structure and regulation contents [36]. This study focuses on heat loss prevention regulation checking criteria and generates the coded Java file from delimited rules (e.g., a check of building district, building uses, building envelope property, and thermal transmittance). Figure 4: Definition of rules for applying regulations (e.g., heat loss prevention criteria). Figure 5: Eclipse Interface defining rules for building envelope property definition. The thermal transmittance (U-value) is obtained by  
\[U(thermal transmittance,\ U-value)\Big{(}W/m^{2}K\Big{)}=\frac{1}{\sum\textit{ thermal resistance}} \tag{1}\]  
\[\textit{thermal resistance}\Big{(}m^{2}K/W\Big{)}=\frac{\textit{thickness}}{ \textit{thermal conductivity}\Big{(}\mathrm{kcal/m^{2}h^{\circ}C}\Big{)}} \tag{2}\]  
A new rule set that corresponds to the heat loss prevention criteria is generated with one of the rules (Java file) developed in the Rule Set Manager of SMC. The heat loss is obtained by  
\[Q=U\times A\times\Delta T \tag{3}\]  
\(A\): Surface area  
\(\Delta T\): Temperature difference (\(T1\), \(T2\))  
Regulation checking is then conducted in conjunction with the BIM data. It is necessary to continuously modify errors that occur through regulation checking; a final design can be derived after regulation checking is completed. In particular, final design checking criteria can be utilized by legality checking for building permission [4]. Figure 6 shows the rule-based quality checking result according to design check criteria. (3) Development of rule-based quality check software  
The development through the API environment of a specific program may cause problems such as limitations and dependencies of the API module. Therefore, in this research, we developed software that can develop the self-developed function and check it.