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. These methods proved to be either time-consuming and/or expensive. One particular task that 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 organisation’s naming conventions, a door is generally 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 in. 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!
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?
Renumbering doors with Dynamo
One possible way is to use Dynamo, which fully automates the process. To solve this need, Parametric Monkey has developed a Dynamo graph, available as part of our Dynamo Package Development service. Before running the graph, ensure that all door families have the room calculation point enabled, as Revit’s automatic calculation of the ‘to room’ and ‘from room’ is inaccurate.


To run the graph:
- Select the doors to be renumbered (#1).
- [Optional] Define the prefix to be assigned to the Mark value (#2). This value can be left blank if desired.
- [Optional] Define the separator for the Mark value (#3). This value can be left blank if desired.
- Define the room parameter to reference (#4). The default is the room Number parameter.
- Specify either a numeric or alphanumeric naming sequence (#5).
- If a numeric naming sequence is chosen, define the precision (#6). A precision of ‘1’ will result in no padding, e.g. 1, 2, 3 etc. Whereas a precision of 2 will result in 01, 02, 03, etc.
- [Optional] Define the room parameter name to be used as a filter (#7). The default is ‘Name’ but can be blank if desired.
- [Optional] Define the room parameter value to be used as a filter (#8). For example, to exclude corridor rooms from the renumber logic, specify ‘CORRIDOR’ or whatever you’ve named the room. This value can be left blank if desired.
- Press Run.
Computational logic
The selected doors are filtered by the current view’s phase, and their to/from room properties are determined. The to/from rooms are then filtered based on the parameter specified (input #7) and its value (input #8). The value is not case-sensitive and enables the user to exclude, say, corridors from the renumbering process. Next, the doors are then grouped based on the ‘to’ or ‘from’ value. 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 a clockwise direction. Boom! Hundreds or thousands of doors renumbered instantaneously.
Conclusion
To find out more about our Dynamo Package Development service, drop us a line and discover how we can automate your Revit workflows.



