Whilst providing Reinforcement Detailing training I often get asked if it is possible to align the MRA (Multi Rebar Annotation) tags. Currently with Revit 2017 it is not possible to align the tags but I recently stumbled over a free application to achieve this task!

The application can be installed via the Autodesk Exchange Apps website by clicking the ‘X’ icon on the InfoCenter toolbar in the top right corner of Autodesk Revit.

You will now see the Autodesk App Store web page. Search for Align and then install the app from BIM 42 as shown below. (The app currently supports Revit 2016 and 2017)

Once the app is installed you can access the tools by selecting the Add-Ins ribbon. The tools are shown on the Align panel as shown below.

Here is the result of using the Align Left tool with a selection of MRA tags.

Overall this is a very useful set of tools for any tags that you may want to tidy up. See the GIF video below.

Yet again it is time for the mid-year update to Revit 2017, this year Autodesk have changed the naming of the update to a point release which makes a lot more sense to most users. Previous releases have been marked as R2 which could also have a file format change which can cause issues when working on collaborative projects requiring a consistent platform. This release does not change the file format and also incorporates Service Pack 1 and 2.

Dynamo Player

The Dynamo Player has been created to create a simple interface for end users to run Dynamo scripts with a project or family file. The Dynamo Player can be pointed to a server location where dynamo scripts can then be selected and executed with a single click.

Currently the Dynamo Script must be a stand-alone utility that can be run with no inputs required from the end user which is quite limiting. For example, if you are required to enter a dimension or pick an entity then this is currently not possible.

Below you can see the Dynamo Player displaying the Dynamo (.dyn) files in the selected folder. The user then simply selects the play icon to run the script.

This is obviously the first iteration of Dynamo Player concept and I am sure as this develops that an Interface will be created for adding inputs into the dynamo script. For example, Autodesk FormIt will allow interaction with Dynamo to create conceptual forms. Slider bars and input boxes are created to enable an interactive environment.

Below is an example of the Dynamo Customizer to publish a script to a web page. This is perhaps what Dynamo Player may look like in future releases.

A small structural enhancement is the ability to split structural framing and structural columns with the conventional split command and retain setting out positions of openings. Previously the openings may have shifted position.

In the below example the beam has been split and the circular openings have retained setting out positions. The same is true for the structural column.

Import Rhino/Sat Files

Revit 2017.1 now has the ability to directly import a Rhino (.3dm) file into either a Revit Project or a Revit Family. You can also assign a category to the import but there are limitations. Below is the amended Import CAD format dialog box showing the direct 3dm import and category selection.

The imported object cannot be re scaled in Revit so you can only import objects of the correct scale. The import cannot be partially exploded to remove small/unwanted details.

On both my test models some of the elements did not import.

This is a nice addition and will improve but in my opinion Dynamo is still the best method at present to import and work with native Rhino geometry.

Some other additions are platform for the repair of Central Files. I have not tested this at present but will update the post when I have some test results.

In summery the point release has not had as much new functionality as previous releases and perhaps should be seen as more of a service pack.

Even though the majority of users are now firmly engrained with Autodesk Revit software we still have to rely on AutoCAD for things such as Architects drawings, surveys and sometimes to interface with our favourite structural analysis software not currently integrated with Revit. Rather than recreating this data we can simply reuse this by reading BIM data from AutoCAD! So what is this BIM data from AutoCAD I hear you ask! In the case of a survey you have a wealth of information that you perhaps didn’t realise. The below Revit Survey was created entirely from the AutoCAD 2D survey. Note that some of the points may be slightly inaccurate due to the position of the text but still better that no 3D survey!

Let’s take a look at the example below. Here you can see a typical 2D AutoCAD drawing representing a survey. We have the levels, information relating to trees, concrete bases, survey pins as well as areas of water. Of course this information could simply be linked into a Revit model as a 2D drawing but we would be losing quite a bit of information if we took this approach.

If you LIST or review the Properties of an AutoCAD object in a drawing such as a tree this is quite likely to be a Block. The block often contains attributes that we can utilise in Revit as BIM data. In the below example I have selected a tree. The Properties that I have highlighted are going to be used to recreate these trees. Notice that the canopy dimensions are controlled by the Scale; this is a fairly common practice.

I have then typed the command EATTEXT (Enhanced Attribute Extraction) which will allow the end user to select the relevant properties and attribute values and write these out as a Microsoft Excel file.

Here is the Dialog that allows the selection of an entity or block. In this case I am extracting the block , PTS-047 which are the trees

I then select the relevant information that I require. In this case the Position (X,Y) and the scale (This is the canopy diameter) and the attributes.

Here is the preview of the data prior to saving as a Microsoft Excel file. In this dialog you can drag the columns to new positions and suppress items such as name and count.

The data is now written to the Microsoft Excel file so that Revit and Dynamo can read this data and create the relevant objects.

In a similar way you can extract the text for the Level data and build a topographic surface in Revit. In the below image you can see the insertion point of the text as well as the Contents which will become the Z level. The trees are then placed as families which will automatically ‘sit’ on top of the topography.

Here is the Dynamo Script to get the Topographic points from AutoCAD and create topography in Revit. It is worth noting that for those of you that have access to AutoCAD Civil 3D this can be achieved automatically. Note that I have split the image into two so that I could fit it on the screen!

Here is the resulting Topographic surface in Revit.

And here is the finished Topo with trees, slabs and sub regions imported.

This workflow can be used for all manner of tasks. I do plan to create a full video tutorial if there is enough interest from the community?

Since 2015 Revit has provided the Rebar Number which automatically assigns bar marks to all reinforcing within the project making use of the partitions to generate a suitable bar mark.

This is of course a very useful feature and does provide an efficient method of bar marking. However, if you have then issued the model and need to make further changes to the model then you probably do not want the Rebar Numbers (Bar Marks) to change and of course, being automated this can happen.

A safe way of working is to use Dynamo to automatically synchronise the Rebar Number to the Schedule Mark (this was the method of bar marking prior to Revit 2015). This will obviously only be run prior to the issue of the drawings/model to keep a record of the bar marks.

If the Rebar Number does not equal the Schedule mark then we can take ‘manual’ control to rectify the problems.

Here is my Dynamo Script below.

It is a very simple routine that selects all the Structural Rebar in the project, gets the Rebar Number and then sets the parameter Schedule Mark with this value.

The next stage is to check that the marks are in synchronisation. To check for this we can use another Dynamo script. For this example I will explain a few stages as we need to use some logical checks and filtering of lists.

The first stage is to create a new shared parameter for the check. This needs to be a Yes/No parameter as shown below.

Next we will add this parameter to the project so Revit understands which category this applies. Notice that the parameter will need to be an Instance and applied to the Structural Rebar Category (Feel free to add others such as fabric etc.)

You can now build the Dynamo Definition to check the Rebar number and schedule mark are in synchronisation. Start by selecting all the Structural Rebar elements as shown below.

The next step gets the Schedule Mark and the Rebar Number and then checks to see if these values are equal. The output is a Boolean (true or false). Notice that one of these values is returning a false value.

The true or false lists are then evaluated by the List>filterByBoolMask. The list input is from all the Structural Rebar Elements and the mask is the Boolean output from the == node. The list is then split into two, one list for false and another for true. Finally the parameter “BarMarkSync” is then set to true or false with the use of the Boolean node.

To test this you can manually set some of the Schedule Marks to different values and then set up a Revit schedule to show the out of sync marks with conditional formatting as shown below. Another method could be to use filters to show the out of sync bar marks on a model view.

I hope some of you will try this tutorial if you are currently using Revit to produce Reinforcement models and schedules.

For the last few releases of Advance Steel and Revit it has been possible to transfer and synchronise steelwork models from both packages but Revit 2017 now offers the ability to also transfer steel connections.

This functionality will greatly enhance the workflows between structural consultants and fabricators that are using Advance Steel for manufacture and delivery of steelwork to site. It is equally useful for structural consultants that would like to convey typical connections in 3D to architects which could potentially cause clashes such as haunches and apexes etc.

In order to transfer the models from Revit and Advance Steel you will require the Advance Steel 2017 Extension which can be found on the Autodesk App Store.

The Revit structural connections are based on the same macro’s as Advance Steel and are completely transferable both in Import and export operations.

Below you can see the same model in Advance Steel.

Additional cold rolled and secondary steels can then be added to the advanced steel model as well as edits and tweaks made to existing connections, notches and cuts from Revit. These changes can then be synchronised back into the Revit model if required.

Data synchronised and exported back into Revit. It is very easy to track changes and understand items that have been added, modified or deleted.

Here is the updated model in Revit 2017.

A very interesting workflow for consultants and fabricators who are able\willing to share models.

When creating Piled wall systems within Revit you either have to create a structural wall and then 2D detail this in plan to look like a piled wall system or more commonly place each male and female pile and at best, use the array or copy commands. Although this is not too complex for linear piling it can get quite time consuming when curves and turns are encountered within the path.

Dynamo does provide a very neat solution to this problem and could also be used for sheet piling as well as secant and contiguous systems. In this example I have created a chain of model lines which represents the path of the piling in plan. I then project these lines onto the surface which gives the correct Z levels. The path is then divided into segments and each coordinate pair is then extracted from this list. Finally an adaptive component is placed at each set of coordinates.

This tutorial starts with a quick look at the anatomy of an adaptive component. Adaptive components are very useful when you need to control the placement of elements along a path and have the element rotate to stay aligned. A good example of this is sheet piling.

The Adaptive Sheet Pile is basically a standard foundation family that is nested into an adaptive component template. The below image shows the nested family and the adaptive points that control the placement of the pile.

The first stage is to create a path for you piling layout, in this example I have done this with Model lines. Start Dynamo and then create a new workspace.
The first section of the dynamo graph will allow the user to create a selection of model lines. The Element Curves node will get all the curves/lines within the selections. The list is then flattened and the individual curves/lines are joined into a single poly curve. The last node reports on the total curve length.

The next stage is to get a selection of your topography and then convert this into a poly surface. The node I have used below if the Python implementation which is much faster than the original conversion tool. (This is found in the Spring Nodes package).

You can then take the surface and the joined curve from the top example and then project this onto the poly surface (Your Topograpghy). Note that the Vector.ZAxis simply projects down the Z axis.

The graph should now look similar to the below image.

We now take the new poly curve and divide this into a series of points. In my case the sheet pile in 900mm from point to point. I want to have a start and end point for each pile so I am simply going to divide this by 2.

I have now created a Code Block to divide the curve length into the half distance of my sheet pile.

This will of course create a real number (65.4950), what we need is to round this value down to the nearest integer (65). The output of this is then used to divide the curve into the required number of points. The output of the Points node now contains all the coordinates.

These coordinates need to be split into pairs. The List.Chop will then create pairs but if there is a single coordinate left then the Adaptive Component will fail to be placed. The filter looks at the length of the sub lists and then only gets the lists that have more than one set of coordinates.

This is more of a high level overview of the process and the Dynamo script but I will do a video showing and explaining each stage.