Go to ThinkParametric

About Generative Design platforms by Mark Loomis

(image from Bentley)
This is a guest post from Mark Loomis

First off, I want to thank Rodrigo Medina for graciously inviting me to guest post on his blog. I’m Mark
, a landscape architect who first learned about generative design when I read this article by Angus Stocking about a year ago. Since then I’ve been learning all I can about it and this post is an encapsulation of my findings. I’ve also started my own company, called Parametric Concepts, in order to pursue this new design paradigm.

I’m by no means an expert at any of it but my research has given me a pretty good overall view of what’s out there. In my opinion, generative design (sometimes called parametric design or computational design) is currently following two methodologies: object based geometry population (sometimes called propagation) and scripting.

Object based geometry population starts with a predetermined overall form and uses the software to populate desired geometries over the surface of that form. Good examples of this approach include Rhino’s Paneling Tools and ParaCloud GEM. These programs are easier to learn but their power is limited since the overall form of the design must be created first using conventional modeling techniques. In other words, only the component geometry that is populated over the form is generated by the computer. Note: ParaCloud also has a product called Modeler that can be run with an Excel spreadsheet. It is probably more powerful than the GEM product.

Scripting involves writing code that generates geometry following constraints and parameters. It is used to design systems that generate into complex forms. Good examples of this approach include Rhino’s RhinoScripts (similar to LISP routines), Rhino’s Grasshopper and Bentley’s GenerativeComponents. These programs have a longer offshore pharmacies learning curve but are also more powerful than object based systems since both the individual components and the overall form of the design can be generated by the computer. Note: I have learned that Rhino is transitioning from RhinoScripts to Python scripting going forward.

Both methodologies have their place, but learning how to script is the key to becoming a power user of generative design technology. I’m just now getting my feet wet with scripting after using the object based systems for a while. I would recommend starting with object based methods and working your way into scripting as well.

I highly recommend that you invest in Rhino. It is relatively inexpensive compared to other 3d modelers and all of the GD tools I’ve mentioned are free plug-ins. If you’re an AutoCAD user you’ll find Rhino to be fairly easy to pick up because it is a command line driven interface just like AutoCAD. In fact, Rhino was initially intended to be a plug-in for AutoCAD but ended up being a stand-alone application instead.

I also recommend that you download GenerativeComponents. It’s free and is a stand-alone application that no longer requires MicroStation to run it. Its native file format is DGN (MicroStation) but you can export to DWG format as well. I haven’t learned how to use it yet, I’ve been focusing on the Rhino applications lately, but GC is probably the most powerful generative design platform available today. It also probably has the longest learning curve and therefore you might want to learn other options first like I am!

As an interesting side note, Dr. Robert Aish, the developer of GC at Bentley, recently moved to Autodesk. It was three years ago and Autodesk is just now starting to introduce parametric conceptual design products. Project Vasari is an Autodesk Labs free download that uses the Revit Architecture platform to facilitate conceptual parametric design using adaptive components. Dr. Aish announced another product called DesignScript during Autodesk University 2010 that will be available in 2011 and it will run in AutoCAD. It will be a language based program that supports scripting and plug-ins.

Four things become apparent with this side by side comparison:
1. Rhino has become a major player in generative design technology.
2. There are a lot of free options to choose from.
3. GenerativeComponents and Grasshopper are the only platforms (to my knowledge) that
currently support plug-ins to increase their functionality.
4. ParaCloud GEM and Modeler are excellent choices for SketchUp users.

One other GD platform out there is Digital Project by Gehry Technologies. It’s built on the CATIA modeling kernel and because of this it’s very expensive. In my opinion, the cost of admission will limit the adoption of this tool to only the largest, most prestigious firms and therefore it will not become a mainstream GD product anytime soon.
There is also processing.org. This website allows you to create your own stand-alone platforms for specific problem solving using an open source programming language and environment. Rodrigo brought it to my attention and I plan to look into it.
Well, that pretty much covers everything I’ve learned over the past year or so. I will be posting a second discussion that compares GenerativeComponents to Grasshopper. What do you think about this discussion? Are there some generative design products that I’ve missed?

  • I’m a second year architecture student from Paris. I learnt about GD in the beginning of this year and I’m quite interested in it. I guess your article covers well every GD platforms and explains them very clearly. I’m using RhinoScript and I think it’s one of the most powerful tools in GD since it enables the designer to understand how the geometry of forms are generated as you master scripting. I’m now downloading GenerativeComponents. Really nice article. Good luck!

  • JP

    Muy util, se agradece esta información!!

  • Dear Mark,

    Interesting article, I would however add MAYA and 3DS MAX to the list. As MAYA has supported both its own MEL Script and Python for many years now. And MAX has provided a truly powerful set of tools and operations, plus MAX Script.

    Additional to this list are the countless project specific software written via Processing. With powerful libs and engines. Processing, establishes the next level of development for collaboration. Bridging a visually accessible simple syntax & the infrastructure by which collective intelligence is made possible.

    From my experience the most vital aspect, in technical terms, is the pipeline between various platforms. Often there exists the need to connect from one to the other. Processing and Python seem to provide this functionality with relative ease.

    Some of the most helpful websites for further information (on scripting) are;

    Nick Pisca’s 0001D BLAST – http://www.nickpisca.com/BLAST

    Kokkugia’s Wiki –


  • Rodrigo

    Thanks for your comment Patrick I totally agree with you on your Processing observations

  • Thanks, Patrick.

    I appreciate you adding to the list of programs that support generative design. My list was limited to my personal experience and I knew it probably wasn’t totally comprehensive!

    I also appreciate the links to the scripting resources. Thanks again.


  • tom paul

    excellent one