Door Swing Direction in Revit

Mondays are perfect for making videos.

On Saturdays though, you find the right problems to solve.

Last Saturday, at around noon, I asked my friend Konrad Sobon in New York City if he had ever considered looking at the old Door Swing problem in Revit with Python, API and Dynamo eyes. Later the same day (I think it was Labor Day in the US) he uploaded a small Custom Node to his website archi-lab ( I’ve been waiting since then to test and break it, but apart from a small bug that prevents me from using the Categories node in Dynamo (this is not Konrad’s fault), it works fantastically well! Hard as stone – impossible to break!


Until we can bake Dynamo definitions inside Revit families, the way to use this is the same as most other addins: Run before you QA your documentation. (Striking double meaning there.)

Documenting Door Swing and Handing Direction has been a lacking OTB functionality in Revit for a very long time. Architects who needed to handle this had two choices: Do it manually (suicide!!!) or buy addins. Many of these addins have worked extremely well, but now you can do it yourself. For free.


This is another example of how building designers, with a little help from people with programming skills, can start designing their own software, and share it with the rest of the world.

Flat People

I see flat people.

Flat 3

Andy Milburn did too, and not only people. In his posts Flat People and Tree Family Download from last year he uploaded a sample of Entourage and Planting families that look much better than the OOTB RPC’s Revit ships each year. Both on drawings, in perspectives, with or without shadows and transparency. I downloaded them, did some enhancements, and now you can download my versions from Content.

Andy encouraged people who used his families to share their developments. As it turned out (in the comments of Andy’s post), Ukrainian Revit blogger Dmitry Dronov had already made some flat people. They were published in his post People. Entourage. from 2012. I’ve downloaded his starting 11 as well.

Flat 2

I recently met Andy Milburn for the first time. He spoke at Revit Technology Conference North America in Chicago in June, and so did I. Great guys, interesting story, and I have to admit that I felt like a groupie again for the first time since I first met Steve Stafford.

I hope you enjoy using this content as much as I do, and that you will post your own flat people if you make some.

i see flat people


Dynamo for Structural Design at RTCEUR 2014

One of this year’s definitive personal highlights will be the dual lab Julien Benoit and I will be hosting at the Revit Technology Conference Europe 2014 in Dublin by the end of October. My recent adventures at RTCAUS in Melbourne (read more here) and Julien’s unstoppable research has produced some interesting results, particularly on working with Adaptive Components, Structural Framing, Analytical Models and Loads effectively. We’ve made a short teaser to show a glimpse of what you can expect to learn if you decide to show up on the green island.

Sign up for the conference: Revit Technology Conference Europe 2014

Julien’s blog: AEC, you and me

See you there!

Space Frame with Structural Framing in Dynamo

Space Frame with Structural Framing in Dynamo

Dynamo 0.0.1

Space Frame with Structural Framing in Dynamo

Space Frame with Structural Framing in Dynamo

The last year I’ve become more and more involved with Dynamo, the open source visual programming interface that eats, drinks and sleeps with Revit. Since Christmas I’ve arranged multiple Computational Design workshops at Dark with the goal of increasing interest in visual programming and narrowing the gap between BIM and Computational Design tools. We’ve had Nathan Miller from CASE over the Atlantic for a fantastic training session, and I’ve started speaking about Dynamo at international conferences.

Twisting Elliptical Tower with Attractor Wave from Nate's training session

Twisting Elliptical Tower with Attractor Wave from Nate’s training session

Why? Apart from the obvious fact that I like it, I think there are three very interesting aspects of playing around with it. First, and most apparent perhaps, Dynamo provides an opportunity to work with complex and optimized shapes and structures in far less time than traditional tools will. Second, since it interacts deeply with the Revit API, it allows us to develop and share BIM automation scripts. In other words, you, me and everyone can create automated behavior and extend the hard-coded capabilities of BIM and Revit with little or no experience with programming. Last, and for me most interesting, it opens the first door to a vision of designers taking ownership of, and designing their own design tools. Ever since the Personal Computer became mainstream almost all building designers have been slaves to what software developers have done. This might provide an opportunity for the building design industry to start getting actively involved in how software works.

Jesse Pinkman as Adaptive Components in Revit with Dynamo

And that’s pretty interesting stuff. Ever since my introduction to CAD (you can read more about that here), I’ve spent an enormous amount of energy on working for a more efficient and fun way of deigning better buildings. It’s hard not to imagine Dynamo, or an evolved version of it, being part of that now.

Very well. So what have I done lately?

Dynamo in Structural Design

At the recent Revit Technology Conference (RTC) Australasia in Melbourne, I gave my first ever presentation of Dynamo in Structural Design for an international audience. I got overwhelmingly positive feedback after the session, which confirms my suspicion that visual programming and computational logic in structural design has some promise.

Space Frame with varying thickness

Space Frame with varying thickness

During the hour and fifteen minutes I basically went through two examples of working with Conceptual Modeling, Math and Dynamo, both involving some version of a space frame.

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

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

The Dynamo exercise builds a double-curved space frame of native Revit Structural Framing elements, that include Analytical data. This offers loads (pun intended) of potential re-use in structural analysis workflows.

Reaction Loads (Dead and Live) analyzed in Revit Extensions, saved as Internal Loads in Revit and tagged

Reaction Loads (Dead and Live) analyzed in Revit Extensions, saved as Internal Loads in Revit and tagged

The frame has a computational attractor system that makes it thicker in the middle and more narrow by the supports, all perfect for an optimized structure.

Axial Stress analyzed in A360 Structural Analysis and visualized in Revit

Axial Stress analyzed in A360 Structural Analysis and visualized in Revit

The four steps in building a Double-Curved Space Frame with computed varying thickness in Dynamo

The four steps in building a Double-Curved Space Frame with computed varying thickness in Dynamo

Those who will be at RTCNA in Chicago can see this material on the Friday of the conference. Not only can you see how it works; I’m modifying the presentation into a lab so you can interact as well.  I wasn’t originally scheduled to be there, but dues to cancellations the committee asked me to come. Hope to see you there!


If you, or someone you know, is interesting in learning how Dynamo works, interacts with Revit and extends the capabilities of BIM tools, please do not hesitate to contact me for availability and details. All my training sessions are highly interactive, and we use a lot of improvisation to find the right problems to solve. I’m also constantly updating the Dynamo part of my Training schedule, in addition to the Gallery.

Exercises in use of trigonometry to generate different surfaces and control parameters

Exercises in use of trigonometry to generate different surfaces and control parameters

Workshops and development

I will continue to host Computational Design workshops at Dark. During these we usually start by going around the table with a quick recap of recent developments, and continue by working collaboratively on different design problems. Please let me know if you would like to be invited!

Recent research on Diagonal Grids and Structural Framing, Perspective

Recent research on Diagonal Grids and Structural Framing, Perspective


Recent research on Diagonal Grids and Structural Framing, Dynamo definition


Three individuals come to mind when I’m thinking about who to thank for my new found passion and skills. First Nathan Miller at CASE for traveling far across the continents to help me and my Norwegian colleagues and friends take a leap in Dynamo knowledge. Only months before his first child was born. Congratulations and thanks! Second Dynamo Master Andreas Dieckmann for his extreme Dynamo and Python knowledge, but perhaps most of all because of his inspiring attitude towards sharing that knowledge along with vast amounts of valuable packages. World class innovation. And last, but not least, my own mentor Julien Benoit. Our brainstorming, regular meetings and common goals are fantastic to be a part of, and I look very much forward to our collaboration in the future, first of with a joint lab at RTC Europe. Interestingly, a little over a year ago I didn’t know who any of these individuals were. 2013 really seemed to be the year of fantastic new connections.

What lies in the future then?

Like most Dynamonians, I have realized that Python is something that just has to be learnt. It’s not a question of if any longer, but when. It’s when you dive into Python that you really start automating BIM, as you can build a lot of custom Revit interaction through Revit API. Also, I both hope and believe I will get a chance to use this technology on innovative architectural and sustainable design soon. I’ve done some simple research on competitions and early phase design iterations, but it lacks depth. Oh, and I need to make Dynamic Relaxation work.

Simple Facade Study Dynamo Iteration

Simple Facade Study Dynamo Iteration

I hope some of this can contribute to expanding interest around this new box of technologies. My enthusiasm and knowledge of this has little value if there is no one I can show it to. That’s you. Let’s do it!

Revit and Reinforcement


Structural rebars in beam

I had the great pleasure of presenting Revit Reinforcement problems, solutions, features and workflows at the Revit Technology Conference Australasia 2014 in Melbourne Australia last week. As always on these conferences I get to meet so many interesting and smart people who share my passion for 3D digital building design, but this time something was slightly different. This time I met surprisingly many who was already familiar with parts of my work on Reinforcement and Adaptive Components. That was a bit new to me, and something that makes me immensely proud. To realize that people on the other side of the planet use your research is indescribably motivating.


Changes since previous Rebar presentations

The presentation I did was basically the same brain dump curriculum that I did at AU 2012, RTCNA 2013 and AU 2013, although this time modified with updates for Revit 2015 (there are a few important ones) and removal of the sections on complex modeling (double-curved concrete walls and post-tension reinforcement). I decided to remove the last parts mainly because I’ve done little progress on the Adaptive Component research lately, and also feel these families have some performance issues when used on multiple and large repeaters.


Rebar Set Symbolic Representation

To me, there are two big new features in Revit 2015 when it comes to reinforcement: Symbolic Representation of Rebar Sets and Rebar Number. As I said during my presentation, these features seem to work really well, and especially the representation tools look good with last year’s Multi-Rebar Annotation families. Hat tips there to Pawel Piechnik and his team at Autodesk for implementing important features that are easy to use, fast and well implemented.

Rebar Number

Rebar Number

The presentation I did at AU 2013 received amazing reviews, something I naturally was rather pleased with. Here is a selection, with ratings from 1 to 10:

  • Quality of the class materials: 9.44
  • Overall Class Satisfaction: 9.24
  • Speaker’s level of preparation: 9.56
  • Quality of the technical content: 9.38
  • Speaker’s knowledge of the subject: 9.47
  • Speaker’s ability to present and communicate: 9.41

The RTCAUS 2014 presentation was also well received, but feedback forms are not yet complete.

Download and read the updated Rebar bible and RTCAUS handout from Content.

Training March Update



One of the things that I both do and enjoy most at my work is teaching Revit to architects and engineers. Building on my experiences the last couple of years, and in particular the last year at Dark, I’ve come to formalize the different training sessions that I feel are valuable for the people who attend, and that I enjoy doing most myself.

I’ve updated and added these to the Training section.

I freelance these sessions now, in addition to doing them at Dark, and whoever is reading this and thinking “that would be cool” is more than welcome to check with my availability.

Here are the courses and presentations that I have formalized so far:

Concrete Reinforcement: The topic of my presentations at AU and RTC the past year and a half, and my main occupation for the good part of the past five years.

Conceptual Modeling: Derived from my obsession with Adaptive Components, learnt during last years paternity leave and quality assured at Computational Design workshops at Dark.

Dynamo: Julien Benoit told me I needed to learn this, and he was right. Not only is it the future of building design, whether you make crazy forms or just work fast, It’s also very much fun. The exercises have been developed at Computational Design training sessions and workshops at Dark this winter.

Families: The first thing I was told at Dark when I came here was “make a training session for family creation”. I’ve taught families for 7 or 8 years now and still work on perfecting the exercises. My focus now is user friendly and beautiful content; Less is more.

Let me know if you are interested in these topics, know someone who would be or if you have suggestions for other content!

Adaptive Components

Adaptive Components

The Passion of You

It was damn cold in Drammen in October.

My girlfriend’s mother’s old bicycle was struggling underneath me, more because of the state of the bike itself than the weight it’s passenger. It was damn early as well.

It was 7 am and I was on my way to the warehouse where I worked for the time being. After a summer of all kinds of weird and unpleasant jobs I had finally managed to get a steady income working indoors, sorting athletic gear and underwear. Being a graduated engineer with a master’s degree in structural analysis and design in 2003 was pretty hard. I didn’t have the best grades and the market was slow. So slow that I had to take whatever work that would pay my bills.

And every morning, riding my girlfriend’s mother’s old bike, I passed the huge castle where one of the biggest and most renowned engineering companies in Drammen had their offices. The building was located some distance up a hill, and loomed majestically as I passed, shivering in awe.

I had been trying to get an opportunity at the company, but nobody wanted to take a chance in a very uncertain building industry. After some time though, they accepted my initiatives and I got a job working as an engineer 5 months after graduation. I still remember the day as one of the happiest moments in life. I would be working in a heated office – a castle! – not a cold warehouse. I would even get my own computer and a telephone.

During my studies I had come across 3D modeling in AutoCAD and 3ds max, and was naturally both pleased and excited that I’d be working with the former. LT actually, but who cares – there was warm coffee in the kitchen! I’d done some pretty advanced modeling in acad, learnt sweeps and extrusions, and boolean operations. I had also learnt how to blow everything up in max. I knew I liked it, and I knew I could do it pretty good.

9 months later I sat at the same place, staring at my computer screen. I was the world champion of offsetting lines and counting rebars. Every time a design changed, I’d redo some pretty basic calculations, offset lines and count the rebars over again. And over again. I never saw the faces of the architects that I worked with and I very rarely did more advance engineering work than validating concrete foundations and wood structures. I had become disillusioned and demotivated. Don’t get me wrong – I am eternally grateful to the leaders and colleagues how took me in when no one wanted me, but I was simply not passionate about the tasks I was doing.

By 2005 I got a job offer. Through coincidences and connections I was approached by a company who needed someone to teach 3D AutoCAD. Both my mother and father were teachers, I knew I loved 3D and the decision became pretty easy to make. I spent 3 months preparing my first Autodesk Architectural Desktop (ADT) Basic Training session, and learnt more during the 3 days of the course then I did preparing. After a few of the next training sessions I learnt all the modeling tools, the Style Manager and even the infamous Display Manager.

Then one day I saw it.

I still remember the venue outside Barcelona in the summer of 2005. Tatjana Dzambazova and John Adams were showing cross-disciplinary coordination using a software called Revit. After them, a tall man with a big ass afro – David Conant – strolled up on stage showing off some features in this apparently groundbreaking program. It soon became apparent that all the cool guys used Revit rather than ADT, and it din’t take long before I started playing around with it. I bought Paul Aubin’s Mastering Revit Building 9.1, and after some months learning I got a new job teaching Revit.

Almost 6 years later, in December 2012, I stood in a carpet room at Autodesk University Conference and Exhibition in Las Vegas, Nevada, talking to the participants who had just attended my first ever presentation off Norwegian soil. I had talked, stuttered and fumbled about concrete reinforcement modeling in Revit for 90 minutes, and was ready to find a bar with some Aaron Maller in it. At that exact moment I realized that I had just found the core of my passions: teaching others about the tools I wish I had nine year ago. Showing young architects and engineers that there are more things to a working life than offsetting lines – that we can build, coordinate and analyze digital 3-dimensional prototypes before they are built, and do so with building blocks that are connected in a database that allows you to revise your design instantly. Anywhere. Any time.

Last year, in 2013, I read Sir Ken Robinson’s book The Element: How Finding Your Passion Changes Everything. I have developed a firm belief that one of the biggest potentials for innovation in the building design industry is helping young people find their passions. I know this from my own experience. In order to do great work you need to be passionate about what you do; In order to do great creative work you need to absolutely fucking love it.

Robinson says that there are two main features and two conditions that need to be in place in order for an individual to discover her Element. The features are aptitude and passion, and the conditions are attitude and opportunity. The sequence goes like this: I get it; I love it; I want it; Where is it?

I really like the way Sir Ken Robinson finishes his book:

To make the best of our time together on this small and crowded planet, we have to develop – consciously and rigorously – our powers of imagination and creativity within a different framework of human purpose. Michelangelo once said, ” The greatest danger for most of us is not that our aim is too high and we miss it, but that it is too low and we reach it.” For all our futures, we need to aim high and be determined to succeed.

To do that each of us individually and all of us together need to discover the Element.

Have you found your passion? Do you know your Element? Does time fly when you concentrate on the fun parts? Does your work include fun parts at all? Do you know anyone who definitely know their Element? Do you know anyone who definitely don’t? Ask yourself these questions, and in case you have found yours: help someone else find theirs.

It was damn warm in Las Vegas in December. I looked back at the sea of change and wondered where my (ex) girlfriend’s mother’s bike was.