Meta Parametric - Design Preprint
Meta Parametric - Design Preprint
net/publication/309339993
Meta-Parametric Design
CITATIONS READS
63 5,457
2 authors:
All content following this page was uploaded by John Harding on 20 October 2017.
Abstract
Parametric modelling software often maintains an explicit history of design
development in the form of a graph. However, as the graph increases in complexity it
quickly becomes inflexible and unsuitable for exploring a wide design space. By
contrast, implicit low-level rule systems can offer wide design exploration due to their
lack of structure, but often act as black boxes to human observers with only initial
conditions and final designs cognisable. In response to these two extremes, the authors
propose a new approach called Meta-Parametric Design, combining graph-based
parametric modelling with genetic programming. The advantages of this approach
are demonstrated using two real case-study projects that widen design exploration
whilst maintaining the benefits of a graph representation.
Keywords
Parametric design; conceptual design; design cognition; human-computer interaction;
genetic programming.
Although the latter approach can often offer wide design exploration (Bentley and
Kumar, 1999), it is debatable whether implicit bottom-up methods are suitable at the
conceptual design stage simply because natural systems develop form in this way.
Instead, by acknowledging that humans must converse with machines and each other
as part of a healthy digital design process, an alternative approach is proposed that
offers wide design exploration whilst retaining an explicit representation of
development for human cognition.
1. Parametric modelling
Parametric modelling is now a well-established tool in the computational design
community. Software applications such as Generative Components (Bentley Systems),
Dynamo (Autodesk) and Grasshopper (McNeel and Associates) allow complex ideas
to be quickly explored, often beyond the reach of traditional techniques such as hand
sketching, physical model making and CAD.
To date, the most popular metaheuristics used in parametric design are evolutionary
algorithms, due to their ability to efficiently explore a wide and unknown solution
space (Turrin et al., 2011). Such tools are becoming increasingly mainstream as little
or no programming experience is required to use them. For example, the introduction
of the Galapagos Evolutionary Solver for Grasshopper (Rutten, 2013) has increased
their popularity in architectural design (Ercan and Elias-Ozkan, 2015).
The time required to generate topologically different parametric models is one reason
why hand sketching and physical models are still popular at the concept stage, where
the design process can jump between completely different typologies (Figure 3). That
said, extracting quantitative performance is often difficult with sketches and physical
models, leading to a temptation to begin with computer models from day one; a shift
encouraged by developments in Building Information Modelling (BIM) for the early
design stage (Eastman, 2009).
2. An implicit approach
Unlike parametric models, natural systems do not keep an explicit record of how to
build an organism laid out in their genes. An organism’s DNA contains rule based
information that encodes an emergent process of development from a single embryo,
i.e. morphogenesis. The complexity of an emergent process means that small
alterations to the genotype can often lead to large changes to the phenotype, for
example its size, shape and number of repeating modules in the living form. A small
change to a relatively small set of genes known as the homeobox for example can give
rise to large changes to the final ‘body-plan’ of the organism (Weinstock, 2010).
In contrast, graph-based parametric models have been shown to assist design teams
to engage at the level of design generation by acting as cognitive artifacts at the level
of process (Hudson et al., 2011; Oxman and Gu, 2015). If well-structured parametric
models have the potential to be understood by others due to their explicit
representation, it follows that parametric models generated by machines could
potentially be understood by human designers.
Figure 6. A simple Cartesian Genetic Programming example. An integer-string genotype encodes a
DAG that produces a set of equations.
3. Meta-parametric design
In response to both the inflexibility of explicit modelling tools and the irreducibility
of an implicit approach, the possibility of automatically generating parametric models
is an interesting alternative (Harding et al., 2013). Although Gero and Kumar (1993)
have previously shown methods to widen the design space using re-parameterisation,
this approach goes one step further in order to think topologically (DeLanda, 2002)
and consider the whole structure of a parametric definition.
The authors call this approach Meta-Parametric Design with strong similarities to
genetic programming (GP), whereby whole computer programs are generated by
machines. GP has been explored in the generation of form by Coates et al. (1999) using
Lindenmayer systems, and later using simple geometric operations in a shape
grammar (Coates, 2010). Hernandez’s (2006) work on Design Procedures (DP) and
more recent work on Compositional Pattern Producing Networks (CPPN) by Clune
and Lipson (2011) have shown the potential of evolving a graph representation to
generate form.
3.1 DAG generation
As well as GP using tree structures (Koza, 1994), the automatic generation of DAGs
has also been of research interest due to their close relationship to computer
algorithms, particularly their application in work scheduling problems (Van
Leeuwen, 1991). Cartesian Genetic Programming (CGP) (Miller and Thomson, 2000)
is a more recent approach that generates explicit DAGs very similar to that used in
parametric design, using an integer genotype encoding. Partly due to its explicit
embryogeny, CGP has been successfully used in a wide variety of applications in
combination with evolutionary algorithms (Millar, 2003).
An example of a CGP system is given in Figure 6. Initial parameters in the graph are
tagged sequentially (a). Each node in the graph is a function with inputs and outputs.
When a new node is added, the encoding method (b) defines the specific function from
a pick-list and to which outputs in the graph the node inputs are connected. The
outputs of this new node are then tagged, and the next node is added. This process
continues until the genotype is exhausted. In this example, terminating nodes (c) are
also defined so that the graph defines a further phenotype, in this case set of equations
(d).
In general, Grasshopper model generation can be split into three parts: external
parameters (for example numeric sliders, external geometry, etc.), the components in
the graph and the topological structure that associates components. These three parts
form the basis of the genotype used by Embryo when constructing a parametric
model:
a) Metric genes: control the parameter values for generated sliders and have a
direct numerical mapping. These can be either integer or floating point values.
These metric parameters are the first objects generated by Embryo.
b) Function genes: when a component is added to the graph, the function genes
control the type of component selected from a given pool.
c) The topological genes are integer based and map the output location for each
component input when forming the graph. Only one wire can be connected to
each input, but outputs can be used multiple times.
Figure 7. The Embryo component and input parameters
Figure 7 shows how these three sets of genes (a, b and c) are connected to the main
Embryo component that generates the parametric model. The user also specifies the
number of sliders and components to be used. There exists a random override input
(d), which if used generates a random genotype that replaces any existing genes. This
feature can be useful in giving an overall feel for the design space.
Figure 9. Typical set up when using the Embryo plug-in for Grasshopper.
Figure 10. Examples of simple parametric models generated by Embryo with four component types:
Cartesian point, line by points, divide curve and box by points.
Some examples of simple graphs and associated designs generated by Embryo are
shown in Figure 10, where ‘s’ represents the number of sliders and ‘c’ the number of
components.
Figure 12. A topologically sorted parametric model by Embryo reveals component dependencies
Figure 13. An unintelligible parametric model generated by Embryo
Although the generated parametric models have the potential to be legible, this varies
depending on the situation. For larger graphs there is still the potential ‘spaghetti
problem’ (see Section 1.2) with many crossing edges, requiring effort on the part of
the user to understand. Ways to counter this range from including graph legibility
during the design search itself (see Section 4.1) to providing a method for
automatically untangling the graph (Section 5.1).
Embryo can also be used if the legibility is sacrificed to explore more complex models,
for example the model shown in Figure 13 which to generate manually would be
practically impossible. This potentially extends the capability of tools like
Grasshopper in a new direction albeit, one where understanding the model is highly
compromised.
4. Implementation
Two real projects are shown here as examples of Embryo being used in different
design contexts in practice. Firstly to generate massing concepts for a residential
development. Secondly, for a mixed-use tower project whereby parametric models are
evolved to match an existing geometric concept design using shape analysis.
Parametric models were initially created using randomly generated genotypes, three
examples of which are shown in Figure 14. In almost all cases, bloat was not an issue
and models were able to be computed without error. The building performance of
each generated design was assessed in real-time within Grasshopper, including
daylight assessment, internal floor area, spatial connectivity, building heat loss and
views to key London landmarks. This was achieved using a special Embryo
component that collects geometry from the generated model (shown * in Figure 15),
acting in a similar way to a tagged parameter input on the main canvas (see Section
3.2).
During the study, it was found that reducing the complexity of the graph also became
an objective in itself, with legibility of the parametric model playing an important part
in the design process. Figure 15 shows an example of how one of the machine
generated parametric models was further progressed manually by the design team.
Interestingly, it was found that models with more and not less parameters were easier
Figure 14. Parametric massing models generated by Embryo for the Tower Hamlets project.
Figure 15. A parametric model generated by Embryo that was further developed manually.
to progress. Their influence affected less components and hence the consequences of
adjustment were easier for the team to understand.
Embryo was used to generate and analyse novel design ideas that may have otherwise
remained unexplored running alongside using more traditional methods such as
sketching and physical massing models. Approximately 60 Embryo generated models
of a wide variety were used to benchmark the performance (both quantitative and
qualitative) of designs created using more traditional methods within the practice.
Here, automation made it possible to quickly generate many alternatives for
comparison. It was felt however that more work needs to be done on this interface
between physical and digital modes of representation, for example 3d printing some
of the Embryo massing models would have meant working in both directions in terms
of comparing design methods.
Although Embryo was a useful addition to the project, the use of random genotypes
in this particular application made design exploration somewhat undirected and
disjointed. The use of evolutionary methods on a similar project would be interesting
to revisit in the future, in particular incorporating an interactive evolutionary
algorithm using artificial selection.
As with the example in the previous section, by retrieving the geometry from the
generated model to the main canvas, analysis could be performed within
Grasshopper. An objective function was set using vertex matching techniques found
in shape analysis (Costa, 2000). Removing crossover and relying on mutation alone
was found to generate the best results, something in keeping with similar studies
using CGP due to the nature of the encoding (Clegg et al., 2007).
Although the final result was not a perfect match, this is in part due to the change in
components used in the newly generated definition (b). Particularly at the early design
stage, often a good enough match is perfectly acceptable as was the case in this instance.
Consisting of a new set of parameters, components and associations, the alternative
parametric model could then be used to progress the design in a different direction
than would have been possible otherwise. Here, there is a natural analogy with
‘convergent evolution’ in nature, whereby different development paths and
Figure 16. For an existing tower geometry, a new parametric definition is evolved consisting of different
parameters, components and associative structure.
genotypes can lead to similar traits in organisms. A well-known example of this is the
independent evolutionary development of the camera eye by both vertebrates and
octopuses.
Although promising for simple massing forms, further research on the potential for
evolving parametric models for more complex problems is required and the method
is not without issue. For example, whilst understanding the new model construction
was possible, there was a disconnection in terms of ascribing meaning to the
parameters; especially those that controlled many different geometric operations. As
in Section 4.1, rather than reducing models to as few parameters as possible, models
with more parameters proved to be more useful going forward (Harding, 2014).
Clearly more empirical work is required here in terms of understanding model
legibility when created by machines, although it is clear that reducing analysis of
legibility to the complexity of the graph alone is not sufficient.
5. Conclusion
This paper began by highlighting two main approaches to form generation in
computational design, explicit and implicit. The authors argued that an implicit
approach, though giving the wide design exploration suitable for the concept stage,
has a lack of structure that has often proven to be useful in parametric design. Such
methods are therefore difficult to use in a collaborative design environment, where a
common language is required for communication between humans and machines.
We call this approach Meta-Parametric Design, and argue it is well equipped to deal
with the wicked nature of the concept design stage with unknown constraints and
goals. Initial tests on real projects have been positive, although there is much work to
be done to understand the potential use of this method and its applications. We
believe that this work can inspire the application of genetic programming into the
wider computational design community.
5.2 Summary
Architectural design is becoming increasingly obsessed with combining all elements
of performative design into a single quantitative tool to be used as early as possible
on projects. In this age of increasing computing power, it is easy to forget that how we
approach modelling as design teams has just as important role to play as real-time
performance analysis tools.
References
Aish, R., and Woodbury, R. (2005). Multi-level interaction in parametric design. In:
Smart Graphics, Springer Berlin Heidelberg, 151-162.
Bentley, P., and Kumar, S. (1999). Three ways to grow designs: A comparison of
evolved embryogenies for a design problem. In: Genetic and Evolutionary Computation
Conference, 35-43.
Bentley, P. J., and Wakefield, J. P. (1998). Generic evolutionary design. In: Soft
Computing in Engineering Design and Manufacturing, Springer London, 289-298.
Clegg, J.; Walker, J. A. and Miller, J. F. (2007). A new crossover technique for Cartesian
genetic programming. In: Proceedings of the 9th annual conference on Genetic and
evolutionary computation, 1580-1587.
Coates, P., Healy, N., Lamb, C., and Voon, W. L. (1996). The use of cellular automata
to explore bottom up architectonic rules. In: Eurographics UK Chapter 14th Annual
Conference, 26-28.
Coates, P., Broughton, T., and Jackson, H. (1999). Exploring three-dimensional design
worlds using Lindenmayer systems and genetic programming. Evolutionary design by
computers, 323-341.
Costa, L., and Cesar Jr, R. M. (2000). Shape analysis and classification: theory and practice.
CRC press.
Davis, D., Burry, J., and Burry, M. (2011). Untangling parametric schemata: enhancing
collaboration through modular programming. In: Proceedings of the 14th international
conference on Computer Aided Architectural Design, University of Liege, Liege.
DeLanda, M. (2002). Deleuze and the Use of the Genetic Algorithm in
Architecture. Architectural Design, 71(7), 9-12.
Derix, C. (2008). Genetically Modified Spaces. In: Littlefield, D. (Ed.), Space Craft -
Developments In Architectural Computing, RIBA Publishing, 22-26.
Gero, J. S. and Kumar, B. (1993). Expanding design spaces through new design
variables. Design Studies, Elsevier, 14, 210-221.
Harding, J., Joyce, S., Shepherd, P. and Williams, C. (2013). Thinking Topologically at
Early Stage Parametric Design. Advances in Architectural Geometry 2012, Springer, 67-
76.
Holzer, D., Hough, R., and Burry, M. (2007). Parametric design and structural
optimisation for early design exploration. International Journal of Architectural
Computing, 5(4), 625-643.
Hudson, R., Shepherd, P., and Hines, D. (2011). Aviva Stadium: A case study in
integrated parametric design. International Journal of Architectural Computing, 9(2), 187-
204.
Kumar, S., and Bentley, P. J. (2000). Implicit evolvability: An investigation into the
evolvability of an embryogeny. In: Late Breaking Papers in the Second Genetic and
Evolutionary Computation Conference (GECCO 2000), 198-204.
Liggett, R. S. (2000). Automated facilities layout: past, present and future. Automation
in Construction, 9(2), 197-215.
Miller, J. F., and Thomson, P. (2000). Cartesian genetic programming. In: Genetic
Programming, Springer Berlin Heidelberg, 121-132.
Miller, J. F., and Thomson, P. (2003). A developmental method for growing graphs
and circuits. In: Evolvable Systems: From Biology to Hardware, Springer Berlin Heidelberg,
93-104.
Oxman, R. (2006). Theory and design in the first digital age. Design Studies, 27, 229-
265.
Oxman, R. and Gu, N. (2015). Theories and models of parametric design thinking. In:
Proceedings of the 33rd eCAADe Conference, Vienna, 2015.
Shea, K., Aish, R., and Gourtovaia, M. (2005). Towards integrated performance-driven
generative design tools. Automation in Construction, 14(2), 253-264.
Singh, V., and Gu, N. (2012). Towards an integrated generative design framework.
Design Studies, 33(2), 185-207.
Steadman, P. (2008). The Evolution of Designs: Biological analogy in architecture and the
applied arts. Routledge.
Stiny, G., and Mitchell, W. J. (1978). The palladian grammar. Environment and Planning
B, 5(1), 5-18.
Strogatz, S. H. (2001). Nonlinear dynamics and chaos: with applications to physics, biology
and chemistry. Perseus publishing.
Turrin, M., von Buelow, P., and Stouffs, R. (2011). Design explorations of performance
driven geometry in architectural design using parametric modeling and genetic
algorithms. Advanced Engineering Informatics, 25(4), 656-675.
Van Leeuwen, J. (1991). Graph algorithms, Handbook of theoretical computer science (vol.
A): algorithms and complexity. MIT Press, Cambridge, MA.
Weinstock, M. (2010). The architecture of emergence: the evolution of form in nature and
civilisation. Wiley London/Chichester.