PROGRAMS
Join thousands of people who organise
work and life with Novatr.
Thet Hnin Su Aung
15 mins read
August 03
To listen to Kanwaljeet Singh explain computational and parametric design, you can watch the video below.
To understand what computational design is, we should first understand the difference between computerization and computation.
So fundamentally, the basic difference lies in the approach towards design rather than a particular skill set or knowledge. Computerization is a computer-aided approach or some may consider it digital design, as stated in the book Computational Design Thinking by Achim Menges and Sean Ahlquist.
A computer-aided design or approach assumes an object-based strategy for expressing the essential information in symbolic representation. To simplify this, consider primitive design tools like AutoCAD and SketchUp, which are dominantly used across the architectural industry. These tools are just means by which a user can digitally store his/her design, and they are proven to be more efficient than hand drafting. So the industry started to widely adopt its use.
The user is basically setting and working with the rules internally in his head, and then rather than putting them on a piece of paper, they are compiled on a computer system. This design process is already conceptualized in the user's mind and is compiled and manipulated in a computer system. It does not enhance the knowledge and the understanding of the process that the user is trying to define. So the problem with this situation is that designers do not take full advantage of the computational power.
Elevation at different points for JiNi project (Source: Kanwaljeet Singh)
Whereas computation is about processing information algorithmically. What is an algorithm? It is a set of procedures consisting of a finite number of rules of explicit elementary instructions, given by the user in an exact, complete, yet general manner, which defines a succession of operations for a solution of a given problem. So to simplify this, computational design is the use of computation to develop design and design systems.
We as humans have a very limited capability to compute and process complex information. When solving complex problems, designs and processes, a computer is far more efficient than a human in not only solving them but also managing multiple and simultaneously occurring tasks without any error.
By using computational design processes, one can draw a logical conclusion from values, rules and algorithms defining these processes. We can also increase the specificity of information that is initially supplied using algorithms, as stated in the book Computational Design Thinking.
In contrast to computerization, which helps us to replicate laborious tasks on a computer system making it less time-consuming, computational design is not only efficient to solve complex design problems, but also enables us to design systems that can solve complex problems.
Well, this is a very debatable topic and people have come up with different conclusions about these terms. And it is not only computational and parametric design. There are other terms like algorithmic design and generative design which are closely associated with computational design.
So if I am to explain it, the terms parametric design, algorithmic design and generative design are all encompassed under computational design. One can consider them varying uses of computational design processes.
So, the term ‘parametric’ is about relating to or expressed in terms of parameters. If there are parameters which are interrelated, then that makes it parametric. Let's consider a mathematical function which you might have learnt in your school days, the function f(x) = y + z. Here, X, Y and Z are the variables in a function which are defined algorithmically in a parametrically established relationship. The relationship is as such that the sum of Y and Z together gives us a value of X, where the X is dependent on the relationship between Y and Z.
So this parametric nature, with equations and numbers or even geometry in architectural design is used to find efficient solutions. The design in this nature of being linked in a relationship parametrically is called parametric design.
[The term Parametric Design is often used interchangeably with Parametricism. Learn what this new architectural style is all about: Parametricism - Taking Architecture To The Next Level]
Bridge railing design (Source: Kanwaljeet Singh)
When it comes to algorithmic design, it is based purely on algorithms. Now, algorithmic and parametric designs in the design field are interrelated. They may or may not be individually termed as such in terms of their use.
So an algorithm is a set of mathematical instructions or rules that will help calculate an answer to a problem. There's a very famous game of life by John Conway where a set of rules is defined by the user at the very beginning and we do not get to anticipate the outcome. These rules are the governing factor which runs recursively until a certain condition is met where the algorithm stops. Here the rules set in the beginning define the algorithm which governs the outcome. The users may or may not know the final outcome, but what is known to the user is the algorithm deriving it. An algorithm may or may not include loops and conditionals. And designing the algorithms can help us solve complex problems using algorithmic design.
Now, this brings me to the last point – generative design. In the generative design approach, once the algorithm is set to run, the system executes in coded instructions until the criteria are set and the final outcome is achieved. In any case, the algorithm is difficult to correlate with the general output, thus making the output difficult to predict by merely reading the algorithmic descriptions that the user has set in the beginning.
Now, there is another term that comes in relation to generative design which is not different from it. It sounds like an extension to this, which is called the performance-based generative design systems.
For example, when we talk about sustainable design, we think of energy-efficient buildings or maybe an efficiency in daylight within the interior spaces of the room. Now, these efficiencies are met under a certain condition based on a certain algorithm, which when analyzed and compared between the variant, gives us an efficient output. We, as the user, set a performance target that we want to achieve and the algorithms find the best or the most efficient solution that best approximates the desired form.
So these are the three common terms under computational design which we come across most often.
I started using computational tools to solve problems at the office where I initially worked, on both competition-based and real-life projects. In the process, I learnt how to use the tool and applied it to real-life design problems which helped me shape and built a foundation over which I could continue to learn. At that time, I was only using the parametrical nature of the tool to make things more efficient and to some extent, used generative design to get efficient solutions.
Later on, I moved to ORproject, which is a computational design firm. There, I learnt that computational tools are not mere efficiency-oriented tools which allow you to do things parametrically but also to go beyond that and solve complex problems which occur in real life or those that can have an impact on real-life problems.
After I completed my working period at those offices, I started my own consultancy where I provide solutions to design problems of different skills for different projects in different firms across the country and some projects internationally. This has helped me understand where the problem lies in terms of what the user needs and how a computational means can get them to not only solve the problem efficiently but also give them an informed decision to get to the final outcome.
Whether it comes to designing, or for fabrication and execution on-site, or when it comes to managing complex designs or the complexity of varying elements, computation has allowed me and helped me to help other firms to do things more efficiently and effectively.
JiNi project (Source: Kanwaljeet Singh)
Well, I initially started my journey into learning computational tools by understanding how the tools like Rhino and Grasshopper work, which has helped me create a foundation on how the tool works with a certain set of rules so that I could then take on my ideas and try and replicate them.
So once I got handy with the tool, I then started levelling up by learning from books or whatever resources that were available online, with the mentors whom I've been under, who have helped me guide into being who I am today. And this has all in all helped me create a foundation over which I could not be stuck with using the tool for the sake of it, but also relate to real-life problems and solve them more efficiently using computational means.
Now, the challenges. The initial challenge was to probably get started, which I see in most of the students whom I have come across in the course. For someone unfamiliar with computational and parametric tools, it felt really intimidating. As an architect or a designer, our approach toward design is very intuitive and visual, whereas visual scripting seems only to be an organization of those spaghetti components which are running with all those wires.
It felt very intimidating. But once you get to the gist of what is happening and once you realize the power of computational means through these tools, you then tend to not go back in the loop. You might even ask why other tools are not so efficient. After all, it is capable of going beyond efficiency to help us solve complex problems.
So it started with me basically putting across my work on online platforms and through the word of mouth.
And through Novatr, I got to be in the domain of professionals and people got to know me. Then there was a requirement in a firm where they needed to efficiently fabricate some of their complex designs which otherwise would not have been possible using a primitive tool. So they knew I am the person to approach and by getting to know what the problem really is and whatever I could contribute through my knowledge, the firm realized this would be the best way for the project and then we got into designing and executing it.
Parametrically designed screen (Source: Phill Anton, Designed and Made)
Well, I cannot give a definite answer, but what I can conclude is that efficiency in workflows has always played a vital role in the adaptation of new methods within any field, whether it is architectural design or other fields in the AEC industry.
When it comes to computational design, the learning curve for many tools, like Rhino 3D, would not be as easy and intuitive as the traditional software or tools. Because a majority of designers are very visual and intuitive in nature, perhaps that is the reason it is currently not as adapted as widely yet today.
But let us consider this; in the future, because of AI, a user can achieve the desired goals without even getting into codes or visual scripting we use in Grasshopper today. Maybe the way we see and use the computational mode of designing today would become redundant. I've come across some of the ways in which AI can generate images just by providing text, which may not be as accurate as a designed product or a project. But this is sufficient enough for us to peek into the future of possibilities from the keyhole of AI's application today of how AI is going to be very user-friendly to get things done with, where you might not have to be worried about what happens at the back end of the algorithm generating it. By then, maybe the computational design would be more widely adopted.
But allowing AI to do the hard stuff also brings a lack of control over your design as you do not have control over the algorithms governing the outcome. So there would surely be people who will be using computational design where they are strictly coding something in programming languages like Java, C# or Python or using visual scripting. But then most would prefer not to get into coding and hence AI would come in to solve their problems without using codes.
I think the major issue I've seen through teaching is that it is not the lack of knowledge of how to use a tool the learners face as a problem – the problem lies in the thinking. How do they think algorithmically, how do they try and frame the problem and then find a solution using computational means? That is one of the problems.
The other thing is that due to the lack of knowledge of the tool, many participants make the design a slave to their limited knowledge of the tool. What I mean by that is when you design using your hand and probably a piece of paper, the mind and the paper connection is very strong – whatever you think is laid down directly onto that paper.
When you suffer from a lack of knowledge, the design is not what you had expected. In this process, you try to negotiate between what you know and what is possible. But then your design is underdone as to what it could have been because you didn't know how to use the tool. If you know the tool well, it will work fine for you. If you don't know how to use it properly, then it can backfire and it can create a very mundane design, which I see happening a lot with the final capstone projects we do in the Novatr course.
[Learn the 4 pros and cons of parametric modelling to understand this modelling approach better.]
Well, for beginners, I would recommend learning the rules of visual scripting which will play a vital role in establishing a good foundation, given that a person is working in coherence with algorithmic thinking to develop good logical reasoning skills. But that is not all. It is the first step because the main challenge does not lie in mastering computational design techniques, but rather in fully comprehending computational design thinking while solving a given problem.
People do not usually lack the ability to use the tool – one can learn and get better at it. What they lack basically is knowing how to use, what to use, and at what given time to solve a given problem. This is something that develops over time through conscious efforts. They would have to work around this not only to just learn the tool but also to logically reason things and think algorithmically or computationally to solve a given problem.
[Curious about what career choices you have? Here are 8 Exciting Career Opportunities in Computational Design Field.]
Bridge railing design (Source: Kanwaljeet Singh)
Well, I do use Rhino 3D and Grasshopper very frequently. AutoCAD is one mere tool to just produce working drawings or fabrication drawings after I'm done with Rhino and Glasshopper. For physical simulations, I prefer going for Cinema 4D, which in itself is a very vast tool to cover. Blendr is open-source software that I would recommend for early learners if they want to extend their assets with the tools.
For beginners, I would say start with Rhino. I used AutoCAD and Sketchup in the early days of my college. Once I started using Rhino, I felt it was more like AutoCAD, but a better version. There are a few things that are very irritating in AutoCAD and probably would expect AutoCAD to release a better solution for that. But Rhino already has addressed those problems.
One of the examples that come to my mind is that in AutoCAD you can scale the geometry all in three axes simultaneously. It's a very general thing anyone can relate to. If you want to extend something in one direction, you would have to do stretch. But in Rhino 3D, other than stretch, you can also scale 1D or 2D or even 3D. It's very elaborately worked around to help solve real-life problems that occur in using a tool. The vastness of addressing problems in this tool is something I would say why people use it.
[If you are wondering why Rhino 3D is the most popular parametric modelling tool, you should check out these 10 Fascinating Projects Created Using Rhino 3D.]
When it comes to choosing the right tool, you should also be aware of the tool’s capabilities. When it comes to mesh modelling, maybe you can use Cinema 4D or Blender. When it comes to physical simulation or animation, I would prefer those softwares which are not too subjective about creating a design and then fabricating it efficiently on-site or a product out of it. Rhino 3D has a very strong, mathematically accurate base to provide very efficient solutions towards not just creating the design but also fabricating it when it combines with Grasshopper for even a complex design problem.
So what software one should use should be dependent on the need for them to use that particular software.
[Here is our comparison of two great parametric modelling software: Rhino 3D vs Solidworks]
So why would I recommend Novatr’s Parametric Modelling Course? The first reason is that we are starting off at a very fundamental basic stage where primitive knowledge is not expected from students other than what they already learned in architecture or design school.
So it starts off from a very basic level where anyone can start off with the pace at which people can practice. It is something where students can take their limited time after college or work. Spending one or two hours every day for three or four days a week is enough to follow along with the course in the scheduled manner. This is so that they can grow not only to just phase out what has been taught in the course but also to question what they have learnt and how they can expand their knowledge by connecting with the mentors and the team across.
So these are the two reasons why I would recommend the course at Novatr. Now, how has my experience been so far?
I think it's been wonderful. It has not only helped me teach various students simultaneously and share my knowledge, but it has also given me an insight into how people learn and what problems they face when it comes to using the tools and trying to solve design problems.
The problem I've come across is that people are not only limited by the knowledge of the tool initially but also in using computational means of thinking or algorithmic thinking, which for some comes very intuitively to expand, for example, to think of variations that could occur when trying to solve a design problem and weigh each algorithmic process before even deciding to go for the best solution. Whereas for others, who find it less intuitive, I’d say we are trying to develop that thinking throughout this course.
[Do you want to know what parametric modelling is all about? We have a comprehensive guide on everything you need to know about parametric modelling.]
Sinuous railing design (Source: Kanwaljeet Singh)
What I've seen out there for college students or young professionals is that they get into learning computational design or the tool just because masters are doing it, regardless of what they intend to do with it. That is something that needs to be relooked at before one decides to set the walk.
Do not learn a tool just because someone you aspire to be is learning/using it. That goes for both computational and BIM tools. Your end target should be defined as to how this tool would help you do what you want to do. Otherwise, you will end up feeling lost without any direction.
It's like learning how to use a knife, but you don't know where you would use the knife. Would it be used for vegetables or something else you want to cut? Or rather, would you just try and hit it on the wall intending to pierce through it? Then it might not help you, instead, you might end up disappointed. So only the right tool should be used, given that the problem you're trying to solve can be solved efficiently and sensibly with it.
So to conclude, I would say first understand what is it that you want to do, and if computational means are a good decision to follow up on that, then probably you can go and start your journey in computational design.
We believe this will clear some doubts any aspiring computational design professionals may have and even promote curiosity in this vast field of design. The rise of computational design approaches has been steady in the design industry, including architecture, as they are becoming increasingly aware of what computational designs can do. An example is parametric architecture with its funky organic designs.
If you are interested to learn parametric design modelling from someone with the right experience as Kanwaljeet, head over to our Parametric Modelling Course page. Have more questions on this topic? You will find plenty of helpful blogs on our Resources page.
Join 100,000 designers who read us every month