Smithsonian collage

Dynamo Video Tutorials

How do you learn to play the piano?

You learn the basics, find a YouTube instructor, and practice a melody that you like. That’s how I do it anyway. How do you learn computer software? You learn the basics, and find a problem that you love solving. That’s how my son learnt how to ski. It has to be fun. And now I play Bach. Because I think its awesome.

I recently hosted a whole day Dynamo lab for engineering students at Bergen University College. The curriculum that I used was a developed version of material I presented in 2014 with Julien Benoit at RTCEUR, and solo at Autodesk University (AU) 2014; Computational Logic in Structural Design. The math and script was developed last summer, with much help from Zach Kron.

The structure was inspired by a question I got from a colleague during a Computational Design workshop at Dark: “Dude, have you seen the Smithsonian”? Voilà; I had a problem that I loved to solve. Now, 64 students in Bergen have learnt how to mathematically model the roof of the Smithsonian American Art Museum atrium roof in Washington DC.

After AU I expanded the example with more Structural Framing diagonals, analytical model information and Robot integration. Instead of writing new or revising documents to supplement the live labs, I decided to record short and fast video tutorials and post the on YouTube.

The students are now using these tutorials to learn Dynamo with my Smithsonian roof problem, and so can you:

Here’s the handout I wrote for AU: Computational Logic in Structural Design

In the future I hope to expand the curriculum further by applying more analytical data (Loads, Load Combinations, Boundary Conditions, Calculations, Results Management, Analytical Visualization, and so on) and perhaps genetic algorithm optimization techniques (Galapagos, Optimo). I’d be very interested to hear if you have ideas to ways this problem, and it’s solutions, could be enhanced.

Last, I gave my students an assignment. Go ahead if you want, and see if your skills and imagination can challenge theirs:

Create a Dynamo script that generates a roof of steel beams based on a trigonometric function. The example below is based on a sine curve between 0 and 180 degrees. The structure must be parametric in length, width, height and grid. Present the results in an inventive way.



Using Dynamo to manipulate building data in BIM part 3: Random Parameter Values

A while back I got into a conversation with Daniel Hurtubise at Renzo Piano Building Workshop about possible Dynamo use cases. It turned out we had aligned ideas: Trying out different randomizing techniques with Revit Planting (and other) Families.

Today I recorded a short video demonstrating how you can do this in Dynamo. For the method to work you need parametric planting families. I got mine from Revit legend Andy Milburn. Read about (and download) my revised families in my blog post Flat People. Planting Families are a bit weird in Revit, but Andy made them flexible by using Family Nesting and Number Parameters for width and height scaling, in addition to an Angle Parameter for rotation.

Random Planting Shadows

This is a generic workflow that can be used on any number of Revit Families and Parameters. For instance, I have randomized facade modules with the same methods previously.



Using Dynamo to manipulate building data in BIM part 2: Selection

Our fantastically talented and in many ways awesome Ph.D. candidate Margarida Jeronimo Barbosa asked me if she could delete some Levels in a Revit project file. After I had elaborated for a good 10 minutes about the possible implications of doing so, she gave me the “I’m going to walk away from you, crazy person” look. Trying to prevent that, I introduced the idea of using Dynamo instead. She lingered, hesitantly.

In short, stuff gets deleted if you delete a Level that hosts stuff. What stuff, you ask. Dunno, I respond. At least Views (and their view specific stuff), Floors and Roofs. More than that? Possibly. Not very reliable consultancy, that.

So, how does Dynamo enter the equation? With Dynamo you can select all elements on a Level! Yay! How? Watch:

Like I noted in the video, you’ll need Andreas Dieckmann’s Dynamo Package, called “Clockwork”. That package will help you with a lot of other stuff too., and has a GitHub Repository at ClockworkForDynamo.



Using Dynamo to manipulate building data in BIM part 1: Shared Elevation

A simple way to try out Dynamo on building projects is to use it to extract, compute and move building data. One example that I love to show uses the problem of tagging and scheduling building component elevations in Revit. Last week my buddy Hannes (svensken) at Dark asked about this for Ceilings. I decided to make a short (and fast) video recording of one way to do it:

This example uses an already existing parameter (Height Offset From Level), and adds it’s value to a (manually entered) number. If the objects your are manipulating do not have this parameter, you can extract their geometries, find vertices and their respective Z-coordinates. I believe you also can extract the global elevation automatically from Revit’s Site Location, but that may require Python/API work. The definition produced in the video only works for Ceilings hosted on Level 1. To make it work on multiple Levels, install Andreas Dieckmann’s Clockwork Package, use Element.Level and add the Level Elevations to each Ceiling.


It is a common misconception that Dynamo is a geometry engine for Revit. William Wong at CASE recently wrote about that in his blog post Dynamo: More Than Grasshopper Lite. Dynamo can build advanced, mathematically defined geometry. So can Grasshopper. But Dynamo can also compute building data. And that makes it a unique product.

Using examples like these can be a good way to learn visual programming, test Dynamo on projects and teach your colleagues about data manipulation. Let me know if you come up with other ideas!

5Z7A2729 as fornøyd med resultatene

Tribute To The Boss

This is Christine.

One week ago she was my boss. Architect and CEO of Dark Architects. Today she is not. I have some things to say about the way she led my company.

My job is largely about making others better. My passion is enabling architects and engineers with digital design tools and skills, so that they can build better buildings faster, and with greater sense of mastery, autonomy and purpose. That basically means finding and developing better ways of interacting with computers, and teaching these to others. I’m in the knowledge sharing industry. When you have a job that does not necessarily generate immediate revenue, but is part of a long term strategy for creating lasting value, there’s one thing you cannot live without: leadership that shares and supports your vision.

I’ve met many people across the world who share this passion for technology and teaching, and have similar responsibilities at their companies. I’ve spoken with building information modeling (BIM) managers who had to fight owners and board rooms to build a strategy for digital innovation. I have listened as design technologists have elaborated about internal struggles to establish employee training and budgets for conferences. I have lost track of how many times I have recommended investing in hardware – really a no-brainer – only to be ignored when the outlay appeared.

Last year my company purchased high end gaming desktops for all employees who used BIM or advanced graphical software on a daily basis. That’s probably more than 90 % of the entire crew. I asked Christine how many people we should upgrade for this time. She responded with a smile, “all”. The same year we sent 6 architects and a renegade engineer (me) to Dublin to attend the Revit Technology Conference. I asked Christine vaguely if four or five would be too many, confident I was pushing my luck. She: “I think seven would be appropriate.” That’s almost thirteen percent of the entire company. When my friend Arne and me asked if we could open source and publish our company Revit library, she said enthusiastically “why the hell not?” I set up countless training sessions for my colleagues, collaborators and competitors; sometimes for up to five or six individuals, and not rarely for several hours. I can’t remember that we ever even talked about financial problems with that.

Many leaders I’ve met have talked with passion about their employees being the “core of the company”. Few put money behind their claims. My boss did.

Interestingly, she never really wanted to be the leader of Dark Architects, but was convinced by others when our previous CEO resigned. I’m left with the impression that she cared far more about her employee’s opportunities to thrive at what they do, than her own career as a leader, or board room approval. She strikes me as the leader who would say yes downwards and no upwards. That’s leader material.

Last, one attribute that I’ve found in my former boss, and that is very hard to explain, is a natural ability to make you want to be at your best. Another colleague, Lars Ribbum, said to me once; “some people just make you want to be awesome.” Christine possess this natural ability, without you being scared. At least not very.

I believe that if you are making your colleagues better, you’re doing a good job as a leader. I now know much about what that actually means.

Good luck on your new projects, Christine! I really hope we get to work together again in the future.

Disclaimer: These are my personal reflections, and not necessarily those of my colleagues or company, although I highly doubt they will object.

Animate design iterations in Revit with Dynamo

I want to animate design iterations in Revit with Dynamo.

Now I can. Thanks to the first ever Annual Dynamo Hackathon, which took place in Las Vegas during this year’s Autodesk University, I am now able to create animations of a whole set of various parameter calculations and variations. Eventually I want to include analytical data, quantities and optimization techniques in this workflow, but for now I have more than enough to learn about the current set of tools.


The idea came to me during breakfast the day after Matt Jezyck announced the Hackathon. I asked my friends Andreas Dieckmann and Julien Benoit what they thought about it, and they immediately got on board. When Andreas and I arrived in Vegas, we hooked up with Ian Siegel, and got to work. In short, we have produced 5 Dynamo Custom Nodes that can animate;

  • Number and Length Parameter iterations
  • Element Transparency
  • Camera movement
  • Element Color Ranges

Check out the very cool showcase video Andreas put together between AU sessions:

There are some limitations to what you can animate currently. Depending on our progress on these limitations, and more specifically Dynamo development, the plan is to release these nodes in the Package Manager early in 2015.

Check out the Dynamo 2014 Hackathon site for more information on the various projects at Autodesk University 2014 Dynamo Hackathon, and the Dynamo Blog Post for final results and voting at 1st Annual Dynamo Hackathon.

Above and below are some use cases that I have tested after AU. Both models are Dark Architects projects, with the above using Ian’s facade alternative on Origo, and the example below changing Adaptive Component parameters on the facade of Lørenfaret Grønn Portal.

LGP_take1(It may take a while for these GIF’s to load. They are rather large.)

BIM Conferences in 2014: A Summary of Published Content

Yesterday morning I woke up in Istanbul. By noon I was back at the office in Oslo having lunch with my friends at Dark. That flight marked my final appearance as a speaker at international BIM conferences in 2014. I’ve been in Melbourne, Chicago, Dublin, Las Vegas and now Istanbul. At all these events I have contributed with multiple presentations and labs, totaling almost 14 hours on stage. Most of the material has been presented multiple times, but the total number of handouts and datasets that had to be produced, revised and quality assured is overwhelming, especially due to Dynamo versions but also new Revit featuers.

In the menu Workshops above you can now download most of the material I have used in these training sessions. It’s all a collection of company training, conference labs or online presentations. Here’s a quick capture of 2014 additions, in reverse chronological order:

Autodesk University 2014

At AU 2014 I did one Dynamo lab and one Rebar presentation. The Dynamo lab was jam packed, and we created a pretty awesome mathematically defined roof structure of Adaptive Components that reported each panel’s deflection. The exercise was similar to that used in the double lab Julien Benoit and I hosted at RTC EUR 2014. A fun fact from this lab was that I had the company of two Lab Assistants; Marius Jablonskis from Norconsult, who had never seen Dynamo before but is in other ways a fine person, and Andreas Dieckmann, the Dynamo Grand Master. (He dislikes me calling him that, which makes me want to do it more.)

Smithsonian collage

The Rebar presentation was a repeat/continuum of the presentations I did on similar topics at AU 2012, 2013, RTC NA 2013 and RTC AUS 2014 previously. The only difference this time was that it was live streamed across the world, with a couple of thousand people watching. It’s still being watched in fact, as the recording continues to reside at


Common for both sessions was the great feedback I received both verbally and digitally (as class rating), and that I had a great time with my friends in the audience.

Revit Technology Conference Europe 2014

At RTC EUR 2014 I did one Dynamo presentation and the double lab mentioned above. The double lab differed from the one I did at AU in that it excluded Julien’s second part on using Dynamo for working effectively with analytical information on the basis of a simple Adaptive Component structure. Basically, I did the easy part of creating a structure, and my friend did all the complex analytical hacks with Python. We got great feedback for the session, but next time I think we will try to keep it a bit more simple. The maths in Dynamo that created the roof structure for us was developed in collaboration with the coolest dude in Computational BIM; Zach Kron.

Photo by Srecko Sljivic

Photo by Srecko Sljivic

The Dynamo presentation I did alone also got great reviews, even though I struggled a bit with some normals midway. I love doing live demos, and this time I built a space frame with variable thickness based on a double curved surface. Here I was luck to have all other Dynamo presenters at the conference lined up on the back row, commenting everything I did wrong in their eyes. Actually I wish they had, as that might have saved me from n00bing with normals.


Beautiful 3-dimensional math, developed with Zach Kron

Check out Julien’s blog; AEC, you and me for news and updates on his presentations.

Revit Technology Conference North America 2014

I wasn’t scheduled to attend RTC NA this year, but Steve Stafford contacted me two weeks before to inquire if I could cover for a cancellation. I can never say no to the man and booked my flights instantly.

I did a double lab on computational logic in structural design; the first part with Masses and Adaptive Components in the conceptual modeling environment; and the second part on Dynamo. The exercises I used was the same space frames I lectured on in Melbourne at RTC AUS a month before. My inexperience with labs at the time was saved by Brian Mackey and Bruce McCallum, who were both present and helped out the participants who ran into trouble. Thanks again guys!


Revit Technology Conference Australasia 2014

My first BIM conference of 2014 wasn’t until late in May, but the distance I had to travel made up for the lack of activity prior. I did two presentations; one my regular rebar show, and my first ever international lecture on Masses, Adaptive Components, Maths and Dynamo. Being the first time, I naturally ran out of time with Dynamo in the end. The rebar presentation, however, was really good, and it was later ranked sixth best session of the entire conference at the RTC Blog:

Space Frame based on Massing, Adaptive Components and The Pythagorean Theorem

Space Frame based on Massing, Adaptive Components and The Pythagorean Theorem

Next year I will focus more on Computational BIM and Dynamo in architecture, as that’s what I’ve actually been working on the last year.

Now it’s time to relax and bring the stress down for Christmas with the family. All my friends abroad, see you next year and thanks for an epic 2014!