Skip to main content

Design Patterns for Parametric Modeling

While you might have heard about the "Design Patterns" for software programming, as made famous by the book "Design Patterns: Elements of Reusable Object-Oriented Software", that have been inspired by the work from Christopher Alexander on the Pattern Language, there is other related work that might be interesting for architectural designers using digital tools.

At first we have the "Elements of Parametric Design", which has Design Patterns for parametric modeling on the designpatterns.ca site, lead by Prof. Woodburry, where the patterns are illustrated with implementations using Bentley Generative Components.

This is a tremendous and free resource for the 14 patterns that have been identified.

More recently, at http://www.andrew.cmu.edu/org/tsunghsw-design/ they have been mostly translated for Grasshopper.

And based on the previous sites, the Buildz blog mentions the porting of a subset of these patterns implemented using Revit and Project Vasari.

Anyone familiar with ports to other platforms?

Comments

Popular posts from this blog

Improve usage of BIM during early design phases

When I was collecting ideas for a book chapter on BIM (that seemed to never have emerged after that), I collected 10 ideas, which I believe still reflect good recommendations to improve the usage of BIM during the early design phases. These ideas are related to BIM software, but you can apply them in any flavor, as long as you can model with Building Elements, Spaces and have control over representation. Introduction This article gives an overview of several recommendations and tips, to better apply BIM applications and BIM methodologies, in the context of the early design phases. Many of these tips are applicable in any BIM application and they are based on experience gathered from teaching, researching and using BIM software. Sometimes they could help software developers to improve the workflow of their particular BIM implementation. Tip 1 : Gradually increase the amount of information In the early design phases, the architect makes assumptions and lays out the main design in...

Getting BIM data into Unity (Part 0 - Introduction)

This post reflects on work that I carried out, elaborated during my guidance of a few Master thesis students, to better integrate BIM models into Unity. This will be a multi-part post. This makes each article a bit shorter to read, but allows more in-depth information overall. Hope you like it. Please comment with feedback and further improvements. Basic methodology Unity can import geometry from FBX and Collada (DAE) files primarily. There are a few other formats, but these are the preferred ones. When integrating CAD or BIM files into a realtime environment, you have to convert the geometry. During my Unity teaching and the writing of the book Unity for Architectural Visualization ( buy from Packt ), I’ve come up with a basic diagram explaining geometry exchange between CAD and BIM software and Unity. Throughout these posts, we’ll go more into detail. We start with ArchiCAD, but will tackle Revit in a follow-up post. Promised!

PythonOCC : Open Source interactive CAD shell (and how to run it on OSX)

What is PythonOCC? PythonOCC is an Open Source (LGPL) Python-wrapper for OpenCASCADE. So what is OpenCASCADE (OCC)? This is an advanced Open Source (custom license) modeling kernel, comparable to commercial engines, such as ACIS or Parasolid, which are used in quite some commercial CAD programs. When you want to develop CAD software, you could use OCC and write programs in C++. And why using Python? With this wrapper, you can create CAD and geometry scripts in Python, which is an interpreted Object-oriented scripting language. You can write almost "on-the-fly" and seriously reduce the implementation effort, by skipping the compiling-phase. You can even interact with a running program in the Python interpreter. Want to read more about this? The OpenCASCADE official website  (currently Linux and Windows are officially supported) The PythonOCC website/blog  (beware that the core of the actions happen in the development repositories). So far so good. Now the nasty, techn...