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.

14 thoughts on “Door Swing Direction in Revit

  1. Erkki Karjalainen

    I have done according to your design Door Swing Direction in Revit, Dynamo just like you but the result is incorrect, Yellow boxes.
    If only it were possible, and you could send light model of Revit project with the code works, so I could see what settings I am missing on their own project.
    And, if you will, but also the Dynamo code if I’m in the doing something wrong.!

    Sorry for my bad english but I hope you understand.

  2. TinyP

    I am getting the same result as zcgt21 and Tapani. The problem seems to be linked to the value in the code block. I am entering “Left”; and it doesn’t seem to like it it goes yellow with a warning: Warning: Dereferencing a non-pointer.

  3. zcgt21

    I’m a spanish speaker, so my english es very bad, I hope you understand.

    I’m following the instructions of the video, but my code doesn’t work, I don’t know what is happening, when I do the last part, (Element.SetParameterByName) and apply “run” the node it’s turn yellow and show me the Warning: Dereferencing a non-pointer. I no have idea.

    Even edit my family door and create a new parameter called “Abatimiento”.

    Thanks for your time.

  4. Matt Fleming (@mfleming04)

    What is your thought on the real world use of this app? Maybe run Dynamo just before printing or at specific stages to make sure your plans are updated? Or have it running in the background as the user makes the changes that day?


    1. Håvard Vasshaug Post author

      Hi Matt:) On a general basis I would say that data is best updated as often as possible. Live data = less errors. In this case that is practically impossible, and I think you would look at updates every time someone is to review the model documentation. Which basically means before issues. I can’t have one def running in the background as I use dynamo for many things. This problem relating to updating data will be irrelevant when we can start baking dynamo definitions inside Revit families.

  5. Pingback: Door Set Handing | archi-lab

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s