Parametric Design
What is Parametric Design?
According to
wikipedia parametric design is a process based on algorithmic thinking that enables the
expression of parameters and rules that, together, define, encode and clarify the relationship
between design intent and design response.
In other words you design through understanding the design problem in terms of what the elements
that compose it mean to each other. This entails a much more thorough understanding of the design
problem, leading to deeper thinking of what the design problem means.
You can skip all the hard work that it takes to put together all the pieces of the puzzle to become
a proficient computational designer by taking my course Introduction to Parametric Design: Grasshopper,
by clicking on this yellow link! In which you will understand from the ground up all the
concepts that you need to become an expert in the field!
Image that shows a parametric model of the Ekko pavilion by Thilo Frank. Model and render by
Felipe Gutiérrez, produced in Grasshopper/Rhinoceros3d.
Introduction to Parametric Design: Grasshopper
The video above is a short introduction of what parametric design is, this video was recorded for
the Udemy course
Introduction to Parametric Design: Grasshopper. After taking this course you will be able to
tackle compuational/parametric design problems of medium complexity, as you will have the mathematical
foundations for manipulating and creating geometry while exploiting datastructures in a way that will
give you design super powers!
If you want an ouvrebouche of some of the concepts covered in the course, keep reading!
Practical Example
This pavilion is modeled through the understanding of the relations between the elements, in this
case those elements are the "frames" that grow radially while rotating. There is also an explicit
relation between the "floor" or world plane with the frames, as the floor cuts the frames, leaving
only the upper part of these frames.
As you can see the pavilion starts from a circle primitive, so all of the elements that compose
the pavilion will be modified when the radius of such circle is changed. We could call this model
paramateric as changing the radius parameter will create a new design in which the relations
between elements (for example the number of frames) will remain the same. There are other parameters
that have been defined for this definition, such as the width and height of the frame, the rotation
angle, the thickness of the elements and others.
The term parameter comes from the mathematical definition of a parametric equation, in which an end
result will change according to some initial parameters. Parametric design can be thought of an
algorithm/set of steps that produce a design, that can be modified by changing the original parameters
of such procedure.
Parametric Architecture
This image shows the Seville Parasol, also known as "Las Setas de Sevilla" spanish for the
Seville's Mushrooms, architect: Jürgen Mayer H. Model and render created by Felipe Gutiérrez
in Grasshopper/Rhinoceros3d.
This image shows the Seville Parasol, from another point of view.
Parametric design is used in many industries, one of those industries is architecture. In which
buildings, urban planning, furniture and others are modeled through the use of parametric design.
This model is created by using a technique known in the industry as constructive solid geometry
CSG in which primitives (in this case spheres) are subjected to boolean operations, such
as unions after that relations between them are created, such as the function that modifies
the points that compose the spheres to create the columns and the overall shape of the structure.
Algorithmic design
Design model and render created by Felipe Gutiérrez in Grasshopper/Rhinoceros3d.
Another perspective of the model.
The algorithmic nature of designing through parametrism allows the user to create complex mathematical
relations between objects, that result in beautiful objects and spaces.
This model uses mathematical functions to produce a flowerlike column. The elements that
compose this design have been thought from the beginning to be able to produce an structure which
is easily constructable in the real world as all of the "pieces" are simple in the sense that they
are lines that can correspond to a beam and triangles that can correspond to a wood/metal panel.
Software
There are various software that can handle parametric workflows, some of them are:

Grasshopper:
Tightly integrated visual scripting environment for
Rhinoceros3d, industry standard when it comes to
parametric workflows, including but not only limited to architecture.
Due to the number of years this software has been running commercially, it has an
enormous amount of plugins to customize it, while it also allows the more advanced users
to program as they will the software for their specific needs, through custom scripting.
There is a technology that McNeel is working on (and anyone who is willing too as it is
open source) called Rhino.Inside that enables
interoperability between Rhino/Grasshopper and major software such as UE4, Revit, ArcGIS
and many others.

Blender: Open Source 3d modeler, used by many as
the software is free of charge and easy to modify as the source code can be viewed and
modified by anyone.

Autodesk 3DS Max: used
mostly for visualization purposes (rendering), but able to produce geometry on it's own.
Superb animation tools, used mainly in the movie and videogames industry.

Autodesk Revit: due to the
wide adoption of BIM
in the construction practice, this software has been the standard tool for anything related
with engineering/architecture since the beginning of the century. Although it has not been
keeping up with the pace of the industry's needs according to
major architecture firms.
There is a project that tries to resemble the workflow provided by Grasshopper in Revit
called Dynamo, promising but it is fairly new compared
to Grasshopper, so there is less tools available to customize it.

Houdini:
This package is the industry standard when creating procedural assets, simulations and a
bunch of other stuff for video games and movies, incredible speed and amazing scripting
capabilities. The downside is that the learning curve is steep even if you already know
how to program.