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.



Coordinate Scheduling with the Excitech Toolkit

The original Excitech Revit toolkit was created in 2009 to produce coordinate schedules of elements such as isolated foundations, structural columns and any family with a single insertion point. The toolkit provided a solution to those customers who needed to produce piling schedules. An extension to the toolkit was added in 2012 to allow the automatic renumbering of elements, again aimed at piling.

Old Excitech Toolkit - Coordinate Scheduling

The new Excitech Toolkit was introduced in 2018 and contains a greater number of tools and utilities to improve productivity in a number of different areas. The new toolkit also provides the option of scheduling coordinates from elements.

New Excitech Toolkit

Please see the video for a tutorial on how our toolkit is used to schedule coordinates.


Here you can see the tutorial for the new Revit Excitech Toolkit.

Below is the procedure to create a piling schedule and renumber the piles using our new toolkit.

  1. First you select the piles that are required to have coordinates. If you have used a foundation family that has piles nested into the pile cap then you will need to select the sub elements.

On the Excitech Toolkit ribbon in the Selection panel click the Filter command as shown below.

Excitech Toolkit Selection Tools

In the Filter dialog box select Structural Foundations and then the pile sub elements that you have used in your project.

Click OK to make the selection.

Excitech Toolkit Filter

2. On the Excitech Toolkit ribbon in the Analysis panel, click the Analyse drop down menu and select Insertion as shown below.

Excitech Toolkit Insertion Point

You will then see the Insertion Point to Parameter dialog box. Here you can select the internal origin of Revit, the Project Base Point or the Survey Point. For piling that has been set out using shared coordinates, click Survey Point.

Excitech Toolkit Insertion Point to Parameter

Click OK

3. Each pile will now have the following coordinates added. X coordinate, Y coordinate and Z coordinate. These coordinates are at the toe of the pile. X Top Coordinate, Y Top Coordinate and Z Top Coordinate are positioned at the top of the pile (this would also be the cut off level)

Excitech Toolkiit Coordinates


Revit – Setting out and scheduling coordinates from grids with Dynamo

I have had a few questions around detailing coordinates of grid intersections with Revit. You may already know that it is tricky to add spot coordinates to each grid intersection as Revit will not ‘snap’ to the grid intersection. You can add reference planes across the grid intersections, but this is quite time consuming and prone to error.

Revit - Grid Setting Out and Detailing

I have created a Dynamo script to place down a setting out family at each grid intersection and record the grid intersection, Easting and Northing at each location. This has the added value of being exposed in Navisworks or an IFC model for a contractor. We can also schedule the coordinates of each grid intersection and present this onto drawings or export to Microsoft Excel for input into site instruments.

Grid Setting Out Points - Dynamo


Thanks to Christoph for providing a Python script to replace the convert to number node. Below is the updated graph.

Dynamo Update

and here is christoph’s python script.

#@Christoph Raidl(2019)
Grids = IN[0]
IsString = []
for Grid in Grids:
OUT = IsString



See the video below for more!



Revit Tutorial – Displaying Span to Depth Ratio of Steel Beams

In this tutorial we shall look at a method of calculating and displaying the Span to Depth ratio for steel primary and secondary beams. In early scheme design of a steel structure many engineers like to use the span to depth ratio to size members assuming a uniform loading across the beam.

Revit Span to Depth Ratio on Steel Beams

Revit can be used to calculate and display the Span to Depth Ratio by creating a shared parameter and making a simple formula. Typically, a span to depth ratio of 13-15 is used for primary beams and 18-20 for secondary beams. In the following tutorial I will edit a UB family, add a shared parameter and then use the value of this and the structural usage to activate certain colours with filters. The image below shows the filters colouring, green is OK, red is over the limit and yellow is under the limit. To follow this tutorial, you will need Revit 2016 or later.

The first step is to create a shared parameter, this needs to be shared as this may need to appear in a schedule or be taggable. On the Manage Ribbon click the Shared Parameters command as shown below.Shared Parameter Command

If you already have a Shared Parameter file, then click the New Parameter command as shown below. If everything is inactive, then you will need to create a new parameter file by clicking the Create button.Shared Parameter Dialog Box

You will then be presented with the Parameter Properties Dialog. I am naming the new parameter SDR (Span to Depth Ratio) but you can use something else if you prefer. You will need to ensure that the new parameter is created as a Number. Click OK to both dialog boxes. Your new Shared Parameter is now ready for use.Shared Parameter Properties Dialog Box

Next you edit a Universal Beam family (or other section type for non-UK members). In the Project Browser, open the families folder and browse to Structural Framing. Below I am adding the parameter to UB-Universal Beams, but you can add this to any Section you require.

Families Folder in the Project Browser

Right Click over the family and select edit. You are now in the Family Editor. On the Home Ribbon click the Family Types command as shown below

Revit Family Types Command

In the Family Types Dialog box click the New Parameter command as shown below.

New Parameter Command

In the Parameter Properties Dialog click the Shared Parameter radio button and then select the Select button as shown below.

Create Parameter from Shared Parameter File

Select your new SDR parameter and click OK. You now need to set the new parameter to Instance and group the parameter under Structural Analysis. Click OK. You should now see your new parameter in the Structural Analysis group.

Set SDR parameter to Instance and Structural Analysis

Create the following formula. round(Length/Height)

Parameter Formula

This will take the length of the beam and divide this by the section height. Note that the section height appears under the Structural Section Geometry group. We then round this number to get a ratio value.  Save your new family and repeat for other families where you want to calculate the span to depth ratio.

Next you create a project parameter for your Span to Depth Ratio. This will enable you to create a filter. On the Manage ribbon click the Project Parameter button as shown below.

Project Parameter Command

In the Project Parameter dialog, click the Add command. You will then see the Parameter Properties dialog as shown below. Configure the dialog by selecting Shared Parameter, select your SDR parameter and then click OK. Make sure that Instance is checked, group the parameter under Structural Analysis and check the category, Structural Framing. Click OK.

Revit Parameter Properties Dialog

You now complete the last step to create a series of filters to colour the beams by their span to depth ratio. In this example you create a filter for secondary framing. You need to ensure that you have secondary framing in your project for testing. In a Project with the edited families that you have created in the steps above, open the Visibility/Graphics Override dialog and select the Filters Tab as shown below.

Visibility Graphics Override Dialog

In the Filters tab click the Edit/New Button at the bottom of the dialog box. In the Filters Dialog box select the New command in the bottom left as shown in the image below.

Revit Filters Dialog

In the Filter Name dialog box type Secondary Framing – Span/Depth OK.

Filter Name Dialog

You can now set the Category, Structural Framing and then set the AND rules to the following. ADR is greater that or equal to 18 AND SDR is less than or equal to 20 AND Structural Usage equal Purlin. Note that the Structural Usage may have differing terminology depending on the regional settings and template applied. Click OK.

Filters - Adding And and Or filters

You now select the Add command to add your new filter into the Visibility/Graphic Overrides Dialog.

You can then add green to override the linework and for extra impact add a solid green shade to the members. Anything that displays green is now in the correct span to depth range.

Filters applied to VisibilityGraphic Override Dialog

Once the filter has been set your secondary framing will appear green when the correct span to depth ratio is achieved. Note that you can create additional filters to show members that exceed and are too deep. You can also colour the SDR values in a structural framing schedule.

Hope you find this useful? I will try and create a tutorial video when I have some time.


Revit Tutorial – Type vs Instance Parameters

Been a little while since I posted a tutorial but this month I am going ‘back to basics’ to talk about Instance and Type Parameters and where to use them. I still find that many people are using OOTB families that are not suitable for certain modelling workflows. I will focus in on two specific families, Structural Openings and Structural Framing. The structural Openings will be created with a Generic model family that’s face based, this will be ideal for rectangular openings in walls, foundations, floors, beams etc. Let’s start by looking at the instance properties of Structural Framing. In the image below I have selected the UB section, notice that the Structural Material is instance based.

Revit 2020 - Structural Framing Instance Parameters

It may be more relevant if we made this a type parameter as the structural material needs only to be set once per family type. To do this you can simply edit the family and change the instance parameter to a type parameter. With the Structural Framing Element selected, click the Edit Family button on the Modify | Structural Framing context ribbon.

Revit Edit Structural Framing Family

The Structural Framing element will now be open in the family editor. Select the Family Type button as shown in the image below.

Revit Family Types

You will now see the Family Types Dialog box displayed. Note that the Structural Material is shown. An instance parameter will always have the bracketed word (default) displayed. This is the easiest method to spot the instance parameters.

Revit - Structural Framing Material Edit

Select the Structural Material parameter and then select the Edit Parameter command by selecting the pencil icon in the lower left of the dialog box as shown below.

Revit Family Types Dialog Box

You will now see the Parameter Properties Dialog box as shown below. Select the Type Parameter radio button as shown below and then click OK.

Revit Parameter Properties Dialog

Click OK to the Family Types Dialog box, note that the Structural Material Parameter has the (default) removed as this is now a type parameter.

You can then save the family and set the type parameter. This will then update all members of the same family type.

A full video tutorial is available here, the video also covers the creation and use of structural opening family.