Content uploaded by Aikaterini Chatzivasileiadi
Author content
All content in this area was uploaded by Aikaterini Chatzivasileiadi on Sep 26, 2018
Content may be subject to copyright.
MoNGeometrija 2018, Novi Sad, Serbia
BESPOKE GEOMETRIC GLAZING DESIGN
FOR BUILDING ENERGY PERFORMANCE ANALYSIS
Nicholas Mario Wardhana1, Aikaterini Chatzivasileiadi2, Wassim Jabi3,
Robert Aish4, Simon Lannon5
1Cardiff University (UNITED KINGDOM), WardhanaN@cardiff.ac.uk
2Cardiff University (UNITED KINGDOM), ChatzivasileiadiA@cardiff.ac.uk
3Cardiff University (UNITED KINGDOM), JabiW@cardiff.ac.uk
4University College London (UNITED KINGDOM), robert.aish@ucl.ac.uk
5Cardiff University (UNITED KINGDOM), lannon@cardiff.ac.uk
Abstract
Geometry has been found to be one of the main architectural design issues that architects are
concerned with when they assess the energy performance of their models through the use of Building
Performance Simulation tools. Accurate geometry, coupled with correct energy analysis settings, can
avoid errors and provide more accurate results which are among the highest priorities for architects and
engineers. Current energy analysis tools commonly use the window-to-wall ratio method to provide a
fast and automatic way of modelling glazing, including on multiple surfaces instantaneously. However,
this method is prone to geometrical inaccuracies in terms of the size and the location of the glazing,
which can in turn contribute to the energy performance gap between modelled and monitored buildings.
In addition, simultaneous glazing on multiple surfaces might not be entirely supported in existing
applications for complex models. To alleviate these challenges, this paper presents a mechanism for
creating a bespoke glazing design on curved surfaces based on the concept of UV-mapping. The glazing
can be designed on a 2D planar vector drawing as a set of interconnected curves, either as straight
lines or B-Splines. These curves are then mapped unto the UV space of the subdivided and planarised
input wall as the glazing. It is hypothesised that a building model with a bespoke glazing design, while
more time consuming, allows a more aesthetically representative and geometrically accurate glazing
design than one with glazing based on the window-to-wall ratio method, thus minimising the energy
performance gap.
Keywords: architectural design, 3D modelling, parametric surfaces, glazing design, energy analysis.
1 INTRODUCTION
Geometry has been found to be one of the main architectural design issues that architects are
concerned with when they assess the energy performance of their models through the use of Building
Performance Simulation (BPS) tools [1]. While complex and curved geometry is increasingly used in
modern architectural practice, energy simulation experts struggle to convert that geometry into analytical
models appropriate for BPS tools. Two main geometrical issues plague this process. Firstly, BPS tools
commonly require planar geometry and thus curved geometry requires segmentation and planarisation
procedures before export. While it is beyond the scope of this paper, in a prior publication, the authors
identified and analysed geometrical and topological constraints imposed by the energy analysis tools
and detailed several points of failure [2].
Secondly, the modelling of bespoke glazing design is very difficult to translate accurately to analytical
models and thus workarounds are invented. One of the most common workarounds for representing
glazing design is to omit it from the analytical model altogether and replace it with a simple window-to-
wall ratio, also known as the glazing ratio, to be used in the energy analysis calculations [3]. However,
this method is prone to geometrical inaccuracies in terms of the size and the location of the glazing,
which can in turn undermine confidence in model predictions, contributing to the energy performance
gap between modelled and monitored buildings [4]. In addition, although the use of the glazing ratio
method might be a convenient way to assign glazing on multiple surfaces instantaneously, this option
might not be entirely supported in existing applications for complex models. For example, OpenStudio
[5], which uses the EnergyPlus energy analysis engine [6], is not capable of applying glazing ratio to
complex models including sloped and curved surfaces. Thus, other tools would need to be used (e.g.
MoNGeometrija 2018, Novi Sad, Serbia
multi face offset SketchUp plugin), which–according to past experience–can present several
shortcomings including distorted geometry and stability issues.
To alleviate the challenges surrounding the current tools’ inflexibility as well as the performance gap, it
is crucial to have a more geometrically representative glazing design in building models. This paper
therefore presents a method to create a bespoke glazing design and apply it on curved surfaces. At the
core of this mechanism is the geometric mapping of a glazing design to the wall surface in their
parametric spaces, coupled with surface planarisation and subdivision. Because the mechanism is not
based on projection, it is not necessary to have a restriction on the location and orientation of the glazing
design plane. In addition, it is possible to reach concealed portions of the wall, for example those on a
concave wall partially hidden by other wall parts, which are otherwise inaccessible using the projection
method. The presented mechanism can be used to create a building model that abides to EnergyPlus’
geometric and topological constraints.
The rest of this paper is organised as follows. Section 2 presents a summary of geometric and
topological constraints of an EnergyPlus-compliant building model, based on the authors’ earlier work.
Section 3 introduces Non-Manifold Topology (NMT) terminologies and data structures which are used
in this paper, whereas Section 4 presents a workflow to create a building model with bespoke glazing.
Section 5 presents a study case of applying a glazing design to a building model, and how this model
compares to a conventional glazing design process. Finally, Section 6 discusses the advantages and
limitations of the presented bespoke glazing design and mentions a few directions towards future
improvements.
2 AN ENERGYPLUS-COMPLIANT MODEL
As compiled in the authors’ earlier work [2], EnergyPlus requires that a building model satisfies 14
geometric and topological constraints. Efforts must therefore be taken to ensure that the final result of
the mechanism adheres to these constraints. These constraints are listed in Table 1. All constraints
except G6 will be addressed in this paper, and the IDs will be used as a cross-reference in the algorithm
description whenever a constraint is satisfied.
Table 1. Geometric and topological constraints imposed to a building model by EnergyPlus
ID
Constraint Type
Description
G1
Geometric
Walls must not have holes.
G2
Geometric
The glazing should be an extra topology.
G3
Geometric
The glazing should be either a triangle or rectangle.
G4
Geometric
Each space and surface is preferably convex.
G5
Geometric
Curves are to be avoided.
G6
Geometric
The normal of a roof overhang should point downward.
T1
Topological
The glazing must be attached to a wall.
T2
Topological
The glazing must be co-planar to the wall.
T3
Topological
Every glazing must not touch each other.
T4
Topological
Every glazing must not share two edges with walls, floors, or roofs.
T5
Topological
There must not be a wall that is entirely covered by glazing.
T6
Topological
Glazing must not be located inside another surface.
T7
Topological
Surfaces from adjacent spaces must not overlap.
T8
Topological
Heat transfer between spaces is not computed if there is not a shared
surface.
MoNGeometrija 2018, Novi Sad, Serbia
3 TERMINOLOGIES: NON-MANIFOLD TOPOLOGY
The glazing design system uses the Non-Manifold Topology (NMT) data structures and algorithms,
which have been found to be suitable for the integration of energy analysis tasks in early building design
stages [7]. Based on a review by the authors on existing literatures and software libraries [8], the NMT
framework used in this paper comprises of the following elements.
Vertex: a topological equivalent of a point.
Edge: a topological equivalent of a curve in the 3D space, which can be straight (a line) or curved.
Wire: a collection of interconnected edges, either closed or open.
Face: a topological representation of a surface, either flat or undulating, in the 3D space. For each
face, its 2D parametric space called the UV space is defined. Without loss of generality, it is
assumed that the UV space of a face is normalised between the parametric boundaries of [0, 1] x
[0, 1]. A face is bounded by one external wire, and may be bounded by internal wires, implying
holes.
Shell: a set of interconnected faces touching at their edges.
Cell: a topological representation of an enclosed space. A cell is bounded by one external shell,
and may be bounded by internal shells, implying holes.
CellComplex: a group of cells connected at their faces.
Cluster: a group of heterogeneous entities which may be disjoint.
In this paper, internal and external building walls, roofs, and floors are represented as faces. Similarly,
the glazing pieces are modelled as faces that are coplanar to and attached to the parent wall. As shown
in Fig. 1 [9], the NMT elements are inter-related in a hierarchy such that a topological element may
contain one or more its immediate lower-dimensional elements. NMT allows an edge to border more
than two faces, which means a face can also bound more than one enclosed internal spaces. This
topological relationship and connectivity among the various elements of a topological structure enable
a consistent and systematic building modelling paradigm. In addition, as will be demonstrated in Section
4, the glazing framework can also be integrated with various NMT operations, such as the slice
operation. Performing this operation in the NMT preserves the adjacency information of various building
storeys, which can be represented as cells in a cell complex. In addition to the 3D topological elements,
it is also helpful to define some of their 2D counterparts. Specifically, this paper uses VertexUV, EdgeUV,
WireUV, and FaceUV, which respectively are the equivalents of Vertex, Edge, Wire, and Face in the UV
space.
4 CREATING A BUILDING MODEL WITH BESPOKE GEOMETRIC GLAZING
DESIGN
The presented bespoke geometric glazing design will be explained with a demonstration to create a
building model. This section introduces a workflow to design an idealised and simplified model of the
London City Hall building, which was designed by Foster and Partners, as it exemplifies a complex
building with curved walls. It should be noted that while the general dimensions of the model are similar
to that of the real building, the idealised model lacks the geometric details of its real-world counterpart,
including the same glazing.. The glazing framework is implemented upon an NMT kernel called
Topologic, which the authors are currently developing as a plugin to parametric modelling software
applications. One of these applications is Autodesk Dynamo, which here is used as an interface to
create the building model. Topologic itself is powered by data structures and operations provided by the
Open CASCADE Technology (OCCT) library [10].
Algorithm 1 and Fig. 2 present a mechanism to create the London City Hall model with bespoke
geometric glazing design. This mechanism consists of five main steps.
1. The user creates a target wall and a glazing design. These structures will be the primary inputs
to the bespoke glazing design mechanism (Fig. 2(a), line 1 in Algorithm 1, will be discussed in
Section 4.1).
MoNGeometrija 2018, Novi Sad, Serbia
Fig. 1. The NMT elements hierarchy [9]
1. CellComplex CreateBuildingWithGlazing(Face targetWall, Face glazingDesign) {
2. Face targetWallWithGlazing = ApplyGlazing(targetWall, glazingDesign);
3. Face[] wallPanelsWithGlazing = SubdivideAndPlanarise(targetWallWithGlazing);
4. CellComplex building = CreateABuilding(wallPanelsWithGlazing, ...);
5. return building; // send to OpenStudio/EnergyPlus
6. }
Algorithm 1. The general pseudocode to create a building model with bespoke geometric glazing design. Only the
primary arguments are shown for conciseness. Additional arguments will be shown in the individual algorithms.
Fig. 2. A workflow to create the idealised London City Hall model with bespoke glazing for energy analysis. (a) The
input curved target wall and glazing design. (b) The glazing design is applied to the target wall. (c) The wall and its
glazing are subdivided and planarised into a set of wall panels. The glazing is mapped to the corresponding wall
panel, triangulated, and scaled down by a tiny factor against the panel’s boundary. (d) The wall is capped at the
bottom and the top to create a closed shape and sliced into multiple stories. In (b), (c), and (d), the building is slightly
scaled down for visualisation purposes to avoid rendering otherwise co-planar surfaces. (e) The building model is
sent to OpenStudio/EnergyPlus for energy analysis.
2. The glazing design is mapped to the target wall (Fig. 2(b), line 2 in Algorithm 1, will be discussed
in Section 4.2).
3. The wall is subdivided and planarised into a number of flat wall panels. The glazing undergoes
the same subdivision and planarisation, and each piece of the subdivided glazing is
subsequently mapped to the containing panel. The mapped glazing is then triangulated and
scaled down by a very small factor (Fig. 2(c), line 3 in Algorithm 1, will be discussed in Section
4.3).
4. Other modelling operations can be applied to the wall panels. In this case, the planarised wall
is capped at the top and the bottom to close the building model, which is subsequently sliced
into multiple stories (Fig. 2(d), line 4 in Algorithm 1, will be discussed in Section 4.4).
MoNGeometrija 2018, Novi Sad, Serbia
5. The resulting planarised wall can then be used to create the model of the whole building, which
can be passed to the EnergyPlus energy analysis toolkit (Fig. 2(e), line 5 in Algorithm 1).
4.1 The target wall and the glazing design
The presented bespoke glazing design workflow have two primary inputs. The first input is a target wall,
which is represented as a parametric face, and can be flat or undulating. In addition, the wall may also
be closed along one or both dimensions on its parametric space. Fig. 2(a) shows the curved wall of the
model, which was created by performing a loft through a set of vertically stacked circles. This wall is
closed on the horizontal direction but open vertically, with holes at the top and the bottom of the wall.
The second input is a glazing design, an example of which is depicted in Fig. 3. A glazing design is a
2D face with by a rectangular outer boundary wire, which corresponds to the target wall border. It is
suggested that the dimension of this rectangle is proportional to the (unwrapped, if closed in any
direction) target surface’s aspect ratio for intuitiveness. The glazing design also contains inner boundary
wires, which will be mapped to the target wall as its glazing. The inner boundaries are a closed collection
of edges which are represented as parametric curves, which can represent straight and curved lines.
The edges in each inner boundary must be non-intersecting, in a way that the inner boundary itself
encloses a simple polygon with a continuous area. This glazing design can be constructed inside a
parametric modelling software application such as Dynamo, as presented in this paper, or can be
created in and imported from vector graphics application as a vector drawing.
Fig. 3 An example of the user-created glazing design with two inner boundaries. The upper inner boundary consists
of only straight edges, whereas the lower inner boundary consists of only curved edges.
4.2 Applying a glazing design to the target wall
The application of the glazing design to a target wall is based on the concept of UV-mapping [11], which
maps points in a 2D space to a 3D surface. This technique is widely used in the field of Computer
Graphics, including in the computer games and animation industries, to map a 2D rasterised texture
image from its local 2D coordinate system to a surface in the 3D space. Such mechanism facilitates
texture designers to easily and intuitively author a texture design in the 2D space, rather than making
such design directly on the 3D surface. The glazing application step uses the same principle to benefit
from the same design intuitiveness. As opposed to the original method, however, the difference lies in
the application to the inner boundaries of the glazing design, which are parametrically represented.
Algorithm 2 shows the glazing application algorithm. Given a target wall and a glazing design, the latter’s
inner boundaries are retrieved (line 2). For every curve in the boundary (lines 3-6), a number of points
are regularly sampled along the curve (line 7). For each sample point, its normalised UV coordinate on
the glazing design is calculated (line 8; here a UV object is simply a collection of two floating points).
The UV coordinates of the sample points are subsequently mapped to the target wall to create its sample
points counterpart (line 9). From these sample points, a curve can be created by interpolation (lines 10-
11). Once all the curves from the same inner boundary are mapped, a surface can be created by clipping
the target wall against this mapped boundary (lines 13-14). It should be noted that these steps do not
create a hole in the target wall, rather simply extracting a portion of the wall bounded by the
aforementioned boundary. Finally, this clipped face will be the glazing and attached to the target wall
(line 15). Fig. 2(b) shows the result of applying the glazing design in Fig. 3 to the surface in Fig. 2(a). At
this point, both the target wall and glazing may be curved and do not yet comply with EnergyPlus’
constraints.
MoNGeometrija 2018, Novi Sad, Serbia
1. Face ApplyGlazing(Face targetWall, Face glazingDesign, int numOfSamples) {
2. Wire[] glazingDesignInnerWires = glazingDesign->InnerWires();
3. foreach(Wire glazingDesignInnerWire in glazingDesignInnerWires) {
4. Edge[] glazingDesignInnerWire = glazingDesignInnerWire->Edges();
5. Edge[] mappedGlazingEdges = {};
6. foreach(Edge glazingDesignEdge in glazingDesignEdges) {
7. Vertex[] sampleVertices = SamplePoints(glazingDesignEdge, numOfSamples);
8. VertexUV[] uvSampleVertices = glazingDesign->
ParameterAtVertices(sampleVertices);
9. Vertex[] sampleVerticesOnWall = targetWall->
PointsAtParameters(uvSampleVertices);
10. Edge mappedGlazingEdge = Interpolate(sampleVerticesOnWall);
11. mappedGlazingEdges->Add(mappedGlazingEdge);
12. }
13. Wire mappedGlazingWire = CreateWireByEdges(mappedGlazingEdges);
14. Face mappedGlazing = CreateFaceByClipping(targetWall, mappedGlazingEdges);
15. targetWall->AddGlazing(mappedGlazing);
16. }
17.
18. return targetWall;
19. } Algorithm 2. Applying a glazing design to a target wall
4.3 Wall and glazing subdivision and planarisation
The procedure presented in this section is crucial in making the wall as well as its glazing comply with
EnergyPlus’ restrictions. Specifically, the final wall must entirely contain convex planar panels, with the
glazing modelled as a set of non-touching triangles attached to their parent faces. Algorithm 3 shows
the steps to realise such a model.
Given a target wall with glazing (line 1), which is the output of the procedure discussed in Section 5.2,
a grid is created in the UV space with the grid vertices provided by pairing the input u and v values (line
2). This grid represents the subdivision of the target wall in its UV space. The vertices are stored in a
2D array, indexed by the positions of the u and v values in the respective lists. If the surface is closed
in one direction, the vertices at the final end (u or v equals 1) are not duplicated as these would be the
same as the vertices at the other end (u or v equals 0).
The corresponding points on the surface are subsequently retrieved (line 3) and planarised (line 4). The
planarisation step uses the ShapeOp library [10], which is based on an iterative local and global
constraint optimisation process. The planarisation strategy used in this paper involves attaching two
kinds of constraints to various subsets of the grid vertices. Firstly, the closedness constraint is applied
to all the grid vertices to prevent excessive deviation. A higher weight is given to vertices at the boundary
of the target wall to allow more displacement flexibility to vertices elsewhere. Secondly, planarity
constraint is applied to every set of 4 nearby vertices which bound an enclosed rectangular area in the
UV space, referred to as a wall panel. This planarisation results in a set of convex quadrilateral wall
panels, each bounded by 4 straight edges. If enough iterations were performed, the wall panels will be
approximately flat with a minor planarity error. The actual creation of the wall panels is deferred to line
18 so that they can be correctly mapped to the glazing.
Once the wall panels are created, the subdivision and planarisation processes are then applied to the
glazing. Lines 7-14 iterate through all the glazing in the target wall. Vertices along the glazing boundary
are sampled (line 11) and mapped to the target wall’s UV space (line 12). The algorithm then
systematically iterates through the wall panels by their u and v indices and constructs the glazing for
each panel (lines 16-28). At this point it is necessary to map the UV coordinates of the glazing vertices,
which are normalised and valid within the original target wall’s UV space, to the wall panel’s UV space,
which may be different. This can be done by performing a bilinear mapping between the glazing vertices
to the wall panel, taking into account the UV coordinates of the panel’s corners in the original target wall
(line 19).
MoNGeometrija 2018, Novi Sad, Serbia
1. Face[] SubdivideAndPlanarise(Face targetWallWithGlazing, double[] uValues,
double[] vValues, int numOfIteration, int numOfSamples) {
2. VertexUV[][] uvGridVertices = CreateUVGrid(uValues, vValues);
3. Vertex[][] gridVertices = targetWallWithGlazing->PointAtParameters(uvGridPoints);
4. Vertex[][] planarisedGridVertices = Planarise(vertices, numOfIteration);
5. Face[] wallPanels = {};
6.
7. VertexUV[][] uvAllGlazingVertices = {};
8. Face[] glazingFaces = targetWallWithGlazing()->Glazing();
9. foreach(Face glazingFace in glazingFaces) {
10. Wire glazingWire = glazingFace->OuterWire();
11. Vertex[] glazingVertices = SamplePointsOnEachEdge(glazingWire, numOfSamples);
12. VertexUV[] uvGlazingVertices = targetWallWithGlazing->ParameterAtVertices
(glazingVertices);
13. uvAllGlazingVertices->Add(uvGlazingVertices);
14. }
15.
16. for(int i = 1 to uValues->Size() - 1) {
17. for(int j = 1 to vValues->Size() – 1) {
18. Face wallPanel = CreateFaceByVertices(planarisedGridVertices[i][j],
planarisedGridVertices[i+1][j],
planarisedGridVertices[i+1][j+1],
planarisedGridVertices[i][j+1]);
19. VertexUV[][] uvMappedGlazingVertices = BilinearMapping(wallPanel,
uvAllGlazingVertices);
20. FaceUV[] uvMappedGlazing = CreateFaceUVByVertexUVs(uvMappedGlazingVertices);
21. FaceUV[] uvClippedGlazing = Clip(uvMappedGlazing, uvGlazingVerticesAllPanels);
22. FaceUV[] uvTriangulatedGlazing = Triangulate(uvClippedGlazing);
23. FaceUV[] uvScaledDownGlazing = ScaleDown(uvTriangulatedGlazing);
24. Face[] glazing = CreateFaceByUVClipping(wallPanel, uvScaledDownGlazing);
25. wallPanel->AddGlazing(glazing);
26. wallPanels->Add(wallPanel);
27. }
28. }
29.
30. return wallPanels;
31. } Algorithm 3. Subdividing and planarising a wall and its glazing
To find the portions of the mapped glazing inside the wall panel, a polygon clipping technique called
Vatti clipping algorithm is used [12] (line 21). Its implementation is provided by the General Polygon
Clipping (GPC) library [13]. It is possible that one glazing piece is clipped into more than one pieces if it
exits and re-enters a wall panel. The left figure in Fig. 4 shows the result of clipping the glazing against
the wall panels. At this point the glazing may be in the form of a polygon more complex than a triangle
or a rectangle, as EnergyPlus requires. Therefore each glazing piece is then triangulated using the Ear
Clipping triangulation [14], with implementation from Mapbox’s Earcut.hpp [15] (line 22). The
triangulated glazing pieces are then scaled down by a very small factor to prevent them from touching
each other as well as the boundaries of the wall panels (line 23). From these glazing pieces in the UV
space, the 3D glazing can be created as a set of faces by clipping the wall panel against the UV
coordinates. This triangulated glazing is finally applied to the wall panel. The figure on the right in Fig. 4
shows that the scaling process creates tiny gaps between the triangular glazing faces.
The result of this algorithm, as depicted in Fig. 2(c), is a set of wall panels as well as the applied glazing
with the following characteristics.
- The wall panels are approximately planar, convex quadrilateral without holes, and bounded by
straight lines (satisfying constraints G1, G4 (partially), and G5).
- The glazing is formed by a separate geometry independent from, but co-planar and attached to the
wall panel (satisfying constraints G2, T1, and T2).
- Because of the scaling down step, each glazing face is a triangle which neither touches other
glazing faces nor the boundary of the wall panel (satisfying constraints G3, T3, T4, and T5).
- Each glazing face does not contain another glazing face (satisfying constraint T6).
MoNGeometrija 2018, Novi Sad, Serbia
Fig. 4. Left: The result of subdividing and planarising the wall and the glazing. Right: The glazing triangulation and
scaling down steps result in triangular glazing faces shows the tiny gaps between the faces.
4.4 Other modelling operations
To create the final model, the wall panels constructed at the previous section were capped to close the
holes at the top and the bottom to create a cell. This cell is then sliced by a cluster of eight planes.
Because the NMT framework is used, the slice operation does not divide the cell into multiple disjoint
pieces. Instead, it results in a cellcomplex, with the portions from the slicing panels being introduced to
the building as its floors. As these operations are performed, the glazing information is carried across
with proper mapping from the panels of the old model to the new one. This is enabled by OCCT’s
historical information that keeps track of the generated, modified, or deleted sub-entities after the
operation. Within the cellcomplex, adjacent cells (e.g. building stories) are bounded by their shared
faces (e.g. floors and ceilings), therefore satisfying constraints T7 and T8. Connection to OpenStudio is
provided via the DSOS toolkit [7], which converts the Topologic cellcomplex-representation of a building
into an OpenStudio model. The wall panels and glazing faces are respectively converted to
OpenStudio’s surfaces and subsurfaces.
5 COMPARISON OF THE WINDOW-TO-WALL RATIO METHOD AND THE
BESPOKE GLAZING DESIGN
It is beyond the scope of this paper to analyse and comment on the energy performance of using a more
accurate representation of glazing design rather than the simplified wall-to-glazing ratio. In addition, a
rigorous analysis would require measured data on a real building to which one can compare the results
of various analytical models. Yet, one can derive some conclusions from the geometric results of the
two approaches.
Fig. 5 and Table 2 show a comparison between two London City Hall models. The model at the left-
hand side of the image shows a London City Hall model with the glazing designed using a window-to-
wall ratio. There is no unique way to geometrically interpret this ratio, however here the glazing was
created by scaling down the parametrically rectangular wall panels to smaller rectangles with an area
equal to the window-to-wall ratio. This small rectangle was subsequently triangulated (i.e. converted into
two triangles) and applied as a subsurface. With this method, all wall panels would have parametrically
identical glazing without much geometric variation. The right-hand side model, on the other hand, was
designed using the workflow presented in Section 4. As shown in Table 2, both models have the same
total glazing ratio, which is roughly 54.14%. It can be clearly seen that the presented bespoke geometric
glazing method introduces a more geometrically representative glazing design. The different glazing
modelling paradigms are also apparent: whereas the window-to-wall method assumes the glazing
geometry from a given glazing ratio, the bespoke glazing mechanism calculates the glazing ratio from
the input glazing design. The latter approach, therefore, provides a framework for architects to
experimentally and creatively explore various glazing designs in the early design stage. In terms of
simulation time, the model with bespoke glazing has more subsurfaces (674) than those on the model
with the window-to-wall ratio (360). This accounts for a longer simulation time of 149.34 seconds, against
67.96 seconds with the other model.
MoNGeometrija 2018, Novi Sad, Serbia
Fig. 5. A comparison between the London City Hall model with the glazing defined by (left) window-to-wall ratio and
(right) the bespoke design.
Table 2. Statistics of the London City Hall models with glazing designed with the two methods
Comparison
Glazing design method
Window-to-wall ratio
Bespoke geometric glazing
Glazing ratio
54.14%
54.14%
Number of wall surfaces
180
180
Number of subsurfaces (glazing
faces)
360
674
EnergyPlus simulation time (in
seconds)
67.96
149.34
6 FUTURE WORK
A few directions can be considered to improve the current framework. Because the glazing mapping is
based on vertex sampling on glazing edges, the mapping resolution and accuracy depend on the
number of sampling. A small number of samples will result in a non-representative mapping, whereas
a large number of samples will create an equally large number of glazing pieces. It may be worthy to
investigate if an exact procedure to create a B-Spline curve on a curved surface [16] will help mitigate
the need for a trade-off. Apart from that, the current triangulation method creates a large number of
slivers (thin triangles) with small areas (under 0.1 m2), which, as shown in Fig. 6, have to be removed
due to OpenStudio’s requirements. Out of the 1096 triangular glazing faces, 422 slivers were removed,
which amounted to roughly 38.5% of the original number of glazing faces. If the triangulation result is
dominated by slivers, the energy simulation error may accumulate. To alleviate this, it may be useful to
device a constrained triangulation strategy which introduces points inside the original glazing to
minimise the creation of slivers and restrict the minimum face area to be 0.1 m2. In addition, a post-
processing step to union the glazing faces may also be employed as long as the result is still a triangle
or a rectangle. This will reduce the sliver occurrences as well the total number of the glazing faces.
The current implementation does not support slicing glazing faces, which will be an essential feature in
the improved framework. Performing this requires not only slicing the geometry of the glazing, but also
remapping the portions of the glazing to the correct wall panels, which are also sliced. Finally, it is
interesting to include a capability to handle walls with holes, which imposes a challenge in the
construction of an Open Studio-compatible model.
MoNGeometrija 2018, Novi Sad, Serbia
Fig. 6. Some slivers (inside the yellow circles) created by the triangulation procedure performed in Dynamo (left)
had to be removed when the building was converted to an OpenStudio model (right, visualisation in Sketchup).
Once these improvements are made, further studies involving real building data will be useful to evaluate
the accuracy of the presented glazing design method over the conventional glazing design by window-
to-wall ratio. In these studies, the glazing as well as the whole building model will be designed to match
the actual building as precise as possible. A comparison will then be done and an analysis will be
performed between the energy analysis results of the models with glazing ratio, the presented bespoke
glazing mechanism, as well as the monitored data from the actual building.
ACKNOWLEDGMENTS
This project is funded by a Leverhulme Trust Research Project Grant (Grant No. RPG-2016-016).
REFERENCES
[1] Attia, S., Hensen, J. L. M., Beltrán, L., De Herde, A. (2012). Selection criteria for building
performance simulation tools: contrasting architects’ and engineers’ needs. Journal of Building
Performance Simulation 5(3), pp. 155–169.
[2] Chatzivasileiadi, A., Lannon, S., Jabi, W., Wardhana, N. M., Aish, R. (2018), Addressing
pathways to energy modelling through non-manifold topology, to be presented in SimAUD 2018.
[3] Smith, L., Bernhardt, K., Jezyk, M. (2011), Automated Energy Model Creation for Conceptual
Design, in Symposium on Simulation for Architecture and Urban Design, pp. 53–60.
[4] van Dronkelaar, C., Dowson, M., Spataru, C., Mumovic, D. (2016). A Review of the Regulatory
Energy Performance Gap and Its Underlying Causes in Non-domestic Buildings. Frontiers in
Mechanical Engineering 1, pp. 1–14.
[5] Guglielmetti, R., Macumber, D., Long, N. (2011). OpenStudio: An Open Source Integrated
Analysis Platform, in Building Simulation 2011: 12th Conference of International Building
Performance Simulation Association, pp. 442–449.
[6] Crawley, D. B., Lawrie, L. K., Army, U. S., Champaign, C., Curtis, I., Pedersen, O., Winkelmann,
F. C. (2000). EnergyPlus: Energy Simulation Program. ASHRAE Journal 42(4), pp. 49–56.
[7] Jabi, W. (2014). Parametric spatial models for energy analysis in the early design stages, in
Proceedings of the Symposium on Simulation for Architecture & Urban Design, pp. 17–24.
[8] Chatzivasileiadi, A., Wardhana, N. M., Jabi, W., Aish, R., Lannon, S. A Review of 3D Solid
Modeling Software Libraries for Non-Manifold Modeling. Manuscript submitted for publication.
[9] Jabi, W., Soe, S., Theobald, P., Aish, R., Lannon, S. (2017). Enhancing parametric design
MoNGeometrija 2018, Novi Sad, Serbia
through non-manifold topology. Design Studies 52, pp. 96–114.
[10] Open Cascade SAS. (2018). Open CASCADE Technology. [Online]. Available:
https://www.opencascade.com/.
[11] Catmull, E. E. (1974). A subdivision algorithm for computer display of curved surfaces. PhD
Thesis. University of Utah.
[12] Vatti, B. R. (1992). A generic solution to polygon clipping. Communications of the ACM 35(7),
pp. 56–63.
[13] Murta, A. (2014). GPC - General Polygon Clipper library. [Online]. Available:
http://www.cs.man.ac.uk/~toby/gpc/.
[14] Held, M. (2001). FIST: Fast Industrial-Strength Triangulation of Polygons. Algorithmica 30(4), pp.
563–596.
[15] Mapbox. (2018). Earcut.hpp. [Online]. Available: https://github.com/mapbox/earcut.hpp.
[16] Renner, G., Weiß, V. (2004). Exact and approximate computation of B-spline curves on surfaces.
Computer-Aided Design 36(4), pp. 351–362.