This tutorial documents the workflow I developed for creating a diagrid catenoid structure which acts as new lateral bracing elements within our project. The workflow demonstrates how multiple design software can be used while still achieving an integrated BIM model.
Grasshopper was chosen as the primary authoring tool due to the geometric limitations within Revit. For example, a native Revit divided surface with adaptive components could have been used and was tested, but it was eventually discarded as it proved to be too cumbersome, inaccurate and very tedious. Dynamo was also tested as an alternative but also proved too clunky – possibly due to a lack of user experience and/or the under-development of the software. Grasshopper, on the other hand, afforded us the possibility to utilise Karamba which provided integrative structural analysis. The results of this analysis were then fed into Galapagos, which is an evolutionary solver allowing us to optimise the shape of the catenoid. It also allowed us to automate the scheduling process, requiring no manual intervention. Dynamo was then used to complete the round trip by transfer the geometry back into Revit.
Step 1 – Excel
A level schedule was first set up within Revit. This schedule can either be exported as a *txt file and manually converted to an Excel *xlsx file. Alternatively, BIMlink or Dynamo can be used, which will export an *xlsx file directly.
Step 2 – Grasshopper
- A Grasshopper script which generates the diagrid and voids was then developed. This script reads the Excel spreadsheet using the Lunchbox plug-in and uses those levels to place ring beams.
- Karamba is then used to calculate the lateral displacement caused by the wind load.
- The results of the structural analysis are then fed into Galapagos. Using the lateral displacement as the fitness criterion, the size and rotation of the base ellipses are used as the genomes to optimise the size and twisting of the catenoid.
- Once ‘finished’, the geometry is baked using Elefront to embed various attributes such as name, level, mark no, etc.
Step 3 – Dynamo
- Within Dynamo, a live link is established with the Rhino file using the Rhynamo plug-in. This link allows Dynamo to read the Rhino file and extracts all the data, including the Elefront attributes baked into the geometry.
- Two-point adaptive components are then automatically placed based on the Rhino geometry. While structural framing could have been placed, adaptive components were used to avoid the visual gap created when using structural framing. The mark value of these elements are automatically updated and the schedule populated. Note that the adaptive component or structural framing family needs to be loaded into the project before running the Dynamo script.
- Rhynamo is also used to read the ring beam geometry. Since these are closed splines, Revit will not allow this. Therefore, the ‘Curve. ParameterSplit’ node is used to split the curves into two segments. Now that these curves are not closed, Dynamo can be used to generate structural framing from them.