• Blog posts


    By Dennis Collin


    I was recently asked a question about how Dynamo could be utilised to place reinforcement bars in structural elements.


    This is like many problems asked about dynamo, but usually any script starts with the selection of an element in some way, in this example a series of edges. The selected edges will be used to define points which will be used to draw the Rebar shape. For the points to be established the initial curves need to be extended by an amount at both the beginning and end to calculate an intersection point where the initial points will be located.


    Once these points are positioned, the list is cleaned with duplicate points removed and a new list built to draw the initial base curve. This is achieved with a mix of Getitematindex, Pruneduplicate and Flatten nodes.


    The next set of nodes offsets the base curve in 2 directions, the beam edge and the start of the beam, effectively defining the rebar cover offset. The Codeblock node also provides input for the number of bars and spacings. The base curve is joined together as a polycurve and arrayed along the host element with the specified values.


    The actual placement of rebar requires an add-on package called structural design. This package provides the Create.fromcurves node, along with a mix of rebar style and type nodes. The Select Element and curve normal nodes define the axis and direction of the rebar placement. Rebar is drawn along the arrayed curves as shown in the initial and final image.


    At the time of writing the Structural Design Dynamo package only works with Revit 2021 version, but no doubt there will be updates released soon. Dynamo has number of improvements in development and it could be creating rebar from curves will become a standard out of the box node in future.


    This particular script only works with simple structural elements like beams, slabs and walls. For more complex elements like stairs, nodes like select element faces will need to be used. I intend to discuss that concept in a future blog.