Content uploaded by Kian Wee Chen
Author content
All content in this area was uploaded by Kian Wee Chen on Dec 09, 2016
Content may be subject to copyright.
Automated Generation of BIM Models
Patrick Janssen1, Kian Wee Chen2, Akshata Mohanty3
1,3National University of Singapore 2CENSAM, Singapore-MIT Alliance for Re-
search and Technology, Singapore
1patrick@janssen.name 2kianwee@smart.mit.edu
3akshatamohanty@gmail.com
In early stages of architectural design, highly simplified minimal models are often
preferred while in the later stages maximal Building Information Models (BIM)
are required that include the relevant information for detailed design
documentation. This research focuses on the transition from minimal to maximal
models and proposes a semi-automated workflow that consist of two main steps:
analysis and templating. The analysis step starts with the minimal geometric
model and decorates this model with a set of semantic and topological attributes.
The templating step starts the decorated model and generates a transitional BIM
model which can then be readily altered and populated with high resolution
building information. A demonstration of two test cases shows the feasibility of
the approach.
Keywords: BIM, parametric modelling, interoperability
INTRODUCTION
Architectural design typically relies on different tools
at different stages of the design process. In the
early stages, minimal models that are highly simpli-
fied are often preferred, for two reasons. First, min-
imal models are easier to build, thereby minimis-
ing the 'sunk costs' for options that get discarded.
Second, minimal models are much faster to analyse
and simulate, thereby allowing designers to receive
timely feedback. In the later stages, maximal models
are required that include all relevant information for
detailed design documentation. Typically, Building
Information Models (BIM) are created that progres-
sively increase the amount of information, including
information from other design consultants and spe-
cialists (Eastman, 2008).
In the transition from minimal to maximal mod-
els, there is a key point when designers need to
switch from conceptual modelling tools to BIM tools.
Before this point, planar entities such as walls and
floor slabs may be modelled as single polygons and
linear elements such as columns and beams may be
defined as polylines. Once the switch is made to BIM
tools, entities need to be more precisely defined as
building elements, requiring them to be thickened
and materials and other details to be defined. We re-
fer to this as the materialisation process.
Materialisation Process
In this research, we focus on materialisation pro-
cesses where the tools used for conceptual mod-
elling differ from those used for BIM modelling. There
are cases where the conceptual modelling is per-
formed within the BIM tool, which then simplifies to
some extent the materialisation process. However,
designers often prefer to use different tools. Com-
BIM | Concepts - Volume 2 - eCAADe 34 |583
monly used tools include Trimble SketchUp and Mc-
Neel Rhino for conceptual design, and Graphisoft
ArchiCAD and Autodesk Revit for BIM modelling.
This research aims to explore the feasibility of
semi-automatically converting minimal geometric
models into transitional BIM models consisting of ex-
plicitly defined building elements, but with only lim-
ited building information. Although these models
may not yet be maximal in their information content,
their usefulness lies in the fact that they can be di-
rectly imported into existing BIM tools, where they
can be easily modified and further developed.
This materialisation process is currently difficult
to automate. For buildings designs with high levels of
repetition, this may not be an issue as the time taken
to manually remodel the design in the BIM tool is low.
However, if the design includes any more complex
non-repetitive configurations, then the remodelling
becomes time-consuming and error prone.
The aim of semi-automating this materialisation
process is to enable more fluid and flexible work-
flows that do not require BIM models to be manu-
ally recreated. However, this does not require the
whole modelling process to be fully automated. In-
stead, workflows need to be developed that min-
imise the effort required to remodel the design. As
a test case, the research will focus on a materialisa-
tion process in which the geometric models are im-
ported as DXF models, and the transitional BIM mod-
els are exported as Industry Foundation Classes (IFC)
models. The DXF file format is a commonly used data-
format for representing 3D geometry. The IFC file for-
mat (ISO 16739:2013) is an information-rich object-
based file format for representing building informa-
tion. The use of an open standardised file format en-
sures that the approach remains workflow agnostic,
allowing users to link together diverse tools and sys-
tems to support various forms of collaboration and
exchange.
One of the key requirement relates to the rep-
resentations used to model IFC elements. When
boundary representations are used, it becomes very
difficult to further modify and developed the model
using BIM tools. In contrast, when parametric rep-
resentations are used, the process of importing IFC
models into BIM tools generates native BIM elements
that retain their intelligent behaviour are therefore
easy to modify. The aim is therefore to use parametric
representations wherever possible, and to only revert
to boundary representations where it is absolutely
necessary.
Existing Approaches
Within the existing ecosystem of modelling tools and
plugins, there are a number of approaches that may
address some of challenges associated with the ma-
terialisation process. Three main approaches will be
briefly reviewed: geometric modelling tools that sup-
port IFC export, BIM modelling tools that support
geometric import, and graph-based parametric BIM
modelling systems.
Perhaps the most straightforward approach is to
use a geometric modeller that is capable of export-
ing IFC. One well know example is SketchUp, the Pro
version of which now supports IFC export. Using this
approach, the user simply models the building ele-
ments as objects in SketchUp, and then assigns an IFC
type to each of these objects. The downside with this
type of approach is twofold. First, the full 3D geome-
try must be modelled, and as result there is not really
any advantage over modelling it directly in the BIM
tool. Second, the resulting IFC elements are gener-
ated using boundary representations, which means
that they can no longer be easily modified once im-
ported into BIM tools.
Another approach is to import the geometric
model directly into a BIM tool, and then convert the
geometric entities to BIM elements. An example of
this is Revit, which allows geometric solids to be im-
ported as massing models into Revit. The faces of
the conceptual mass can then be selected and con-
verted to selected BIM elements such as walls and
slabs. The downside is that most BIM elements can-
not be created in this way. For example, openings
in the faces of solids can be imported, but cannot
be subsequently converted to Revit elements such as
584 |eCAADe 34 - BIM | Concepts - Volume 2
doors and windows.
A third approach is to consider using existing
parametric modelling tools as a platform for defin-
ing and customising the rules for the materialisation
process. Graph-based parametric modelling systems
such as McNeel Grasshopper [1], Bentley Generative-
Components [2], Autodesk Dynamo [3], and Sidefx
Houdini [4] could be used. A number of workflows
and plugins have been developed for generating BIM
models using such parametric modelling tools. In
general, there are two approaches: tightly coupled
and loosely coupled.
With the tightly coupled approach, systems are
coupled through the Application ProgrammingI nter-
face (API) provided by the BIM system. In this case,
graph-based systems communicate via the API of the
BIM system, directly instantiating geometry in the
BIM model each time the graph-based model is ex-
ecuted. There are numerous examples of this ap-
proach. Grasshopper has plugins for connecting to
both ArchiCAD (ArchiCAD Connection [5]) and Revit
(Hummingbird/Whitefeet [6]). Dynamo has a built-in
connection with Revit, and GenerativeComponents
has a built-in connection with AecoSIM [7]. The
downside of all these solutions is that they only work
with specific BIM tools and are therefore not work-
flow agnostic.
With the loosely coupled approach, systems are
coupled through model exchange. The graph-based
system typically generates an IFC model that can be
directly imported into the BIM system. An example
of this approach is the GeometryGym [8] plugin for
Grasshopper. In theory, it is possible for designers
to create their own customised materialisation pro-
cedures using a plugin like GeometryGym. However,
the downside would be the high complexity involved
in doing so. This is primarily due to the fact that
graph-based parametric modelling tools are not well
suited to creating such rule-based procedures. In
particular, the control flow of these types of proce-
dures is typically complex, with a heavy reliance on
conditional and looping constructs, for which graph-
based systems are not well suited.
Paper Overview
This research proposes a generalised system forsemi-
automating the materialisation process. The paper
consists of three main parts, with the first part de-
scribing a proposed system, the second part focusing
on a set of experiments, and the third part discussing
future challenge.
PROPOSED SYSTEM
A system for the semi-automated generation of tran-
sitional IFC models from geometric DXF models is
proposed. The proposed system focuses on typical
building elements such as slabs, roofs, walls, doors
and windows. These types of elements have the ad-
vantage that they can be defined using the paramet-
ric representations within IFC. In the proposed sys-
tem, the materialisation process is divided into two
parts: the analysis step and the templating step.
The analysis step starts with the geometric DXF
model and generates a new model that is enriched
with a set of semantic and topological attributes, re-
ferred to as the decorated model. The analysis rules
infer these attributes from the size, orientation, and
relationships between geometric entities in the DXF
model. Other than adding attributes, no changes are
made to the geometry by the analysis rules.
The templating step starts with the decorated
model and generates the transitional IFC model.
Each of the geometric entities in the decorated
model are mapped to parametrically defined objects
in the transitional IFC model. The template rules are
matched against geometric entities in the DXF model
based on attributes created in the analysis step. If a
rule matches, the IFC element specified in the rule is
added to the IFC model.
In general, the system is envisaged as a web-
based application that can be used to materialise
models. Figure 1 shows a materialisation process
consisting of four main steps: 1) upload the geomet-
ric DXF model; 2) execute the analysis rules; 3) cus-
tomise execute the templating rules; and 4) down-
load the transitional IFC model.
Step 3 is important as it allows the materialisa-
BIM | Concepts - Volume 2 - eCAADe 34 |585
Figure 1
Proposed system
for
semi-automating
the materialisation
process.
tion process to be customised to the needs of the de-
signer. The customised rules can take into account a
variety of factors, including the scale of the project,
the architectural design language, and the type of
construction. Through an iterative process of tweak-
ing rules, designers will over time be able to develop
libraries of personalised rules.
In step 4, the transitional IFC model is down-
loaded and imported into the BIM application, where
the IFC elements can be replaced with more complex
native BIM objects. There is therefore no expectation
that this materialisation process will create the whole
model. It is more likely that the process creates a BIM
model that can be readily populated with higher res-
olution information of the building project.
Geometric DXF Model to Decorated Model
The DXF model is assumed to contain highly simpli-
fied representations of a building following a set of
modelling conventions, using only planar polygons
and lines. Building elements such as walls, slabs,
doors and windows are represented using polygons,
while building elements such as columns and beams
are represented using lines. The analysis step first
assigns unique IDs to the entities in the model, and
then analyses the individual entities and their topo-
logical relationships.
For lines, attributes are created to store the
length and the direction vector. For polygons, at-
tributes are created to store the number of ver-
tices, perimeter, area, and normal vector. For poly-
gons, specific shapes are recognised, and a series
of Boolean attributes are created. These include is-
convex,is-rectangular and is-stable. A stable polygon
is defined as one whose lowest edge is horizontal.
Lines and polygons are also categorised according to
their angle of inclination, into one of four categories:
is-horizontal (0°), is-sloping (1 to 45°), is-leaning (46 to
89°), and is-vertical (90°).
The relationships between lines and polygons
are analysed for a given tolerance. For each type
of relationship, attributes are created with the at-
tribute value being a list of IDs of the entities in-
volved in the relationship. Contact relationships are
any lines or polygons that touch each other in some
way. Attributes are created for various types of con-
tact between points, edges, and faces. For poly-
gons, two additional types of relationships are co-
planarity and containment. Co-planarity refers to all
polygons that are co-planar to a given polygon, with
a single co-planar attribute being created for each
polygon. Containment refers to a relationship be-
tween co-planar polygons, where the interior of one
polygon completely contains another polygon. At-
tributes are created for both contained-by and con-
tains.
586 |eCAADe 34 - BIM | Concepts - Volume 2
Decorated Model to Transitional IFC Model
The templating step generates IFC elements from the
entities in the decorated model. This step starts by
creating the IFC spatial structure. The first three lev-
els of this spatial structure are predefined, and consist
of the IFCProject,IFCSite and IFCBuilding. Under the
building level, a number of IFCBuildingStories need
to be created. These building stories will contain all
the IFC elements that belong to that storey, including
slabs, walls, windows, columns and beams.
The templating step automatically groups the
geometric entities in the decorated model accord-
ing to building storeys they belong to. First, floors
are detected by identifying all horizontal polygons
with upward pointing normal. These floors are then
grouped into co-planar sets, and sorted according
to their z-heights in ascending order. These groups
then represent the building stories. The remaining
geometric entities in the model are then added to
these groups according to their topological relation-
ship to the floor polygons.
The geometric entities in each building storey
group are then processed, starting with the lowest
storey. For each group, an IFCBuildingStorey is cre-
ated and the geometric entities in the group are then
mapped to IFC elements using templating rules. The
templating rules have two parts: a pattern and a tem-
plate. The pattern part of the rule specifies the type
of geometric entity (either line or polygon) and a set
of attributes that the entity must have. The template
part of the rule specifies one or more IFC elements to
be instantiated.
The geometric representation of the IFC element
is generated based on the shape, position, and orien-
tation of the polygon or line. For example, an IFC wall
[9] can be represented using a number of parametric
representations. The Swept Solid representation of a
wall defines the solid wall object by sweeping a pla-
nar profile using either linear extrusion or revolution
techniques. The clipping representation defines the
solid wall object as a result of series of Boolean oper-
ations in a Constructive Solid Geometry tree. Finally,
the IFCWallStandardCase wall type is a parametric ob-
ject that defines a wall by the centre line and param-
eters that specify the width and height.
In addition, a number of settings are applied to
the IFC element. For example, for walls, the settings
include the thickness and materials of the wall, as
well as the position of the wall relative to the poly-
gon. (For example, the polygon may represent either
the wall centreline, the inner face or the outer face.)
As an illustrative example, a simplified version
of the templating rules for generating IFC walls are
shown below. In this case, the rules are designed to
identify polygons that are walls. Such polygons must
be stable, but the shape may vary, and it may be ver-
tical or leaning. These attributes will affect the rep-
resentation that is used. In addition, the 'contained-
by' attribute is used to distinguish between walls and
openings (such as doors and windows). For walls, the
'contained-by' attribute should be empty, while for
openings, it should contain an ID of the polygon in
which the opening is to be created.
•IF polygon is-stable,is-vertical,is-rectangular
and contained-by is empty THEN IFCWallStan-
dardCase, Representation=Curve2D.
•IF polygon is-stable,is-vertical and contained-
by is empty THEN IFCWallStandardCase, Rep-
resentation=Clipped.
•IF polygon is-stable,is-leaning,is-rectangular
and contained-by is empty THEN IFCWall, Rep-
resentation=SweptSolid.
•IF polygon is-stable,is-leaning and contained-
by is empty THEN IFCWall, Representa-
tion=Clipped.
Similar rules exist or generate other types of el-
ements. For example, rules for doors and win-
dows have patterns that match polygons where the
contained-by attribute is not empty. If a polygon is
contained by a wall and its lowest horizontal edge is
touching the lowest horizontal edge of the wall, it is
categorised as a door. Otherwise, if it is not touch-
ing the lowest horizontal edge of the wall, then it is
categorised as a window.
Default templating rules may initially be used,
BIM | Concepts - Volume 2 - eCAADe 34 |587
but designers need to be able to customise these
rules to suit their needs. Designers can make either
globalised or localised customisations. Globalised
customisations include general modifications to the
default setting. Localised customisations only apply
to certain subsets of elements, defined through the
use of layers in the DXF file. For example, the designer
may want to have a variety of different types of walls,
with different settings. In such a case, the wall poly-
gons can be placed on different layers, and templat-
ing rules can then be created that include the layer
name in the pattern. This then ensures that these
rules will only apply to polygons on those layers.
EXPERIMENTS
The feasibility of the proposed system is demon-
strated through a number of experiments in which
the creation of a set of analysis and template rules
were tested. These experiments used Rhino for the
conceptual modelling, Houdini for defining and exe-
cuting the rules, and ArchiCAD for importing the IFC
BIM model.
In these demonstrations, Houdini allowed for a
fast way of prototyping and testing rules. For gener-
ating IFC models, an exporter was implemented for
Houdini using the IfcOpenShell Python library. This
allows the exported IFC model from Houdini to be im-
ported into ArchiCAD, where plans and sections can
be generated.
House Example
In order to illustrate how these different rules mayop -
erate, a simple example may be considered, as shown
in Figure 2. The example is based on the IfcOpen-
House [10], where an extra level is added to increase
the complexity. The example consists of two floors,
six windows; three on each level, one door on the first
level and a roof at the top level.
In the analysis step, the DXF model imported
from Rhino is analysed and a decorated model is gen-
erated with additional attributes. For this example,
there are no columns and beams, and as a result the
model only contains polygons.
Figure 2
(a) House
conceptual model
in Rhinoceros3D (b)
House IFC model in
ArchiCAD (c)
Section generated
from the IFC model
in ArchiCAD.
In the templating step, the decorated model is con-
verted into a transitional IFC model. This step starts
by identifying all the floors as horizontal polygons
with upward pointing normal, of which there are two.
Since these floors are not co-planar, two separate
IFCBuildingStories are generated: a ground storey and
a first storey. The remaining entities in the geometric
model are then categories into the different building
588 |eCAADe 34 - BIM | Concepts - Volume 2
storeys, depending on the height of the polygons rel-
ative to the floors. This results in 8 polygons on the
ground floor (4 walls, 3 windows, and a door) and 9
polygons on the first floor (4 walls, 3 windows, and 2
roofs).
The templating rules are then applied to each
storey in turn, thereby generating the various IFC el-
ements for each floor. In most cases, the automated
mapping of the geometric entities to IFC elements
is straightforward. Walls are mapped to IFCWallStan-
dardCase, with a thickness of 200mm. Floors are
mapped to IFCSlab of type Floor, and roofs to IFC-
Slab of type Roof , both with a thickness of 300mm.
Windows and doors are mapped to IFCWindows and
IFCDoors respectively, with a thickness of 50mm. For
the windows and doors, an IFCOpeningElement also
needs to be added to the containing wall to define
an opening, with a thickness that is equal to that of
the wall.
The walls are slightly more complex due to the
fact that different representation are required for the
ground floor and first floor. On the ground floor, the
walls are constant height, so an IFCWallStandardCase
with a Curve2D representation can be used. In this
case, the wall height is determined by the distance
between the two floors. On the first floor, the walls
need to be connected to the sloping roof, and as a
result the walls vary in height. An IFCWallStandard-
Case with Clipped representation is therefore used.
Figure 2b shows the transitional IFC model imported
into ArchiCAD and Figure 2c showsa resolved section
generated from the IFC model.
Complex Tower Example
A similar procedure as the one used for the House ex-
ample is applied on a complex tower as shown in Fig-
ure 3. First, a minimal geometric model of a multi-
storey building was created using Rhinoceros3D.
In order to create additional complexity, a twist-
ing tower is generated by turning the floor plates
on each level (Figure 3a). In addition, columns and
beams are also added, modelled as vertical and hor-
izontal lines respectively. The default profile for the
columns is a 500mm diameter circle, while for the
beam it is a 500mmx500mm square.
Figure 3 shows how the minimal model can be
quickly translated into a transitional IFC model. Once
the IFC model is imported into a BIM application, it
can be readily altered and populated with higher res-
olution data, and used to generate a variety of plans
and sections for further development.
FUTURE WORK
The two test cases show the feasibility of a semi-
automated workflow for generating BIM models from
minimal conceptual models. However, there are
clearly many limitations that require further research
and exploration. The aim of this approach is to be
able to automate the generation of BIM models for
standard types of building elements and configu-
rations, thereby allowing architects and designers
to focus on the more complex parts of the mod-
elling. However, even the standard building ele-
ments present numerous challenges.
As an example, the issue of variable wall thick-
nesses may be considered. Figure 4 shows a plan
view of a wall intersection, with different wall thick-
nesses. In (a), the walls in the geometric model are
aligned, the designer may want the same alignment
to be maintained in the BIM model, so that the walls
remain flush. However, if the polygons in the geo-
metric model are assumed to represent the wall cen-
tre plane, then this will result in a misalignment, as
shown in (b) and (c). In order for the walls to end up
flush, the designer would have to misalign them in
the geometric model, as shown in (d). Such an ap-
proach would clearly be highly unintuitive.
An alternative approach would be to develop
more intelligent rules that could infer such condi-
tions. For example, the rule that generates the thin-
ner wall may be able to detect that by shifting the
wall slightly to the right, this misalignment can be
avoided. However, any such 'intelligent' behaviours
will also need to have overrides, just in case there is a
situation where a designer actually intends the walls
not to be flush.
BIM | Concepts - Volume 2 - eCAADe 34 |589
Figure 3
Complex tower
example. (a) The
minimal geometric
model in Rhino. (b
& c) The IFC model
imported into
ArchiCAD model.
(d) A section
generated from the
ArchiCAD model.
Figure 4
Misalignment of
walls connections
and intersections
due to varying wall
thickness. (a, b & c)
Polygon alignment
in the geometric
model result in a
misalignment of
the walls in the BIM
model. (d, e, &f )
Polygon
misalignment in the
geometric model
results in a
alignment of the
walls in the BIM
model.
The challenge is therefore how to keep the process
as a whole simple and intuitive for the designer. This
requires a balance between, on the one hand, more
advanced rules with intelligent inference, and on the
other hand, intuitive and simple ways for the de-
signer to override this intelligence. Future research
will explore how such a balance can be achieved.
REFERENCES
Eastman, C 2008, BIM Handbook: A Guide to Building In-
formation Modeling for Owners, Managers, Designers,
Engineers and Contractors, Wiley
Janssen, P and Stouffs, R 2015 'Types of Parametric Mod-
elling', Proceedings of the 20th International Confer-
ence of the Association of Computer-Aided Architec-
tural Design Research in Asia CAADRIA, Hong Kong,
pp. 157-166
Patrick, J 2014 'Visual Dataflow Modelling: Some
thoughts on complexity', Proceedings of the 32nd
eCAADe Conference, Newcastle, UK, pp. 547-556
Woodbury, R 2010, Elements of Parametric Design, Rout-
ledge, Oxon
[1] http://www.grasshopper3d.com/
[2] https://www.bentley.com/en/products/product-lin
e/modeling-and-visualization-software/generat
ivecomponents
[3] http://www.autodesk.com/products/dynamo-
studio/
overview
[4] https://www.sidefx.com/
[5] http://www.graphisoft.com/archicad/rhino-grassh
opper/
[6] http://www.grasshopper3d.com/group/hummingbird
[7] https://www.bentley.com/en/products/brands/aeco
sim
[8] https://geometrygym.wordpress.com/
[9] http://www.buildingsmart-tech.org/ifc/IFC4/fina
l/html/
[10] http://blog.ifcopenshell.org/2012/11/say-hi-to-
ifcopenhouse.html
590 |eCAADe 34 - BIM | Concepts - Volume 2