Create Internal Elevations with Dynamo

Create internal elevations

3 min read

When documenting a building, it is often necessary to generate internal room elevations. Depending on the building typology, this may include all rooms or just those which special finishes or fixings, such as bathrooms. Within Revit, internal elevations can be easily created via View > Create > Elevation. What is nice about this process is that the elevation marker, and its corresponding view, are automatically rotated upon placement so that it is perpendicular to the wall so that the elevation is true.

The problem

The problem with this process is that if walls are orthogonal, best practice is to use a single elevation marker with multiple view indexes enabled to keep the documentation as clean as possible. But suppose this process is used on non-orthogonal walls. In that case, the internal elevation won’t be true and cause confusion. Take a stadium, for example, where there might be numerous radial walls, each of which will require its own elevation marker. This can be very time-consuming, especially if there are many rooms and each view needs to be renamed to match some naming convention. The challenge, therefore, is that two systems need to be adopted depending on the wall alignment:

  • If walls are orthogonal, use a single elevation marker where possible. 
  • If walls are non-orthogonal, place a separate elevation marker perpendicular to the wall.  
Create Internal Elevations
Multiple elevation marker conditions

Creating internal elevations with Dynamo

To solve this problem, Parametric Monkey has developed a custom Dynamo graph, available as part of our Dynamo Package Development service, which can be run within Dynamo Player. Given a list of rooms, the graph places the relevant elevation marker depending on the wall condition. Before running the graph, ensure your active view is the floor plan you wish to place the elevation markers. Once complete, users can then run the separate Place views on sheet graph to finalise the documentation process.

Create Internal Elevations
Dynamo Player

To run the graph:

  • Select the rooms to generate views from. Note the graph automatically filters out everything which isn’t a room, so there is no need to isolate elements first.
  • Define the view family type to be assigned to the new views.
  • Define the offset from the wall where the elevation marker should be placed. Note that this value is from the family insertion point.
  • Press Play to run the graph.

Computational logic

The graph filters out everything selected (input #1), which isn’t a room. Rooms are further filtered to ensure only placed and bounded rooms are used. Rooms where the boundary cannot be calculated due to self-intersecting boundaries or unbounded rooms are excluded and returned separately.

The finished face of the room’s boundary is then calculated, and its orientation is evaluated. If the room contains orthogonal walls (0, 90, 180 or 270 degrees), an elevation marker is placed at the room’s centre point, and the corresponding view indexes are enabled. If the room contains non-orthogonal walls, individual elevation markers are placed perpendicular to the wall’s centre point and offset based input #3.

Views are then renamed based on the following convention: ‘ROOM NUMBER – ELEVATION SEQUENCE’. The elevation sequences for orthogonal walls are numeric, whereas those for non-orthogonal walls are alphanumeric. However, this can be easily customed to confirm with another convention.


Generating internal elevations is often a rite of passage for many young graduates. But it need not be labour-intensive. As shown above, the process can be substantially automated, reducing errors and ensuring more consistent documentation. To learn more about our Dynamo Package Development service, drop us a line and discover how we can automate your Revit workflows.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Add Revision to sheets

Add revisions to multiple sheets

A simple Dynamo workflow for adding or removing a revision to multiple sheets simultaneously in Revit 2022 or lower.

Sync Room Parameters

Sync room parameters

A Dynamo workflow to synchronise instance-based room parameters, such as apartment number, nested within a Revit model group.

Rhino Inside Revit for Dynamo users

Rhino.Inside Revit for Dynamo users

Learn some of the key differences between Dynamo and Rhino.Inside Revit and discover the benefits of migrating certain Dynamo workflows to Rhino.Inside Revit.


© 2023 Parametric Monkey
Parametric Monkey and the Parametric Monkey logo are trademarks of Parametric Monkey Pty Ltd.


Drop us a message and someone from our team will be in touch with you shortly.


Thank you for your interest. Someone from our team will be in touch soon.


To find out about upcoming public workshops or to organise a private workshop, please submit the following contact form and we’ll be in touch soon.