algorithms, generativecomponents, mel scripting, oh my!


I am looking for advice on how to get acquainted with 3d design strategies that include parametrization, generative patterns, and other forms of design computation - without going to a school that is at the centre of their use. I would like to teach myself some of these languages but I am not sure where to begin. I have exhausted the AD journal series on morphogenetic design, programming, and I have a copy of tooling. I have figured out who the key players are but if you aren't in their inner circle, coleagues of some sort, how do you get in on the technique?

any advice?

May 11, 07 1:47 am

Columbia's mel scripting course is often audited by people who aren't in the class by simply following the online tutorials.
go to, go to faculty, and go to cory clark. check out algorithmic morphology for a number of tutorials that will be a nice overview. There are a number of other courses which work the same way; there's a lot to be learned from the free tutorials!

also, go to and wander around the wiki; there are a lot of good student projects (including mine) and some of their own parametric stuff there - less of a tutorial, but the code is at least all there.

try also, though alisa hasn't posted alot of code, she's put some snippets on the academic section fo the site which are useful.

my two favorite resources so far have been and, both of which work primarily in rhino, but do very good work!

of got some more, but i'm keeping them for myself . . .

May 11, 07 8:21 am  · 
vado retro

how common is this stuff in the profession world? i just sharpened some pencils.

May 11, 07 9:51 am  · 

don't waste your time being sucked into digital masturbation! focus on real issues and challenges like saving the world. creating sustainable buildings is more challenging and more rewarding then any pretty image on a screen can be.

May 11, 07 9:59 am  · 

It's increasingly common, vado. There are a lot of ways to control BIM software using scripting. And BIM is not going away.

I think the divide between those who just use software and those who can write their own is shaping up to be even greater than the split between software/nonsoftware types.

May 11, 07 10:02 am  · 

i've heard from a few insiders that is a good resource

May 11, 07 10:27 am  · 

Y'know sometimes this board has a really distinctly flavor of 'anti'. And it comes from some of the most vocal users.

vado, treekiller, 'nuff respect to you guys but c'mon! Let the kids have their fun and don't hijack the thread!

This ain't 'Green Thread Central' or 'Computers Suck Thread Central'. Start your own thread called 'Scripting: Threat or Menace' and hash it out there.

May 11, 07 10:55 am  · 
vado retro

no i am just wondering. i have nothing against it, i am just curious as to how common it is becoming. our office for example is supposed to be going into revit mode sometime this year, but whats being talked about here is different no? so, im just asking.

May 11, 07 11:00 am  · 

what is being talked about here is different than base level revit...but it can add-on to and extend the capabilities of a revit type BIM.
in terms of computations role in offices, it is much like that of rendering, modelbuilding, diagramming, etc. some of us will just have a basic level knowledge and won't need to know more, whereas others will get really into it and build it into their focus. it's really just a tool like everything else....the supposition is, though, that as we are able to virtually simulate more and more, we need to find a way to harness that information to create more informed decisions. sorta like how we might study daylighting and massing in a physical model and then photograph it to record iterations and changes....computation just creates a digital repository of information and allows one to more fluidly explore the information generated.

May 11, 07 11:09 am  · 

Now I realy would paricipate in that pro contra digital thing, but as you all know I am all for the digital and at the same time quite tolerant towerds the non-digital aproach --- in fact I only blame when the digital is misinterprented is used rigidly to pump glossy renderings and nothing else but that. Realy I find that use of the digital, using it solely for spetacular renderings "vorse" than the non-digital aproach ,as digital is for much more than obscure perspectives it is much more much much more than just finding the best viewpoint to dull the fact that this is realy not how things will display.

May 11, 07 11:20 am  · 

most ppl i met who "anti" it are those non-user, strange!

tooling is a very good book, graphic may not be seductive but touch upon the fundamental issue in architecture & mathematics... the "rocky" project is great, but very hard to write those scripts.

i would say, doing the plug in as in rhino or maya or revit are quite easy to pick up quick but scripting requires fundamental understanding of math expressions as well as to change the mode of archi thinking.

i started learning with CG ppl for houdini programming a few years ago, still lots of things to learn, just like writing.

May 11, 07 11:46 am  · 

my problem with BIM revolves around a feeling that i would be giving away intellect responsibility (thinking) to a computer. I know it's here to stay, i just hope the profession will integrate it in a responsible fashion, that will benefit itself, rather than simply lower fees. our profession is so eager to give away what makes us valuable.
Tying that into the subject at hand, I feel that using BIM software to scrip ways to create "parametrization, generative patterns, and other forms of design computation" is a trap that could develop into giving away design intellect; i thing technology is a great tool, but i don't want to let my pen design for me ( or, i don't want to create a piece of software, and watch it design the ceiling as i insert different variables that relate to an algorithimic formula designed to represent water flowing through a funnel);

oompa, sorry for not being able to help you w/ any resources...

May 11, 07 11:56 am  · 

S'cool, vado, I take it back. Misinterpreted your tone, sorry dude.

To answer your question, I think there are at least two angles/uses for scripting: form generation and optimization. Form generation is the 'Well I took two years worth of census data and randomized it so width equals average income and height equals the mean rate of car ownership and the degree of curvature is the the inverse of the birthrate ... then I made ten versions and picked the one I liked best,' that kind of thing can make interesting stuff but no, it's not commonly used that way in a professional environment.

Optimization can take any parameter (even climactic ones, treekiller!) and figure out optimal solutions that would be tedious to generate by hand. That kind of application for scripting is just going to get more and more common.

May 11, 07 11:56 am  · 

i think what simples refer to is called agent-based design. is more of visualisation of principle, which is common practice in science, VJ or web... rather than "there is an image in my head, then use something (pen/autocad/marker) to draw up that image".

however, be careful with the optimization issue, i once advise the CGppl in real practices, minimin/maximum data is not an issue, cost saving mostly done by ease of work flow, manufacturing process, labour involvement...etc

May 11, 07 12:19 pm  · 

misterIT, saving more for myself, it kills me how architects are so anti-sharing

May 11, 07 2:48 pm  · 

I appreciate the links and everyone's thoughts. I wasn't intending on getting into a discussion of values, however important some of the issues people have been addressing are. I am starting a very independent master's thesis and I intended to critique as well as explore/utilize these "new" strategies in the process. My post was just about penetrating this world without direct access to those on the front lines. Again, I appreciate everyone's contributions..

May 11, 07 3:07 pm  · 

taught at UCLA, and I believe he is now at Harvard teaching. While much of what he said caused a great deal of controversy (and jesting), I learned a lot from his courses.

No algorithms we made solved problems. And none were paramentric in the sense that you adjust a paramter here and there and out pops a building in your BIM software. Rather we were producing forms in Maya. And, as seven suggests, we were having fun.

And of course, all things must start somewhere.

May 11, 07 3:32 pm  · 
May 11, 07 3:34 pm  · 

it's probably a bit much...but it seems like most of the comments and issues with scripting and parametric design are misnomers and misunderstandings. I love kostas but he is an electrical engineer, and as huge a fan of I am of the MEL paradigm, it's not really employed algorhithmic design. Since their seems to be a bunch said already, and it seems your interested in your thesis as concerns the subject...maybe the following might help. I'm fanatical about the subject and hope this can help you in doing a thesis in the subject.

Marc Fornes [THe Very Many]- Amazing works with Zaha...
Stylianos Dristas - Worked with Marc Goulthrope and THesis in scripting at MIT on his website.
Dave Rutten - The god of vbScript...He works for McNeal now.
DIG l FAB - sweet blog about digital fab with vermillion

Architects using scripting recently
Zaha Hadid
Toyo Ito
And anything connected to AA Dip 4

hope your thesis goes well...and sorry if anyone really said something before..i didn't read the thread, just wanted to give you some info that could help you. if you seriously need a lot of info [academic] on this stuff let me know and i can pass on some research journals and so forth...

May 12, 07 7:16 pm  · 

Atlas of Novel Techtonics is also a great book to look at.

You also might look at the ACADIA website and any of their papers as well as the Rhino Labs website.

To get the basics for MEL scripting I used alot of the stuff at Columbia's website as well as David Gould's programming books for Maya.

Digital Tutors and The Gnomon Workshop are also good resources.

Rhino scripting will be a bit easier to pick up simply because they have its in VB.

Oh, and Morphoecologies is a great book from the AA this last year that shows alot of their performative architecture (read "Green") though they don't give you any scripts to look at.

May 13, 07 9:50 pm  · 

Kostas is an Electrical Engineer???

News to me. When did that happen? Must have been in the past 2 years.

May 15, 07 3:07 pm  · 

Kostas' book is weak sauce, it's neither theory nor tutorials but an awkward combination of the worst of each.

Not meant to offend anybody who's had him and enjoyed his classes, but the book should drop to the bottom of this guy's reading list.


May 15, 07 7:33 pm  · 

Sorry to jump in late...but yes is a very good site for beginners[lots of examples + ease of use]. Rhino Vb is very friendly as well. Parametric scripting is much harder since there is a lot of object resolution to deal with. I don't know anything about MEL or maya scripting.
#1 guy for me: Chris Lasch from Aranda/Lasch does a lot of work like you have read in "Tooling" and teaches Scripting for Design at Stevens in Hoboken along with helping out UPenn kids at various classes.
_ks, I think Marc left Zaha last year and is in NYC now. Stylianos is great and look to Kyle Steinfeld also who works in the same vein.
More firms:
I hate to say it but SOM NYC is heavily vested in scripting for design where Neil Katz quietly invented his own BIM / Envrionmental analysis programs that run through autoCad 20 years ago and runs a small faction in the office called Solutions group.
KPF with Lars in London and an outfit here in NYC do a lot of scripted form generation / problem solving.
In my opinion, the real divide is going to be scripting for ease of use(going between software packages and automation) and scripting for design generation/ form finding.
Good luck, this is a topic which I have had some interesting side involvment in.

May 16, 07 5:06 pm  · 


you seem to have read kostas' book.
But you are not giving any reason why it is weak sauce.
Can you explain the reasons?

I read the book too. I found it quite deep and philosophical.
His etymological explanation of design was quite profound. The Socratic premise of novelty as rememberance instead of magical superficiality is praised by Antoine Picon (in the foreword). The criticism of blobitecture was exactly on the money: superficial surface-like and empty, perhaps just sauce (to use your word). As of the tutorial there is no such thing. It is a series of algorithms/tools that produced the amazing work of his students illustrating ambiguity and perplexity.

I would love to hear your criticism because perhaps I am wrong.

May 18, 07 2:18 am  · 

ok I am in search of a tool that I believe someone must be able to help locate....this must exist.

I have found a number of (quite antiquated) research papers discussing "constraint satisfaction problems" and "automated layout design" systems. Among these tools I have found one is called WRIGHT and the other GLIDE. Again these are quite old and their trails are running dry.

What I am looking for is a tool to take a database of information about spaces in a program - type, size, adjacencies, height, relation to the perimeter - to establish different solutions that satisfy the demands of each of the spaces in this database. I believe that GC or IK in 3d modelling software might be able to do something like this but I am wondering if there is anything else out there.

It would be nice even to get a tool that "maps" out the data, and could be sorted according to a chosen variable.

I have seen such visual strategies emplyed on websites where an architect's projects can be sorted by date, type, location and the project entities seemingly reshuffle accordingly.

If this demands a new post, my apologies....

May 26, 07 9:24 pm  · 
Living in Gin

Kyle Steinfeld? I did some searching on Google, and I think it might be the same Kyle Steinfeld I went to high school with. If true, this would be too weird.

May 26, 07 9:34 pm  · 

metamechanic - you're right that it's not completely clear what I'm looking for.

On the one hand I'm looking for a graphic representation of the relationships between the parts of a program - adjacencies, leading vs. following, entry sequences, rules etc. I found this which might help explain a bit better though I cant seem to find a tool that does this...:

On the other hand, I am looking for a graphic representation of the network of associated in laying out all the pieces of a program and having the ones with similar requirements grouped together - this is where I used the analogy of an architecture office's website where you can see all the projects at once and have them rearranged to see the projects grouped by location, program, date etc.
I am looking at visio but I'm not sure it can do this. Again, this is probably alot scripting and I dont really know where to start. I have found these sort of infovis diagrams and they seem to use java or the language found at

check these out
there are others...cant find them now...

about nlso and seems they block access to their scripts...

thanks for the dialogue

May 27, 07 12:36 pm  · 

You should check out GIS software. You can easily load datasets and use a myriad of graphical representation to reveal the data, from size, scale, color, etc.

The old plumb design guys did a great interactive search tool for the Smithsonian that became thinkmap

pretty amazing and powerful tool.

May 27, 07 1:06 pm  · 

thank you jasoncross!

i think this might be exactly what I was looking for. I wasted so much time on this...question is, can the nodes's size represent area? I'm going to get into this...thanks again

May 27, 07 5:27 pm  · 

yes, in GIS you can scale nodes to whatever you want...area, just depends on the data you feed the GIS software.


May 27, 07 6:33 pm  · 

which gis software do you recommend for said goals? is thinkmap a GIS software? I probably wont be able to get a copy of it either...

May 27, 07 8:35 pm  · 
May 28, 07 12:01 am  · 

Block this user

Are you sure you want to block this user and hide all related comments throughout the site?

  • ×Search in: