One of the requirements for specifying a door is to know which way it swings, both left or right and, if it has a keyed side, in or out. In Revit this information is not readily available, but the information is there. This piece will help you manage your door quantity takeoffs by first identifying how Revit represents this information and how to use that information to populate the doors with the correct information using Ideate BIMLink or to verify that information with Ideate Query in Ideate Explorer.

There are four types of swings: Left Hand (LH), Right Hand (RH), Left Hand Reverse (LHR), and Right Hand Reverse (RHR). There are many explanations online with diagrams of each.

Default Revit Family
Default Revit Family

For this example we will be using the default Revit door as a reference. It is modeled in the family as a Left Hand Reverse. This is important as it impacts the way the Revit properties should be interpreted. If you are using families modeled in a different hand than the default family, you will have to note those families and adjust the calculations as appropriate. This workflow also requires that the family have flip controls in place, one horizontal and one vertical.

The different door orientations labeled with their swing, Revit, door families, door swing, Revit Architecture
Doors in Plan

Here is an image of a Revit file that I created for this piece. There is one of each swing, using the Revit placement tools and the flip controls. I then used the mirror command to make another set of doors (in blue) to show that the mirror command does get captured.

There are two properties in Revit that are not listed in the properties palette but are accessible through the API that will determine the swing of the door. These properties are exposed by both Ideate BIMLink and Ideate Query. The two properties are:

  • Is Facing Flipped – This indicates the side of the wall the door swings towards. Since the default Revit family swings out (up in the family) a value of ‘False’ indicates that the door is a ‘Reverse’ door, and a value of ‘True’ is not reversed. 
  • Is Hand Flipped – This indicates the hand of the door. Since the default Revit family is modeled as a Left Hand, a value of ‘False’ indicates that the door is a ‘Left Hand’, and ‘True’ indicates that the door is ‘Right Hand.’

Additionally, you can include ‘Host Wall: Function’ or your ‘Has Lock’ parameter to identify those doors that do or do not need to be marked as ‘Reverse.’ In this example we won’t be including those parameters.

There are two workflows to manage these parameters, allowing you to rely on one resulting text parameter. 

In Ideate BIMLink, a door instance link is created with the parameters listed above, along with the text parameter that will store the resulting value. If you are using families that are modeled differently, you will also want to include the ‘Family Name’ property. 

The property values for newly placed doors, Revit, door swing, excel, Ideate BIMLink,
Properties in Ideate BIMLink

This information is then exported to Excel. To convert the information we can use one of the following Excel formulas, where C is the ‘Is Facing Flipped’ column, D is the ‘Is Hand Flipped’ column.

With Full Text


IF(D2,"Right Hand","Left Hand"),

IF(C2,""," Reverse"))





Once this formula has been put in place, it can be dragged down to the rest of the rows. The data can then be imported back into Revit, updating the parameter.

The result of importing the Excel formula, Revit, Excel, Ideate BIMLink, Door Swing, calculate, swing parameter, Revit parameters
Properties After Import

In Ideate Query (a part of Ideate Explorer) you can verify that the swing parameter you have defined is accurate. Select the doors that you would like to examine (or all the doors). Open Ideate Query. Select the swing parameter and either one or both of the ‘Is Facing Flipped’ and ‘Is Hand Flipped’ properties from the list using ctrl+select. The query tool will group the elements by these values allowing you to spot discrepancies. You can then select the discrepancies to fix. 

Finding values that are incorrect, Ideate Query, Ideate Explorer, Revit, door swing, door hand, Revit Parameters
Doors in Ideate Query

Here is an image showing some issues I made on purpose, one blank value from a new door, one that is using the wrong syntax for the parameter, and one that was mislabeled, creating a duplicate in the list.

About the Author

Jesika DiGregorio – Software Engineer
Jesika received her Bachelor of Architecture from the University of Oregon in Eugene where she also spent time studying advanced math. Her work experience includes Junior Designer at an award-winning firm specializing in architecture and land planning, and Intern Architect at a firm that provides services in planning, design, construction documents and construction administration for projects of all sizes. After working in architecture design for several years, Jesika decided to pursue her interest in programming and her love of efficient systems. She now serves as a Software Team Lead for Ideate Software.