Generative Design

The future of CAD

To program … or … not to ?

with 4 comments

Many students of architecture agonize over whether or not to learn programming. Arguments cut  both ways.

Many argue that programming is the ‘most powerful way’,  because programming – provides total control. Programming was therefore the preferred approach of most of early researchers in generative design. For each new design, fresh code was created from scratch. Alternatives were not available then.But this has changed. CAD is now easy to learn and easy to use. To many it is a natural extension of pencil and paper. But we forget what it is. It is a program.

The CAD packages that we use today are nothing but an accumulation of useful programs.

Behind each menu button is a program. The designs that we see on the screen are created by  programs. This may not be obvious to most; whether we like or not, designs that we create now are created by programs. But these programs are hidden behind friendly icons, awaiting to be launched by a simple click . Early CAD was not like this. It was difficult to use. Because it was some sort of graphical program. That did not help. Designers did not want programs.

CAD took off much later, when a veneer was created connecting designers to the older way of designing with tools that designers were familiar and comfortable with. Pencil icons, eraser icons, dustbin icons were introduced. Sketch lines and pencil marks continue to fool us.  The veneer is so complete that it hides  us from an important fact – that CAD is fundamentally a program.

CAD’s success and its wide-spread use is mainly due to this. It is based on denial; based on hiding its core and presenting to the designer something that they are familiar with. The key issue then  is not about programming or not programming, but about

using pre-made programs or writing your own programs

Thankfully, most CAD packages now allow macros or scripts to access their core CAD engines, allowing designers to incorporate their own programs – if they so wish. This is becoming increasingly easy. But, it depends very much on the CAD system that you choose. You may notice that the packages that make it easy for people to write programs (without programing) are becoming the natural play ground for generative design – for design is play.



Written by Sivam Krish

September 19, 2010 at 1:52 pm

4 Responses

Subscribe to comments with RSS.

  1. Yes, it’s always good to start making one’s own tools, just like we had to make our own drawing tools in design education. For me, it is still a hassle to code something applicable in, let’s say Generative Components or Matlab, compared to how easy it is in, for example, music software (which I find far less cumbersome). Hopefully, this will change in the future, so one can devote more time to the conceptual designing and manipulation of outcomes…

    Andreas Hopf

    September 19, 2010 at 2:23 pm

  2. Hi Sivam,

    I am nuts about your blog! 😀
    Really, you have some amazing topics in here. I think I have just became a permanent follower of your blog.

    Can I dare to ask for a bit of clarification on your conclusion in this topic?

    As a designer, but first of all as a human living in the 21th century, I understand how important it is to know programming. It’s basically the Holy grail. You could do whatever you want in anything, and in design and architecture too, if you have a programming knowledge.

    On the other side, like you mentioned it seems designers do not want programs. It is something related to the difference between the Engineer and the Architect. Between the Maths and Arts. Between the pure logic, effectiveness on one side and philosophy, subjective eccentricity on the other. These are two different poles.

    So what is the conclusion of this topic? That: Yes, we need to learn programming – but not programming in in the literal sense. But visual programming like Generative Components, Grasshopper or Dynamo. Because everything other than that (Processing, Python, Rhinoscript, C#,C++,VB, Java…) turns us back to the point where the core is uncovered.


    Djordje Spasic

    February 8, 2013 at 11:42 am

    • Drordje,

      Many thanks for your encouraging comments. I have stopped blogging for some time, so I may start again. Because now there is some one else who is also nuts about generative design.

      OK you ask a tough question. Architecture is caught between many diverse fields and its hard to impose requirements but we can make recommendations. CAD is programming buried. We can now use programs like grasshopper to program without knowing programing and I think that it would be sufficient for most practicing architects – unless they wish to do their own research and develop their own code. Now, that is a separate category of people and they have no choice but to learn programing.

      Sivam Krish

      February 10, 2013 at 12:02 am

      • Thank you for the answer Sivam.

        Djordje Spasic

        February 10, 2013 at 12:29 am

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: