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 created for our clients.

Project Start-up

Setting up a central (workshared) model ready for your project team can be an enormous 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. Designed for BIM managers, these tools allow consistency across 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 enable worksharing manually.

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

This node creates 3D views which isolates a single workset to visually verify that elements are on the correct workset. Should additional worksets be created after the script has 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 necessary 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.

Substitute Line Styles

This node will substitute an element's line style for another, before deleting the old line style from the model.


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...

Rethinking Revit: Our Stockholm syndrome

Over recent weeks there has been a furore surrounding Autodesk and their flagship product, Revit. An open letter to Autodesk called into question Revit’s value given escalating licencing costs with stagnant product development. Some long-term customers have even begun considering abandoning Revit altogether and switching to rival software. So how has all of this come about and what’s to take away from the situation? This article offers an alternative view on the matter, suggesting a whole rethink of our relationship with Revit altogether. The Autodesk open letter For years, Architects have complained… Read More

Unintended consequences: Why a LOD400 model is not always desirable

Building Information Modelling (BIM) has brought about significant improvement to the Architecture, Engineering and Construction (AEC) industry. As this article will explore, however, is that the enforcement of specific BIM deliverables can be counterproductive and result in worse project outcomes. Specifically, the article unpacks the requirement of a fabrication-level model, known as ‘LOD400’. When challenging the fitness-for-purpose of BIM, some readers may be inclined to jump to the conclusion that if you are challenging BIM, you must be advocating CAD. This assumption is misguided. For those that know the work of Parametric… Read More

Finding North

Henry Ford once said, ‘The only real mistake is the one from which we learn nothing.’ This article, Finding North, is a tale of how a simple oversight in understanding north can have devastating consequences. The background The story begins some 20 years ago when a recent architectural graduate was working on a multi-residential project. There was nothing particularly out of the ordinary about the project apart from its beachfront location. Yet the size and bulk of the project were sure to raise eyebrows from the local council. And sure enough, it… Read More