Dynamo Package Development

Dynamo is a node-based visual programming interface developed by Autodesk. When used in conjunction with Revit, it has the power to generate and manipulate both geometry and data. Parametric Monkey can help automate and accelerate your AEC workflows by developing custom tools to suit your needs. Here are some of the custom nodes we’ve already developed to help our clients.

Project Start-up

Setting up a central (workshared) model ready for your project team can be a major task, especially if the project requires multiple models. Due to the repetition involved, it is possible to use Dynamo to automate and speed up this process. These tools, designed for BIM managers, allow for consistency cross multiple projects and models.

Create Worksets

This node will create worksets based on your naming convention. If required, the default worksets can also be renamed. Note that before you can run the script, you’ll need to manually enable worksharing.

Create Sheets

This node will generate blank sheets from an Excel file. The Excel file should contain the Sheet Name and Sheet Number values. The user will be able to decide which title block is to be applied. If additional instance parameters are to be populated, such as Drawn By or North Point visibility, then this can be customised but is out-of-scope.

Create 3D workset views

To visually verify that elements are on the correct workset, this node creates 3D views which isolates a single workset. Should additional worksets be created after the script has been run, then it will need to be re-run to hide the newly created workset.

Create Sheet Sets

This node will create sheet sets based on a pre-created set. For example, the node will take the General Arrangement (GA) floor plans, duplicate the views, rename the views and assign the correct view template, to create Reflected Ceiling Plans (RCP), Concrete Profile Setout Plans, etc.

Create Rooms

This node will automate the creation of unplaced rooms en mass based on an Excel spreadsheet. The Excel file should contain the Room Name values. If additional instance parameters are to be populated, such as Department or Occupant, then this can be customised but is out-of-scope.

Place Views on Sheet

This node will take the selected views and place them onto new sheets based on the maximum number of views per sheet.

Create Internal Elevations

This node will create four internal elevations from orthogonal rooms in the current view. 

Create Marketing Plans

This node creates marketing floor plans for each apartment. The views are cropped to the bounding box of the apartment, inclusive of any external balconies or terraces.


It is inevitable that, over time, designs evolve. These tools allow the design team to quickly clean up the model to ensure consistent documentation throughout the model.

Renumber Rooms

This node will renumber rooms sequentially based on a (model) spline. Only rooms that intersect the curve will be processed. This allows for batch processing which is often desirable. The number padding can then be set. For example, no padding will result in 0, 1, 2 etc., whereas a 2-digit padding will result in 00, 01, 02, etc. An optional prefix, such as the level number, can also be set.

Renumber Balconies

Due to SEPP65 requirements, it is often necessary to know which balcony is associated to which apartment. This node will rename balcony rooms with a suffix based on the apartment room number. This allows for easier scheduling and compliance testing.

Rename Rooms

This node will rename rooms based on the model group that is located within. This is useful as often apartment model groups are decoupled from the party walls and façades. This node thus allows for the room and the model group to be in sync.

Centre Room Location

This node moves all rooms within the project to the centroid of the room. If you have an odd shaped room and the centroid is going to fall outside of the room boundary, the node will keep the room in its current position. The room tag can also be moved to the new location.

Adjust Upper Height

This node will take all the rooms in a model and modify their properties so that the upper limit is based on the level above and with a 0 offset, rather than an unbounded height.

Renumber Doors

This node will renumber doors based on the room in which it is located. For example, Element prefix - Room number - Sequence number (D-101-01). For this node to work, the door family should ensure that the ‘to’ and ‘from’ parameters have been enabled.

Renumber Windows

Like the renumber doors node, this node will renumber windows based on the room in which it is located.

Rename Walls

This node will rename wall types based on the wall build-up. The nodes calculates each wall layer’s thickness and its material code, and then renames the wall type based on this sequence.

Rename Grids

This node will sequentially rename or renumber grids. Since no two grids can be named the same, the node ensure that you won’t receive the error: “the name entered is already in use. Enter a unique name.” This node works only on orthogonal grids.

Centre Door Tags

This node moves the door tag from its default location, which corresponds to the door’s insertion position, to within the swing of the door for clearer, graphic representation.

Stair Documentation

This node generates annotations for stairs, both in plan and section, by creating dimensions, number systems, spot elevations, stair run tags and minimum clearance zones. The node works best on standard stairs or typical stairs which are grouped and copied up.

Sync Room Parameters

This node synchronises room parameters nested within a model group. Parameter must be instance based and set to ‘values can vary by group instance’. 


These tools allow BIM managers to periodically go into a model and perform basic model maintenance procedures quickly and efficiently.

Assign Elements to Workset

This node will assign elements to a workset based on its category and/or properties, for example, exterior or interior walls. The node can be re-run multiple times to ensure every element is on the correct workset and that views display as intended.

Views to Uppercase

Depending on the option selected, this node will rename either views, schedules or sheets to be upper-case.

Rename Working Views

This node removes the default suffix applied to duplicated views and renames the view based on your company’s naming convention for working views. This ensures working views are properly organised and separated from production views.

Align Views on Sheets

This node will align views on sheets based on a template sheet. This ensures that all sheets have a consistent graphic layout to them.

Add Revisions to Sheets

This node will batch add revisions to selected sheets saving precious time when issuing drawings.

Delete Direct Shapes

This node deletes all direct shapes in the project. This is necessary when updating direct shapes as any direct shape with an identical name in the project will cause the file to crash.

Room Check

This node checks for problems with rooms, such as self-intersecting boundaries, and should be run prior to any other room based nodes.


These tools assist in compliance testing, whether it be for the Apartment Design Guide (ADG)/ SEPP65 or the National Construction Code (NCC).

Balcony Size

For SEPP65 compliance it is important to know the dimensions of balconies and if they satisfy the minimum dimension as defined in the Apartment Design Guide. This node check compliance and assigns a yes/no value to the room’s shared parameter.

Views From Sun

This node will generate a series of 3D views based on a time period, for example 9am - 3pm on 21 June. This is useful for visual verification for SEPP65 solar access requirements. The node factors in daylight savings time (DST) and will set the sun settings to match the date/time of the view.

Stair Compliance

This node will check all stairs in the model and test for maximum riser height, minimum going length, maximum number of risers, and minimum clearance width.

From Our Blog...

Improving operational effectiveness with Dynamo

Across the Architecture, Engineering and Construction (AEC) industry, there are vast differences in how well companies execute basic tasks. The performing of these tasks better than how rivals perform them, is known as ‘operational effectiveness’.1 Operational effectiveness is important because it improves productivity and profitability. While many might be quick to point out that operational effectiveness is fundamentally different and not a substitute for a carefully defined strategy, if a company can’t get the operational basics right, it doesn’t matter how brilliant their strategy is.2 This article explores how companies can improve… Read More

Putting BIM in perspective

Building Information Modelling, or BIM, is often portrayed as the saviour of the Architecture, Engineering and Construction (AEC) industry. On the whole, BIM can be seen as a positive direction for the industry, attempting to address the inefficiencies and waste in the industry. Yet at the same time, numerous fractions of the BIM movement are threatening to hinder its cause. Go into any architectural office in the world today and you’ll find someone ‘doing BIM’. Typically with a technical background, they are known as evangelists, preaching the word of BIM. Listen to… Read More

BIM ecosystem

Building Information Modelling (BIM) entails interdependencies between technological, process and organisational/cultural aspects. These mutual dependencies have created a BIM ecosystem in which BIM related products form a complex network of interactions.¹ For a long time interoperability between these products has been essentially non-existent, resulting in users unwilling to interchange between different software platforms. Rather than using the best product for the job, users have preferred to remain in the software that they are most familiar with, possibly to the detriment of the design. One such example of this is conceptual massing within… Read More