As architects, we commonly find ourselves faced with a large number of rooms on a floor plan that must be numbered sequentially based on their layout. This type of data is not easily manipulated within a tabular format of an Excel spreadsheet nor a Revit schedule. We need to see the spatial configuration of rooms in a plan to understand how the renumbering needs to be applied.
Renumbering rooms with Dynamo
To solve this issue, Parametric Monkey has developed a Dynamo graph, available as part of our Dynamo Package Development service. Before running the graph, all room elements should be centred within their respective room boundaries. This can be automated using our Centre room location script. Next, draw a model line spline through the rooms to be renumbered. Ensure the spline passes approximately through the centre of the rooms. Multiple splines can be used if batch processing is required.
To run the graph:
- Select the model line spline (#1).
- [Optional] Define the prefix and separator for the new room number (#2). Typically, this is the level number.
- Define the digit padding (#3). 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.
- Define the starting number (#4). Typically, this is ‘1’ unless you need to run batch processing, such as continuous numbering over multiple ‘wings’ of a building.
- [Optional] Define the room filter parameter (#5). If all rooms are to be collected, make the value blank.
- [Optional] Define the room filter parameter value (#6). Only rooms that contain this value will be included. If all rooms are to be collected, make the value blank.
- Define the parameter to modify (#7). This must be a Text parameter, and additionally, if the rooms are nested within a model group, ‘Values can vary by group instance’ must be selected. If no parameter of that name exists of category ‘Rooms’, an error will be returned.
- Press Run.
Computational logic
The graph collects all visible rooms in the current view, filters them, and extracts their location point. This point is then used as a reference to evaluate the closest point to the model curve. These points and the associated rooms are sorted based on their curve parameter.
A sequence of numbers is then created and concatenated with the desired prefix. Finally, the rooms are updated based on the new numbering sequence. Once run, the model curve can be deleted or retained on a hidden workset, for example, for future modification.
Conclusion
To find out more about our Dynamo Package Development service, drop us a line and discover how we can automate your Revit workflows.





