Renumber doors by rooms

3 min read

Revit has many fantastic automation features. For example, it can number elements sequentially, such as grids, rooms and doors, as they are placed in the model. However, since the architectural design is not a linear process, this sequence can quickly become out of date. Unfortunately, Revit doesn’t have an automatic renumber command to correct the problem. In the past, Architects have either had to do this manually or rely on 3rd party apps, such as Imaginit. These methods proved to be either time consuming and/or expensive. One particular task which consumes much more time than it should is the renumbering of doors based on the room in which it is located.

Naming convention

Depending on your office’s naming conventions, a door generally is named something along the lines of, Element prefix – Room # – Sequence #, for example, D-101-01. Added complexity also comes into play when trying to define which room the door is located. Generally, a door will be numbered based on the ‘to’ room, unless that room is a corridor or an external area, in which case it reverts to the ‘from’ room. Confusing!


Room calculation point

Since Revit 2014, when Autodesk introduced the room calculation point, it has been possible to schedule the ‘to’ and ‘from’ parameters in door families. This feature has its limitations and quirks. However, assuming the family has been built correctly, how can we automate the naming convention?

One possible answer is to use BIMlink to export the schedule into Excel. Using a series of conditional statements, we could semi-automate the process. But for this to work, you need to be a bit of an Excel wizard, and it’s not that user friendly. Conversely, we can create a simple Dynamo script which fully automates the process, is easy to use and eliminates the need for either Excel or BIMlink.

Dynamo automation

To do this, you can use the ‘Door.RenumberByRoom’ node found in the Parametric Monkey Dynamo package. Users have the option to enter a prefix, such as ‘D’, and a separator, such as ‘-‘. Depending on your offices’ naming conventions, the custom node can be edited and re-ordered as required.

The script reads all doors in the project and returns the ‘to/from’ room number per door. (See this tutorial to renumber rooms). By default, doors are renumbered based on the ‘to’ room. If however there is no ‘to’ room, such as an external door, it will revert to the ‘from’ room. If there is neither a ‘to’ or ‘from’ room, that is, there is a missing room, the doors will be excluded from the renumbering process. Once this is known, all doors within the same room are sequentially numbered in an anti-clockwise direction. Boom! Hundreds or thousands of doors renumbered instantaneously. 

If you require more flexibility in the naming convention, use the ‘Door.RenumberProperties‘ custom node. This node will allow you to concatenate the parameter as desired.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Add Revision to sheets

Add revisions to multiple sheets

A simple Dynamo workflow for adding or removing a revision to multiple sheets simultaneously in Revit 2022 or lower.

Create Internal Elevations with Dynamo

Create internal elevations

Generate elevation markers and corresponding internal elevation views using Dynamo based on rooms and their bounding wall’s orientation.

Sync Room Parameters

Sync room parameters

A Dynamo workflow to synchronise instance-based room parameters, such as apartment number, nested within a Revit model group.

Rhino Inside Revit for Dynamo users

Rhino.Inside Revit for Dynamo users

Learn some of the key differences between Dynamo and Rhino.Inside Revit and discover the benefits of migrating certain Dynamo workflows to Rhino.Inside Revit.


© 2023 Parametric Monkey
Parametric Monkey and the Parametric Monkey logo are trademarks of Parametric Monkey Pty Ltd.


Drop us a message and someone from our team will be in touch with you shortly.


Thank you for your interest. Someone from our team will be in touch soon.


To find out about upcoming public workshops or to organise a private workshop, please submit the following contact form and we’ll be in touch soon.