By Dennis Collin
When creating items in Revit, the software assigns many built in parameters, such as Manufacturer, Comments and Mark. This data can be scheduled and tagged and is linked to all views including schedules, drawings and sheets and indeed this coordinated approach is the whole point of BIM; consistent, coordinated data!
When creating doors and windows, Revit assigns a value to Mark which is often the creation order and this value can be tagged to provide a reference to drawings and schedules etc. However, the values that Revit assigns need to be changed as the design develops and whilst the information only needs to be changed once, it can still be time consuming adding say a prefix to a door!
However, a few years ago a visual scripting interface was included with Revit called Dynamo and this utility can be employed to automate many tedious tasks, from amending data, reading or writing from Excel to placing views on sheets, the possibilities are almost endless!
Revit just puts a number to the Mark field, but for doors and windows a prefix may be required. Rather than editing several hundred door references, a script can do all of this for you. If doors and windows are not relevant to you then the scripts can easily be tailored to suit mechanical, electrical or structural components.
Dynamo can be accessed from the Manage tab and with a little knowledge of some basics, a routine can be written like the figures shown. The categories node specifies which Revit category to access, the ‘All elements of category’ lists all the elements. We can then get a specific parameter by its name which will create a list of all the current door numbers. Code Block is a custom node that can do all kinds of tasks, but in this example it is specifying the parameter name and the prefix we wish to append to our existing mark field. The final step is a simple plus combinator which applies the prefix to the list of numbers.
To make the script work for columns or other elements, simply change the category and code block nodes to suit.
The next step is to write this amended list of mark values back to the Revit project. I will show this easy process in a future post.