Content uploaded by Robert Aish
Author content
All content in this area was uploaded by Robert Aish on Feb 09, 2017
Content may be subject to copyright.
Spatial Information Modeling of Buildings using
NonManifold Topology with ASM and DesignScript
Robert Aish, Aparajit Pratap
Autodesk
Abstract. Much of the discourse in architectural geometry has focused on the
geometric design and physical optimisation of the material ‘Building Model’,
specifically the building structure and envelope, and the digital fabrication of
facades. In this paper we want to “go behind the façade” and consider
architecture not so much as a physical building model, but at a more abstract
level, as the ‘enclosure of space’. The intent is to explore related geometric and
topological concepts which can be the foundation of appropriate computational
design tools. The objective of these tools is to support the design of a ‘spatial’
architecture and the use of the spatial analysis of building models in related
engineering design processes. To achieve this we are using the concept of non
manifold topology implemented in ASM (the Autodesk Shape Manager), but in a
novel way. In this approach the interior of what would normally be referred to as
a ‘solid body’ is not thought of as being composed of solid material, but rather as
an enclosed void that can be used in an architectural sense to represent the
‘enclosure of space’.
1 Introduction
Architecture has been described as the ‘enclosure of space’. Indeed most buildings
are conceived in two ways:
 as a 3D geometric envelope (that separates the outside from the inside)
 and the partitioning of the enclosed space into constituent spaces (or rooms)
We might call this a ‘spatial’ or idealized model of the building. Most
conventional ‘Building Information Modeling’ applications adopt a different
approach, by providing design tools which support the placement and editing of
components (such as walls, floors, columns and beams, etc.) that represent the
material aspects of the building. We might call this a material or physical model of
the building.
It is of course recognized that at the end of an architectural design process the
design, engineering and construction teams should have produced a complete
unambiguous ‘building information model’.
R. Aish and A. Pratap
However during an exploratory design process it is important that the
architects and engineers can build the lightest possible model using the least effort
that gives the most accurate feedback about their design and engineering concepts.
Our contention is that a modeling process that combines spatial modeling (via
nonmanifold topology) and associative parametric modeling (via scripting) can
facilitate this “light weight – least effort – maximum feedback” design
methodology.
It is envisage that the resulting spatial information model (and associated
topological queries) can be used for:
 early structural analysis, using such tools as Robot Structural Analysis
 early design energy analysis using tools such as Green Building Studio
 fire analysis (using CFD)
 egress analysis
as well as the topological and geometric support model for the material model of
the building (see Fig. 1 (left)).
Figure 1(left): A single nonmanifold solid, consisting of three cells constructed by the
nonregular union of two (blue) cubes. One of the faces of the inner (red) cell has been used
as the supporting geometry for a wall component (yellow).
Figure 1(right): A spatial information model built with ASM. This is a cutaway model and
illustrates a number of nonregular modeling operations that are unique to nonmanifold
topology. The initial solid was ‘sliced’ horizontally with floor planes and then vertically
(with wall planes in X and Y). Finally a conical solid representing the atrium was
‘imposed’. The resulting cellular topology structure can be interrogated with topological
query functions.
Spatial Information Modeling of Buildings using NonManifold Topology
To realise this concept, we have implemented a set of special nonregular Boolean
operations to create nonmanifold bodies and a series of topological classes to
allow the designer to access the topology of the resulting spatial models.
Topological query functions are provided to allow the designer to make a traversal
of the spatial model of the building.
For a given building we can distinguish between the spatial model, different
analytical models and the material model of the building:
 The spatial model of the building is the partitioning of the building envelope
into discrete cells representing the interior spaces or rooms.
 The material model of the building is the collection of physical components
that will make up the constructed, tangible building. The material model
might use the topology of the spatial model (for example, the cells, faces,
edges and vertices) as supporting geometry for the individual solid models
presenting these typical physical building components.
 There can be a mumber of different analytical models of the building
(for example, for structure or for building performance).
Our proposal is that the different analytical models can be derived by attributing
the spatial model and without the need to build a material building model. Indeed
the material model should only be built after the analytical models have served
their purpose in the design process.
In this process the topological and geometric modelling functionality is
combined with the DesignScript associative modelling language. Spatial
Information Modeling and parametric/associative modeling work well together
and allow the designer to experiment with ‘whatif’ scenarios. Changes to the
spatial model can automatically update any downstream engineering analysis (such
as Green Building Studio) and the dependent material model.
2 Manifold and Nonmanifold solids
A 3D manifold body has a boundary that separates the enclosed solid from the
external void. The boundary is composed of faces, which have (interior) solid
material on one side and the (exterior) void on the other. In a 3D manifold body
each edge represents the meeting of exactly two faces, so that everywhere where
faces join there is always solid material on one side of the boundary and a void on
the other side.
The boundary of a body does not have to be connected  a body can have
several disjoint pieces of boundary, as long as each connected piece of the
boundary is closed. This means a single body can contain disjoint volumes of
material, and a single volume can have one or more interior voids, where each is
defined by a closed boundary with material on one side and an interior void on the
other.
In practical terms, a manifold body without internal voids can be machined out
of a single block of material.
R. Aish and A. Pratap
A nonmanifold body also has a boundary [composed of faces] that separates the
enclosed solid from the external void. Faces are either external [separating the
interior (enclosed space) from the exterior (void)] or internal [separating one
enclosed space (or cell) from another].
Furthermore a nonmanifold solid can have edges where more than two faces
meet.
3 Regular and Nonregular Boolean Operations
One way to construct nonmanifold bodies is by using nonregular Boolean
operations. When Boolean operations are used to create a new body from a
number of input bodies, these inputs are often configured so that all or part of one
input body intersects with the other input body, see Figure 1(a).
Generally with regular boolean operations, external faces of the input bodies
that are within the resulting body are removed.
Generally with nonregular boolean operations, external faces of the input
bodies that are within the resulting body are retained
Figure 2: The result of different regular or nonregular operations with manifold inputs.
Note: some operations (union and intersection) are symmetric, while other operations
(difference, impose) are asymmetric. With asymmetric operation there is the convention
that one input is referred to as the ‘part’ (A), the other input is referred to as the ‘tool’ (B).
A
B
A
B
A
B
union intersection difference impose imprint slice
A
B
A
B
A
B
A
nonregular operations regular operations regular inputs
2
1
3
1 body multiple bodies
1 body with
multiple cells
[plane]
N/A N/A
N/A N/A
only imprint edges
on external faces,
no cells created
imprint external
faces of B within
A, creating cells
Spatial Information Modeling of Buildings using NonManifold Topology
We can compare:
 Regular union operation (where all external faces of the input bodies within
the output body are removed)
 Nonregular union operation (where all external faces of the input bodies
within the output body are retained [for example, in Figure 1 (left), generating
three cells])
 Nonregular impose operation (literally ‘impose the tool on the part’), so that
the internal faces within the output body that are derived from the ‘tool’ input
remain, but the internal faces within the output body that are derived from the
‘part’ are removed [in this example, generating two cells])
Note:
 There is no regular impose operation, because all regular operations remove
the external faces of the tool from the interior of the resulting body.
 There are no nonregular intersection or difference operations, because with
these operations there are no external faces of the input (tool) body within the
interior of the resulting body.
Figure 1(right) showed a practical example of applying multiple nonregular
Boolean operations. In this example there were multiple ‘slice’ operations using
planes in different X, Y and Z directions, followed by an ‘impose’ operation. This
illustrates that even if the modeling process starts with manifold bodies, the results
(after the first nonregular operation) will be a nonmanifold body.
Therefore, subsequent nonregular operations will use nonmanifold bodies as
input, as follows:
Figure 3: The result of regular or nonregular Boolean operations with nonmanifold inputs
A
B
A
B
A
B
union intersection difference impose imprint slice
A
B
A
B
A
B
nonregular operations regularoperations nonregular inputs
Some laminar
faces created
multiple bodies
each with cells
1 body with
multiple cells
[plane]
N/A N/A
only imprint
edges on external
faces, no new
cells created
imprint external
faces of B within
A, creating cells
faces of the blank
(A) in the tool (B)
are removed
N/A N/A
R. Aish and A. Pratap
4 Topology Classes Implemented
The following classes have been implemented:
Shell: A connected set of Faces in a manifold solid. A solid with a hollow void
inside it has two Shells, one external Shell and another internal Shell.
Cell: A closed, continuous volume enclosing a spatial partition in a
nonmanifold solid.
Face: A face can be an interiorexterior face with material on one side and a
void on the other, or it can be a doublesided interior face or a
doublesided exterior face.
Edge: There can be internal edges in a nonmanifold model.
Vertex: There can be internal vertices in a nonmanifold model.
With the range of manifold and nonmanifold classes and the range of regular and
nonregular Boolean operations, the designer is able to create manifold and non
manifold solid models. By exposing the properties of geometry and topology
classes to the designer, he is able to make his own topological queries. These
queries can be used to build a number of different spatial information models.
Figure 4: The DesignScript geometry and topology classes, with their properties
Spatial Information Modeling of Buildings using NonManifold Topology
5 Using a nonmanifold spatial model to create alternative
. analytical and material building models
The spatial model of a building and the analytical or material models of the
building are interrelated. The spatial model consists of cells, faces and edges:
 Cells can represent the the enclosed spaces or rooms of the building
 Faces can be used as the supporting geometry for “area” based material
components (walls, floors, roofs, etc.)
 Edges can be used as the supporting geometry for “curvilinear” based material
components, for example structural members (columns, beams)
 Vertices can be used as the location of “point” based connectors
Figure 5: The modelling sequence to construct a nonmanifold spatial model of a building
and the use of the edges of this model to construct a structural model.
R. Aish and A. Pratap
5.1 Building a structural model from a nonmanifold spatial model
A spatial nonmanifold model of the building can be used to:
 extract horizontal edges to define beams
 extract vertical edges to define columns
 extract exterior faces to define roof elements
 extract interior horizontal faces to define floors (slabs)
 extract exterior vertical faces to define exterior walls and facades
 extract interior vertical faces to define interior walls and partitions
Figure 6: Class hierarchy showing the use of topological super classes (face, edge and
vertex) in relation to the sub classes (Plate, Bar and Node) within the Robot namespace.
By using the number and type of faces associated with each edge it is possible to
determine the position of each edge within the spatial model and to populate
different types of edges with an appropriate type of structural component.
Topology
Edge : Topology
+AdjacentFaces: Face[]
+CurveGeometry: Curve
+EndVertex: Vertex
+StartVertex: Vertex
Vertex : Topology
+AdjacentEdges: Edge[]
+AdjacentFaces: Face[]
+PointGeometry: Point
Plate : Face
+Section: Section
+LocalCS: CoordinateSystem
+AreaLoad: Load
Bar : Edge
+Releases: Release[]
+Section: Section
+GammaAngle: double
+LocalCS: CoordinateSystem
+LinearLoad: Load
Node : Vertex
+Fixity: Fixity
+PointLoad: Load
Fixity
+Type: FixityTypeEnum
+UX: bool
+RX: bool
+UY: bool
+...
FixityTypeEnum
+Pinned
+Fixed
+...
MaterialEnum
+Steel
+Wood
+Concrete
+Aluminium
+...
Section
+Type: SectionTypeEnum
+Material: MaterialEnum
+CrossSection: StandardSection
+Width: double
+Height: double
+Thickness: double
+Depth: double
Load
+Type: LoadTypeEnum
+Direction: Vector
+Magnitude: Double
Release
+Type: ReleaseTypeEnum
Structure
+Nodes: Node[]
+Bars: Bar[]
+Plates: Plate[]
+Results: Results
Results
+BarResults: AnalysedBar[]
+NodeResults: AnalysedNode[]
Robot Namespace
Face : Topology
+Area: double
+CellFaces: CellFace[]
+Centroid: Point
+Edges: Edge[]
+Shell: Shell
+SurfaceGeometry: Surface
+Vertices: Vertex[]
Shell CellFaceCell
<<From International Section Library>>
StandardSection
LoadTypeEnum
+PointLoad
+LinearLoad
+AreaLoad
+...
Spatial Information Modeling of Buildings using NonManifold Topology
The following rules may be applied [and have been encoded in DesignScript]:
 an edge defined only by external faces implies that the edge is at an external
position, typically at a corner of the building

an edge defined by a combination of external and internal faces, typically
implies an edge at an external midfacade position
 edges defined by internal faces implies an edge within an internal region
5.2 The use of the spatial information model for energy analysis
Here the key topological elements are the cell and the faces that bound each cell.
In this application each topological element is given additional attributes to
provide a complete data model for an energy analysis (see the Green Building
Studio namespace, Figure 7). Here the space class can be derived from the
topological cell class and a surface class can be derived from a toplogical face
class.
The topological analysis defines which faces are external or are internal and
between cells, and therefore which cells are adjacent. In terms of energy modelling
this enables the different conditions in adjacent spaces and the resultant energy
flows through common surfaces to be directly modelled.
Figure 7: The modelling sequence to construct a nonmanifold spatial model of a building.
The cells within this model can be used to construct volumetric and spatial adjacency data
suitable for input into energy analysis applications.
R. Aish and A. Pratap
Figure 8: Class hierarchy showing the use of topological super classes (cell and face) in
relation to the sub classes (space and surface) within the Green Bulding studio namespace.
Additionally it is possible to use the topological relations to traverse the spatial
building model. Starting in one space, it is possible to inspect the constituent
surfaces property, and for each surface inspect its adjacent spaces property. Such a
traversal would ignore spaces and faces previously visited.
The notional thickness of the faces multiplied by the face area can be used to
factor the cell volume, to arrive at a reasonably accurate volumetric data without
the need for a precise building model. Certainly this volumetric data will be within
an acceptable tolerance when compared with the accuracy of the other data
involved.
Figure 9: Using the AIM (analytical information modeling) toolkit, this cellular and face
data can be exported as GBXML to Green Building Studio, with the resulting energy
analysis either returned for display within DesignScript or via other energy analysis
dashboards
.
Building : NonManifold Solid
+Spaces: Space[]
+ContainingCampus: Campus
+BySolid(campus:Campus,solid:Solid)
Space : Cell
+SpaceType: SpaceTypeEnum
+AdjacentSpaces: Space[]
+GBSSurfaces: GBSSurfaces[]
+ContainingBuilding: Building
+InfiltrationFlow: double
+AirChangesPerHour: double
+PeopleNumber: int
+LightPowerPerArea: double
+EquipmentPowerPerArea: double
+Temperature: double
Surface : Face
+SurfaceType: SurfaceTypeEnum
+Material: Material
+Openings: Opening[]
+AdjacentSpaces: Space[]
Solid
+Edges: Edge[]
+Faces: Face[]
+Shells: Shell[]
+Vertices: Vertex[]
NonManifoldSolid : Solid
+Cells: Cell[]
Opening
+Type: OpeneningTypeEnum
+Width: double
+Length: double
+ContainingSurface: GBSSurface
Cell : Topology
+AdjacentCells: Cell[]
+Area: double
+CellFaces: CellFace[]
+Centroid: Point
+SolidGeometry: Solid
+Volume: double
Topology
Campus
+Location: Location
+Buildings: Building[]
+GenerateAnalysis()
MaterialEnum
+Wood
+CMU
+Concrete
+Carbon Steel
+Stainless Steel
+Brick
+Gypsum
+Plywood
+Tile
+...
Face : Topology
+Area: double
+CellFaces: CellFace[]
+Centroid: Point
+Edges: Edge[]
+Shell: Shell
+SurfaceGeometry: Surface
+Vertices: Vertex[]
SurfaceTypeEnum
+InteriorWall
+ExteriorWall
+Roof
+InteriorFloorAndCeiling
+Shade
+SlabOnGrade
Location
+Latitude: double
+Longitude: double
+City: string
SpaceTypeEnum
+ActiveStorage
+ActiveStorageHospitalOrHealthcare
+AirOrTrainOrBusBaggageArea
+AirportConcourse
+AtriumEachAdditionalFloor
+AtriumFirstThreeFloors
+...
GreenBuildingStudio Namespace
Vertex EdgeCell CellFace
Spatial Information Modeling of Buildings using NonManifold Topology
6 Integration with DesignScript:
In this research, we are exploring the combination of nonmanifold topology and
scripted parametric design tools and related work flows.
We see possibilities for designing that may not have existed before in which a
single spatial and topological model can used to drive multiple analytical models,
and then a unified material model (Figure 10).
Figure 10: The three level modelling approach:
(1) a spatial model using topology
(2) a number of different (discpline specific) analytical models
(3) a unified material model, where some material components (for example, a floor)
are essentially multifunctional and combine information and behaviour for multiple
analytical models. Multifunctional components can be implemented in DesignScript via
multiple inheritance.
One of the characteristics of the modelling process presented here is that a minor
change to the modeling of the initial building volumetric geometry can have a
profound effect on the resulting topological model. Cells (and the cells‘ faces and
edges) can appear, disappear and reappear. Additionally faces and edges may be
split or combined.
It is difficult to see how a modeling tool that relied on the user manually
building an analytical or material model could work. Each time a change is made
to the volumetric model, a new topology would be created and previous analytical
and material models would be completely out of date.
A better way to connect the topology of the spatial model to the analytical and
material models is through a rule based script. This can provide a robust
connection which can appropriately respond to the appearance, disappearance and
reappearance of topology and its related geometry.
Topology
Cell: Topology Face: Topology Edge: Topology Vertex: Topology
Space: Cell Surface : Face Bar: Edge: Node: VertexSlab : Face
Green Building Studio Namespace Robot Structural Analysis Namespace
Spatial ModelAnalytical Model(s)Material Model
Floor : Surface + Slab
Material Model Namespace
Wall,
Roof,
etc.
R. Aish and A. Pratap
Additionally, DesignScript supports the use of multiple inheritance to directly
represent the essential multifunctional behaviour of components in the material
model: in this example, representing both structural and building performance.
Overall, this approach combines and unifies topology and geometry, with
different analysis and simulation tools, and with scripting tools which supports
advanced features such as associative and imperative programming and multiple
inheritance. It is anticipated that this unified toolset can provide the necessary
infrastructure for multicriteria design optimisation
2
.
Conclusions
This paper presents a novel application of nonmanifold topology together with
parametric and associative scripting to model the spatial organization of a building
and to use this information to create different analytical and material models of a
building.
The core of the DesignScript system is a set of unified geometry and topology
classes that can be driven through a number of different programming paradigms.
Without the ability to manipulate such spatial models parametrically and
programatically it is doubtful whether a user could “handcraft” such complex
geometry using interactive direct manipulation techniques or could systematically
explore alternative configurations and options. This supports our contention that a
modeling process that combines spatial modeling (via nonmanifold topology) and
associative parametric modelling (via enduser scripting) can facilitate a “light
weight – least effort – maximum feedback” design methodology.
Acknowledgements
The authors would like to acknowledge the contribution of the Autodesk Shape
Manager development team, based in Cambridge, UK for their guidance in
implementing the nonmanifold topology described in this paper.
References
C
ORNEY
, J., L
IM
, T. 2001. 3D modelling with ACIS. SaxeCoburg Publications.
A
ISH
, R. F
ISHER
, A., J
OYCE
, S., M
ARCH
, A. 2012. Progress towards Multi Criteria
Design Optimisation using DesignScript with SMART Form, Robot Structural
analysis and Ecotect building performance analysis. ACADIA 2012