Revit 2021: Essentials Training for Structures

Some of you may have been Furloughed or unable to work during the current COVID-19 crisis and I am continuing to create tips and tricks, tutorials and videos that are suitable for intermediate/advanced users of Revit. However, there are many of you that are possibly still using 2D CAD applications that would like to move into Revit for project delivery, or those that may want to revisit the essential skills required to use Revit.

I have started to create a course that is FREE and hosted on my YouTube channel. Additionally, I have created a website that hosts the required datasets that are needed for the online course. Currently I have the first module created (40 mins)

Revit 2021 Training

I am continuing to build the course and hope to cover all the essentials skills to work with Revit 2021 using Steel, In-Situ Concrete & Precast Concrete. The course is project based and builds on skills learnt on previous tutorials to build a full structure from a blank template.

You can find a link to the datasets here:

and here for the YouTube Playlist:

Hope this helps people to start their Revit learning! Feel free to comment on the video series and make suggestions!



Revit 2021 Tutorial – Structural Data Extraction Part 2

In part two of this tutorial we will look at utilising the MS Excel workbook that was exported from Revit 2021 in Part 1. If you did not work through part one of the tutorial, here is the link:

The primary part of this tutorial will be looking at Microsoft Power BI and importing the MS Excel workbook. Obviously, you can present the data directly in MS Excel by using the inbuilt tables but Microsoft Power BI has better tools for presentation and data visualisations and allows data tables to be referenced to each other via unique keys. Another advantage is that the dashboard can be shared via a weblink to anyone that wants to consume the data.

Just as a quick recap, when exporting Revit model data via ODBC, Revit creates a data table for each model category. Additionally, the tables are differentiated by instance and type.

In the image below you can see the worksheet for the floor instance.

Revit Floor Instance

Below is the table representing the floor types

Revit Floor Types

Working with Microsoft Power BI

Once Microsoft Power BI is running the interface should look like the image below. In this tutorial I am using the desktop version.

Microsoft Power Bi Interface

The first step is to connect to a data source. In this case we will connect to our Microsoft Excel workbook. On the Home ribbon click Excel.

Power Bi Connect to MS Excel

You then browse to your MS Excel file. Power BI will then connect to the data and present the Navigator. In this example we will select the following tables:

  • Floors
  • FloorTypes
  • Levels
  • StructuralFraming
  • StructuralFramingTypes


Click the Load button. This will take a few moments to load in the data from MS Excel.


Before we start working on the visualisations, we need to create some relationships between the type and instance properties. Revit creates unique keys to enable this linking.

In Power BI click the model icon.

Power Bi Model

You will then see the selected tables presented. You can move and drag these around on screen to fit everything into view.

Power Bi Tables

Click the Manage Relationships icon as shown below. This will enable the linking of data so we can visualise both the type and instance properties.

Power Bi - Manage relationships

In the Manage Relationships dialog click the new button in the bottom left of the dialog.

Configure the dialog box as shown in the image below. Note that the data columns are selected (TypeId and Id) These are the unique keys that tie the instances to types.

Power Bi - Manage Relationships Dialog

Click OK and then close. The tables now have a relationship.

We can now start to visualise the data. Click the Report Icon as shown below.

Power Bi - Report Icon

On the Field panel click the Type Name as shown below. You will see a table presented on the page.

Power Bi - Field Tab

Now open the Floors table and select volume. Notice that this new field is added to the same table. You can now select a visualisation for the data.

Power Bi - Revit Floor Table

Power Bi - Revit Floor Volumn as Chart

This is just a simple example of a chart, you can continue to make additional relationships with other tables and create a dashboard to better understand material quantities of your structural elements.

Hope this helps.


Back to Basics – Tagging Revit Elements

In my last post on Revit content I showed better methods of creating Revit families that perform well in both the 3D and 2D environment by automating detailing and facilitating faster modelling and setting out.

In this post we will look at the humble tag family and see how these can decrease errors in drawings and reduce the amount of text that you use to embellish your model views. In the image below you can see a beam and foundation both tagged and displaying the type name.

Revit Beam and Foundation tagged

There is a fundamental flaw using the type name as, if the user edits the dimensions of the element the type name will need to be added manually and you also run the risk of forgetting this or making a typo! In the image below you can see the Type Name and, in the case of the footing, the Foundation Thickness, Width and Length.

Revit Foundation Type Properties

A more productive method would be to actually read the dimensions of the element. In the image below you can see, in this case, a Structural Foundation Tag being edited, and the Type Name replaced with the parameters that control the size.

Revit Tags - Edit Label Dialog

Of course, you could use this technique for any Revit element. If the parameters do not exist, then ensure that you create these as shared parameters so that these can be tagged and scheduled. In the example below, a face-based model has been used to cut a penetration through a Revit element, the opening is detailed in plan with symbolic lines and a tag is calling up the dimensions and use for the opening. This is very useful if you want to change the use as all the tags will update at once.

Revit - Tagging Structural Openings

Please take a look at the YouTube tutorial where you will see these examples in action!


Rebar Code Checking with Dynamo

Those that are currently modelling their reinforcement in 3D already know the advantages of automated bending schedules. In this tutorial you can see a method of checking your rebar against codes that ensure that the bar can be fabricated and bent to the shapes and lengths specified.

This aspect is often overlooked and can be a useful tool to validate your work and provide simpler methods of checking the model. In the image bellow you can see a screen capture of a ‘3D checking view’ that shows unchecked rebar in Yellow, rebar that meets design codes in green and failures in red. This data can also be shown in bending schedules to identify issues.

Revit Rebar Checking

This is a fairly big Dynamo script that could definitely be reduced with more use of IronPython. The image below shows the overall graph. The green groups are inputs, grey is data processing and blue is outputs.

Overall Rebar Checking in Dynamo

The graph begins by recovering all the rebar in the project. The bars are then separated, straight bars and bend bars.

Get all rebar - Dynamo

Once the straight rebar is isolated you can then check for bars that are over stock length or do not conform to code 01 (i.e. bars that should be 6 or 12m). This is done with some simple design script such as ‘A != 6000 && A != 12000’ which effectively loops through the rebar and isolates all bars that are not 6000 or 12000.

Check rebar is not over stock length

I have then used some IronPython to create lists that store if rebars are OK or need checking and if errors are found, report on the code failure. This type of iteration through lists is much more compact using simple python scripts.

IronPython to check rebar

There is too much detail to show in this post but take a look at the YouTube video which will show the script running. I also step though each group so you can understand how the graph is composed.