Through the following text, we will demonstrate how designing a concert hall can be approached using object-oriented programming (OOP) techniques, but also highlight the advantages and disadvantages of the given method. The concert hall was created solely as an example that can demonstrate the power of programming in creating complex geometries and exploring different design variations. Additionally, the goal of this text is to introduce advanced and available digital tools to a wider audience of architects, engineers, students, and other stakeholders within the AEC industry.
What can you achieve with object-oriented programming?
First and foremost, through programming, you can create any geometry, perform various numerical operations, or export specific files – regardless of the complexity of the form. Therefore, almost everything that you would do manually can be automated. The main advantage of this method is significantly faster execution of tasks, which facilitates exploring variations (prototypes) and greatly saves time (as well as other resources) for tasks that are frequently repeated.
There are several ways to approach programming in architecture and construction, several different languages (C#, Python, VB, etc.) and several different software solutions. The algorithm that generates the concert hall was created in the popular graphical editor Grasshopper (within the Rhino) using a C# (C-Sharp) component. Not a single point, line, or surface was created manually – the whole geometry was generated through programming.
Parametric approach to design
Parametric design approach (whether through object-oriented or visual programming) requires from architect to assemble the geometric operations into a clearly defined sequence – instructions that tell the computer how to construct the desired form. All variable input parameters can be changed by the user and the software automatically constructs a new form.
In this example, 80 numerical parameters were set up, influencing various aspects of the form. The algorithm is designed to construct geometry and automatically measure the basic characteristics of the object, providing the user with essential information about the generated solution – such as the number of seats, volume, wall surface area, distance from the stage, viewing angle for each seat, etc. By changing the input parameters, an architect can relatively easily construct a form that best fits the given context or quickly respond to changes in later stages of the design process.
A set of different variations versus one conceptual design
Since the concert hall is described by 80 numerical parameters with different degrees of freedom, this leads to 1.48*10ˆ153 solutions. That’s a number unimaginable to humans. Depending on how you modify the parameters, you can cause a slight or drastic change in form.
The parametric approach involves designing a set of variants from the same or similar “design family“, unlike conventional design methods that often focus on exploring and refining a single form. This implies that the architect must consider geometric constraints and the interconnection of elements, as well as the correct sequence of geometric operations. However, the parametric approach offers the opportunity to explore significantly more options for significantly less time.
Why are digital tools important to us?
One could argue that architects are as good as their proficiency in handling the tools at their disposal – whether it’s pencil sketching, 3D modelling, BIM, parametric design, etc. Programming is just one of the digital tools that provide architects and engineers with the ability to automate certain processes within design phase or fabrication. However, one of the drawbacks is that OOP requires a slightly higher level of expertise in computational design and is not as intuitive method for many users since you describe geometric operations with some text.
When we look at the available digital tools, every software we use (whether it’s Rhino, Revit, AutoCAD, SketchUp…) has its limitations in terms of usage. Moreover, a large number of software originated from similar engineering disciplines such as automotive and aerospace industries, and have been adapted for use in architecture and construction. At the end of the day, it is important for the architect to master the digital tools at their disposal in order to be able to produce the desired form – the process by which you arrived at that form (whether it’s manual modelling, parametric approach, or programming) is something that could have either facilitated or complicated your work process.
When working on complex forms, you often encounter limitations of the software. There simply isn’t a command that you need, or the software may not support the given type of geometry. However, once you master programming techniques, you have the ability to create new digital tools for your needs – whether they are simple commands, plugins for popular CAD software, or standalone applications.
In order to successfully generate the concert hall, a large number of functions were programmed to automate certain processes. For example, when constructing the seating rows, the algorithm takes into account the geometry of the stage and calculates a new height difference for each subsequent row, while also ensuring that the height of the steps is uniform. Furthermore, the viewing angle of the stage for each seat is automatically calculated, along with the total number of visitors, etc.
Acoustics simulation
Programming has provided the opportunity to create an engine for rapid acoustic simulation. The given simulation is not more precise than professional software dedicated to this task, but it doesn’t need to be – the final solution will be subjected to expert analysis by professionals. However, when rapid acoustic simulation (around 30s) is combined with parametric generation (around 10s) – the user can quickly explore a large number of variants and gain a rough idea of the effectiveness of each form (e.g., based on acoustic rating, volume, wall surface area, number of seating places, etc.). Rough simulation can assist architects in selecting design solutions or point out specific flaws in the project to rectify mistakes in time.
Optimization process
Since the parametric approach offers a large number of variants (often over a billion combinations), it doesn’t mean that the user will spend time manually changing parameters and comparing designs. For a large number of variables, this becomes an overly complex problem for humans to solve. There are algorithms that deal with optimizations (most common is evolutionary algorithm) where the architect defines goals in terms of numerical values (e.g., 2100 seats; 30,000 m3 interior; 2.2 s reverberation period; etc.) and the software generates and tests various designs, attempting to approach these goals. Evolutionary algorithms can explore over 10,000 variations in a relatively short time and offer as a result a group of forms with optimal performance that will be used in expert analyses.
What is the future?
Will programming replace other popular tools in architecture and will design process be done through programming in the future? Of course, it won’t completely, but certainly to a greater extent. If used wisely, programming can automate a large range of tasks in AEC industry. This significantly saves time, allows for quicker responses to changes and errors in the project and generates designs with more successful performance (less material quantity for the same or better quality, improved energy efficiency, etc.). With increasing automation and the development of artificial intelligence, it is necessary for architects to take on a larger role in developing new digital tools, so architecture doesn’t become a secondary discipline to related and more advanced industries.