## 3 Methodology
### Instantiating Bounded and Unbounded Spaces
#### 3.2.2 Procedure for Instantiation  
The detailed steps for the proposed method of instantiating unbounded half space entities are presented Figure 6 as follows: (1) Retrieving the unbounded half space entity; (2) retrieving the cutting plane, including its normal direction, a point on it, and the agreement flag; (3) defining the size of the imagined boundary for unbounded half space, for example, 100 by 100 m; (4) getting the closed ring, \(ring\), formed by the intersections of the cutting plane and lines that pass through vertices of the boundary and are perpendicular to the x-y plane; (5) obtaining the maximum and minimum value of the z-value, i.e., \(max\_z\) and \(min\_z\), of the \(ring\); (6) generating another two closed rings, i.e., \(ring\)\(1\) and \(ring\)\(2\). \(Ring\)\(1\), with a z-value of \((max\_z+\Delta)\), is parallel to the x-y plane; \(ring\)\(2\), with a z-value of \((min\_z-\Delta)\), is also parallel to the x-y plane. \(\Delta\) is the length of a buffer that is created to make the B-Rep sufficiently large in the \(z\)-axis direction; (7) transforming the coordinates of all rings to the world coordinate system used by the IFC project; (8) determining the ring couple, i.e., \((ring\)\(1\), \(ring\)) or \((ring\), \(ring\)\(2)\) to be used to regenerate B-Rep, depending on the value of _AgreementFlag_; (9) generating B-Rep using OSA. This strategy can also be applied to convert bounded half space entities, all steps remain the same, except Step 3 where the boundary size is exactly retrieved from IFC. Please note that it is important to ensure that the converted B-Reps are closed, since only closed B-Reps can be used in geometry operation [17].  
Figure 6: Steps for instantiating unbounded half space entities.  
The equation for calculating the _ring_ is as follows [24]:  
\[\left[\begin{array}{ccc}X&Y&Z\end{array}\right]=\left[\begin{array}{ccc}X&Y&AX_ {0}+BY_{0}+CZ_{0}\end{array}\right]\times\left(\left[\begin{array}{ccc}1&0&0 \\ 0&1&0\\ A&B&C\end{array}\right]^{T}\right)^{-1} \tag{1}\]  
where \([X,\ Y,\ Z]\) are coordinates for the _ring_, (\(A\), \(B\), \(C\)) is a normal direction to the cutting plane, (\(X_{0},\ Y_{0},\ Z_{0}\)) is a point on the cutting plane, and \([X,\ Y]\) are coordinates for vertices of the imagined boundary. The boundary size in the x-y plane and the buffer in the \(z\)-axis direction can be determined after examining the size of building components. A B-Rep for an unbounded half space can be considered sufficiently large as long as the boundary size and the buffer is larger than the maximum size of building components. A number of BIM models are needed to examine the size of building components. In this study, square boundaries were used, and the size of a boundary was measured by its length, for example, a boundary with a size of 100 m means a square boundary with a dimension of 100 by 100 m.  
Figure 7 provides an illustration of the imagined boundary for unbounded half space, as well as _ring_, _ring_ 1, _ring_ 2, and cutting plane. Four lines, from Line 1 to Line 4, are perpendicular to the x-y plane and go through the four corners of the imagined rectangular boundary, respectively. There are four intersections between these four lines and the cutting plane, which then form the _ring_. The maximum and minimum value of the z-value of these intersections are _max_z_ and _min_z_, respectively. The coordinates for _ring_ 1 and _ring_ 2 can be obtained by adding or subtracting a length of buffer, which are \([X,Y,\min\_z-\Delta]\) and \([X,Y,\max\_z+\Delta]\), respectively.