Revit 2023 – New possibilities for structural engineers

A recent change to the methodology of Revit structural analytical modelling has enabled new workflows and capabilities when representing the Revit design model. However, automation is now more relevant than ever, as the analytical model is not generated automatically while the physical model is being built.

The massive benefit of this new workflow is that engineers can now create early structural design models in Revit without having to worry about the actual physical members. For example, an early design of a building structure may need some columns and framing to support a floor. However, at an early stage the materials and geometry may not be known. As the design progresses, the analytical members can be associated with actual physical elements. This allows Revit to be used much earlier in the design process and, importantly, to reuse and develop the design model right to the completion and handover of the model.

When representing certain structural systems and configurations, the analytical model can easily be defined and edited and then associated with the physical element. A great example of this is when an in-place family has been used. Previous releases of Revit would not allow an analytical representation to be defined, however, you can now define an analytical model for in-place families which is useful for complex foundations.

In future releases we will hopefully see more Revit categories supporting an analytical model, an obvious addition would be the recently added bridge and infrastructure categories. It would also be useful to create panels from façade elements for wind loading.

In the image shown below, the Analyze ribbon is shown with the new member and panel tools to generate a structural analytical model that can be transferred to multiple design and analysis tools without having to invest time in modelling an actual physical structure.  

When defining the analytical members, there are different methods to model beams and columns, namely, top point definition for columns or start/end point definition for beams and braces. Of course, the members can be modelled in a 3D view using ‘enable 3D snapping’ on the options bar. The properties of each element can then be defined and set.

Revit provides two types of analytical elements, a member and a panel. The members can be used for beams, columns, and braces. The panels would be used for wall, floors, foundation slabs and similar elements. Panels can also be curved which allows better interaction with the analysis software. It is a good idea to create a series of view filters to differentiate between the various elements. In the image below you can see simple frame with columns shown in magenta, beams in blue and bracing in yellow. This has been setup with simple view filters that colour each element based on the structural role.

Another new feature is the ability to show the section on each member, very similar to Robot structural analysis. This is simply enabled by switching on cross sections within the visibility/graphic overrides dialog.

Of course, once the analytical model has been built you can transfer it to Robot Structural Analysis Professional directly from Revit or other analysis tools with dedicated interfaces.

The image below shows the model and results transferred back into Revit. Each load case and the various results can be plotted directly on the analytical model and presented in Revit along with other typical views.

So, in conclusion, Revit 2023 allows engineers to work with Revit at an earlier stage, define a flexible analytical model that is controlled by the engineer. The analytical model can be suitably simplified and has the potential to represent many more structural conditions than previous versions.

A great step forward!


Revit and Dynamo Tutorial – Placing family instances at world coordinates

During my years of training Revit, many clients ask if there is a tool to place a Revit family at a world coordinate, perhaps issued by a contractor or a surveyor. In AutoCAD, due to everything being modelled from the World Coordinate System or WCS, this is an easy task. You simply type in the easting and northing. However, Revit’s coordinate system for placing families uses the internal origin which will not be the real-world coordinate. We also must consider the possible rotation of the site in relation to the project north.

A simple solution is to use Dynamo to transform the coordinate system and place a selected family at the coordinates. I have wanted to create a tutorial for some time now and I have finally got around to it! The most efficient method for placing the families is to use Dynamo Player, however, if a number of families are required from a list, then we can read a text file, comma separated file or Microsoft Excel.

Above I have included an image of the complete Dynamo Script but will step you through each of the groups. If you want to see a detailed, step by step guide then I have created a YouTube video here:

The first step is to get the project base point built in parameters which get the East/West, North/South and Angle to True North. Although there is a node that retrieves this information directly, the node will not update or refresh so this is a better method.

Next, we create to inputs for the Easting and Northing, these values are subtracted from the Project Base Point and a coordinate system is created.

We can now create another coordinate system at the internal origin of Revit and then rotate this system to take into account the project north rotation. The family instance is then placed at the coordinate system. The Dynamo script should ideally be executed within Dynamo player to allow for multiple coordinates and families to be placed simultaneously.

If several families are to be inserted at world coordinates then you can create a dynamo script that reads a series of coordinates that are stored in Microsoft Excel or a simple comma separated file.

Anyway, feel free to watch the YouTube video where I create and explain the script step by step!


Revit 2022 rebar – Staggered laps

A very effective quick tip for creating staggered laps in rebar sets with Revit 2022. You can first create a standard rebar range using the new two-point placement method.

Next, select the rebar set and then use another new tool, Edit Bars. Most use cases show that you can move a bar to clear an obstruction, but you can also use this to create a staggered lap!

Select every other bar in the range and then use the move tool to set your stagger. If you require multiple values for the stagger, no problem. You can move each individual rebar wherever you like.

Here is the resulting rebar set.

You can then select two rebars from the set and then detail with a multi rebar annotation. If you add a comment or shared parameter, you can then recover this on the tag.

Hope that helps,


Revit Tutorial – Naming PDF and DWG exports to match ISO19650

Many of you working with large Revit projects are probably utilising the BIM naming conventions outlined in ISO19650. Just for your reference, the naming system may look similar to the sheet below.

Revit ISO19650 Sheet

Below is a screen capture of the properties of the sheet, you can clearly see the use of shared parameters to hold the values such as the Originator, Volume,Level and so on.

Revit ISO19650 Properties Palette

The problem starts when you are required to generate PDFs or DWGs from the Revit project to issue or upload to a Common Data Environment (CDE). The naming convention, of course, needs to comply with ISO19650 but Revit will give you something like the output below:

Revit PDF naming and Output

Fortunately, we can employ Dynamo to rename the documents for us to match with the correct ISO19650 naming convention. The basic process is to collect the ISO19650 shared parameters from the sheet and concatenate these together using hyphens to generate the correct document name. The name is then concatenated with the file path and this forms the new name.

We then get the contents of the directory that the PDFs were published to and just get the PDFs that match the drawing number. For example, the drawing number could be 1070 and this can be used to get the original PDF name that contains this number. It is essentially a wildcard match (*- 1070 -*)

A python script is then employed to do the actual renaming in the operating system.

Python - Rename docs

You may want to watch the YouTube Tutorial which shows the dynamo script in operation and steps through the graph and explains whats happening.

Here is a high res image of the Dynamo script if you want to recreate it for your own use.