When modelling structures such as portal frames there is currently no built-in macros to aid with this very typical structural frame. If you are using tools such as Robot or Advance Steel, then this can be automated with the frame generator. In the image below you can see the frame generator integrated with Robot 2022.
However, if you want to stick with Revit for the modelling of these types of structures then you can use Dynamo to generate the portal frame system. Of course, the geometry for the portal frame can be generated using the standard out of the box nodes but to make the process even more efficient you can make use of the free Structural Design package for Dynamo.
The below image shows a simple dynamo script to create all the geometry for a portal frame structure. The nice thing about using Dynamo is the fact that everything is Dynamic and can be changed very quickly.
Take a look at the tutorial below to get a better understanding of the Dynamo workflow and the speed of modelling!
Autodesk recently released their customary mid release of Revit 2022 with a host of new and useful features for the masses. In this post we shall investigate some of the new and improved features from a structural perspective. This article does not cover a definitive list of all the changes but what I see to be the most useful.
To get us started, let’s take a look at the new features and updates to reinforcement. As many of you will already be aware, in each release, Autodesk are continually improving the reinforcement tools. When working with rebar couplers we can now change the rebar diameter and Revit will automatically match the transition coupler, in previous releases the coupler would be removed.
Naturally, you will need to edit the coupler type parameters to match the manufacturer’s dimensions and specification. If a coupler type is not available, then Revit will issue a warning and create a type name automatically.
Staying with rebar, we can now apply rebar constraints to multiple selections of rebar sets. This is a huge improvement and saves a considerable amount of time. For example, I have selected all the starter bars for the columns and can now set the lap by editing constraints on the entire selection. In previous releases you would need to edit each rebar set or rely on groups which was not the best approach.
Moving on to some of the general platform tools, another very useful tool is the ability to snap to the midpoint of 2 points. In the example below I want to mirror and copy the diagonal bars to the bottom of the next opening. There is no centreline to mirror around but I can now use ‘snap mid between 2 points’. Again, a small improvement but one that saves a considerable amount of time when copying and mirroring elements.
Another useful tool is the ability to copy sheets. This new tool allows you to duplicate an empty sheet (this will keep all the property information on the sheet and increment the drawing number). You can also duplicate with sheet detailing which will additionally duplicate the placement of any detailing such as legends, schedules, text etc. The final option is to duplicate all of the above plus the views. (Revit will make copies of the relevant model views where appropriate).
Another day-to-day productivity tool is the category name search. This can now be found in multiple dialog boxes including the family editor. In the example below I have searched for rebar and can see all the matches on a single ‘page’ without scrolling, very handy.
The align tool has also had an overhaul and you can now align multiple elements and automatically constrain these by checking the lock tool.
Another convenient feature is the ability to load multiple family types, quite useful when setting up a model early in the project. In the example below, I am loading 3 different families simultaneously.
This is not a definitive list of changes in Revit 2022.1 but I have picked out the top features that I consider to be most useful. Overall, again like the main Revit 2022 release back in April, this point release is packed full of day-to-day tools that will increase efficiency and is certainly worth downloading, installing and using on your next project!
In previous blog posts I have looked at a couple of ways of using Civil 3D surfaces in Revit projects, most of these processes do not use a dynamic link between the Civil 3D TIN surface and Revit. A couple of years ago a new workflow was made available by Autodesk to use BIM360 to host a Civil 3D surface. The main issue with this workflow was that most did not have access to BIM360.
With the inclusion of Autodesk Docs within the AEC Collection, many of you will now find that this workflow is a realistic proposition, especially when you need to ensure coordination between groundworks and structural elements such as foundations.
Let’s first take a look at the software requirements to use this workflow. You will need the following installed on both the Revit and Civil 3D PCs:
Autodesk Desktop Connector.
You will also need access to Autodesk Docs, of course, if you are collaborating within your own companies then you can create a new Autodesk Docs project just for this purpose. The desktop connector simply connects integrates Autodesk Docs into your standard windows explorer which makes it very simple to navigate and use. In the below image you can see my Autodesk Docs folder below. The folders will appear as the image shown on the right. These are the folders within Autodesk Docs.
Autodesk Civil 3D Process
In your Civil 3D model, mark the location of the Revit project base point with a circle. It is also useful to place a label at the origin, so you have a physical readout of the coordinates. On the Annotate Ribbon click the Add Labels tool.
In the Add Labels dialog, configure the feature as Surface, the label type as spot elevation and ensure that you are displaying the elevation and coordinates as shown below.
Your label should look similar to the image shown below.
When you have a civil 3D model with one or more surfaces, you can then publish this to your Autodesk Docs project. On the Collaborate ribbon, select the Publish Surfaces command.
You will then see the Publish Surfaces dialog. The easiest thing to do here is use the Pick from drawing button on the bottom left of the dialog.
You then need to specify the output file. This will allow you to select the relevant project and folder within Autodesk Docs.
You will then see the following dialog box. This is just ensuring that the correct surface style is in use. Click the ‘Publish the surface with the updated style’ option.
Your surfaces are now being published to Autodesk Docs.
You can view the progress of your upload in Autodesk Docs. The file will take a few minutes to upload and process depending on the number of surfaces published and the size. The image below shows that the Civil 3D shared surface is still processing. You will need to wait until the processing is complete before using this surface in Revit.
While the file is uploading to Autodesk Docs you can begin to prepare the Revit model. The first thing to get setup is the coordinate system. Remember that the coordinates and units in Civil 3D are likely to be in meters, your Revit model is probably in mm (assuming you are from the UK). The units are automatically resolved when you link a Civil 3D surface. However, you need to ensure that your project base point has the coordinates set in mm.
Also ensure that the topography is visible and the view range is set to enable you to view the topography.
You are then ready to link the topography from Civil 3D. On the Insert ribbon, click the Link Topography tool as shown below.
In the Link Topography dialog, browse to the relevant folder, you will then see the published Civil 3D surfaces if the upload has finished processing.
Once the surface is linked you will have a Revit topography element. You can control the materials and other aspects in the usual way. The manage links dialog will allow the reloading or removing of the surface.
In summary, the inclusion of Autodesk Docs in the AEC Collection brings this functionality to most users of Revit and really helps when you are required to have surfaces within the Revit model.
As many of you will appreciate, the joining of in-situ concrete elements is critical when modelling structures. This ensures that the volume of concrete is correct and makes the construction drawings legible. It is worth understanding how Revit reacts in a default situation when working with in-situ concrete members.
When working with in-situ concrete elements, Revit will automatically join the following elements as shown in the table below. This can be very useful and greatly increases efficiency when modelling.
The order in which elements join is also predetermined by the software. You will find that walls and floors are the primary elements, and these will take priority when joined to other structural elements.
The auto joining property is useful in some situations but can cause issues. For example, you may want the columns to take priority and have floors ‘cut’ around the column’s perimeter. Another situation may be that walls should be continuous and not broken by floors. In these situations, you can use switch join order.
Automating Joins with Dynamo
In the last few releases of Revit, Dynamo has some additional nodes which can help us when working with in-situ concrete. The nodes shown below are all found within Revit – Elements – Element menu.
As you can see, these are simple to use and just requires a selection list of the two element sets. Of course, the selection can be made automatically by collecting all elements of a certain category with a specific material type. In the example below, all structural foundations are selected, the structural material instance parameter is collected and filtered if it contains the string ‘In-Situ’.
However, there is no provision in Dynamo to switch the join order of elements. This is where we can use the power of the Revit API and Python to plug this gap.
The first step is to perform a search on revitapidocs.com. Everything you can automate within Revit is listed on this webpage if it’s not here you cannot achieve the automation! You can then search for the method ‘switch join order’, the method is the code that performs this operation.
Before the Python node can interact with Revit you will need to copy and paste some boilerplate code. This can be located here:
These lines of code setup the various resources you will need to interact with Revit.
The below image shows the Python node. The lines of code shown with the blue border is the specific code that executes the switch join order method.
If the operation is changing elements within Revit, then you must perform a transaction. This is the first and last line within the blue box. The next two lines of code are getting lists of elements at IN and IN. Notice that the list is also unwrapped. Basically, this makes the actual Revit elements useable within Python.
The code then iterates through the nested list and finally executes the switch join order operation for each item in the list. You will notice that this line of code is from RevitAPIDocs.
Notice that as you start typing ‘Autodesk.Revit.DB.JoinGeometryUtils’, the relevant classes and methods are listed.
If you would like to see a step-by-step example of this, then feel free to watch my YouTube Tutorial. Be aware that you will need 25mins to watch this tutorial.