A Space Frame Structure Design Workflow using Revit and Dynamo

A Space Frame Structure Design Workflow using Revit and Dynamo

Space frames are a type of roof supporting system that is often considered for functional buildings with long span structures, such as sports halls and exhibition spaces.  If the frame’s elements follow a regular geometric pattern, their analysis and design can be relatively simple to prepare using a three-dimensional structural analysis software.

But, when the design incorporates a freeform complex architectural shape there will be a big challenge of how to model this, both geometrically and in a structural analysis program.  For example, how to take a basic structural form and adapt the structural frame to suit the given surface geometry.

Based on my former design experience, the whole traditional design process can be separated into individual paths of geometry design and structural analysis involving data exchange.  A new workflow using Revit and Dynamo to do the same thing in a much more efficient way is outlined below.

Typical arrangement of elements of space frame:

1.      Geometry Design

To begin with the complex surface geometry needs defining. This could be created in Revit directly, or through any other package including 3D CAD and imported into Revit.  Onto the complex surface the isolines (i.e. grid of the structure) can be defined in Dynamo, dividing the shape in plan into the many quadrilateral shapes.  By translating down the quadrilateral outlines, with a specified typical length of connection between the surface and frame, the first layer of the structural frame and joints will be located.

Then to create the second layer, the isolines of the first layer can be translated and offset from the first layer, by half the grid spacing, to create the second layer’s gridlines.  

For each intersection point of the second layer’s gridlines, they shall be correlated with the 4 closest joints at the first layer above and the 4 other neighboring intersection points in the second layer.  The basic unit of the space frame shall be formed after connecting these 8 correlating lines. This process is repeated to create the full space frame.

Here is the full script I have used to create this;

In order to prepare for efficient data exchange at the next step, each structural element and connection joint can be assigned a unique coding number at the same time as the model is built.  This numbering is also beneficial as some very useful “group” information could be hidden and brought along as the element properties (as shared parameters), such as which layer or which surface grid it belongs to.


2.     Outputting information for structural analysis

 All the relevant information, including the structural frame elements, connection joints locations and types can then be extracted into a spreadsheet using Dynamo;

The information can also be sorted in the spreadsheet to suit the format required for input into the structural analysis software (again using Dynamo);

3.    Feedback to adjust the geometric design

Once the structural analysis is done, some structure elements may need to be adjusted as necessary, in which case the process above can be repeated as needed.





Of course, a space frame need not be a roof. It can be a building shell, floor, ...! And why not?

Like
Reply

Claus Andersen kunne måske være interessant at se lidt på🤔

Like
Reply

Hi, great to see such cool workflow. Did you try the same with lunchbox wire space truss node?! What was your workflow to distribute the spherical node?! Is it by using family instance by point node?!

Like
Reply

To view or add a comment, sign in

More articles by Laura, Da Luo

Others also viewed

Explore content categories