Diagrid via Flux
Please note that Flux.io shut down on 31 March 2018 and is no longer available. However, this tutorial has been kept for legacy purposes.
In this previous tutorial, we discovered how to export Revit levels to Grasshopper for the generation of a diagrid structure, before pushing the results back in into Revit using Rhynamo and Dynamo. This tutorial will look at an alternative methodology whereby Rhynamo is eliminated and replaced with Flux.
Step 1: Setup Flux
- Set up and sign in to your Flux account.
- Create a new blank project. In this example, I have called it ‘RTC Exercise 03.’
- Select ‘open project’.
- Create ‘keys’. These are geometry/data that will be transferred to/from Flux. Hit the plus button in the data table on the left.
- Add the name and description as required. We need to create six keys in total:
- Floor mesh;
- Floors Universal mesh;
- Analytical model;
- Ring beams;
The purpose of all of these keys will be elaborated on later.
Step 2: Export Revit data/ geometry
- Setup a Revit view which just the Revit geometry to transfer.
Revit view of floor plates
- Generate an elevation or section showing the levels to be exported.
Revit section showing levels
- In Dynamo, open the Part 1 Dynamo file. Select the levels and floors to be exported and run the script. The script collects the selected levels, sort them based on their level and return their name and elevation. It also converts the floors into meshes. This data is then exported to flux to the ‘Levels’, ‘RLs’ and ‘Floor mesh’ keys.
Dynamo script to export levels and floors
Step 3: Flux refactoring
- We need to refactor the geometry so that Flux can use the mesh from Revit. With Flow, generate the following:
Flux Flow to generate a universal mesh
- From this point on, we need to use the ‘Floor universal mesh’ key rather than the ‘floor mesh’ key.
Step 4: Generate Grasshopper geometry
- Open Part 2 Grasshopper script. The first part of the script imports three keys from Flux – ‘Floor universal mesh’, ‘Levels’ and ‘RLs’. The ‘Floor universal mesh’ and ‘levels’ keys are purely for reference. The ‘RLs’ key is used to generate a series of ovals at the correct level. Note that the elevations (RLs) exported from Revit will be absolute, that is, relative to the survey point. Therefore the script adjusts for this because the Rhino file is set-out based on the Project base point. From these ovals, a diagrid is generated. Finally, the resultant geometry is pushed to Flux via the ‘analytical model’ and ‘ring beam’ keys.
Grasshopper script generating structural diagrid
Revit preview of resultant geometry
Step 5: Import geometry into Revit
- Open Revit and ensure the families to be placed are pre-loaded. Note that while structural framing could have been placed, adaptive components were used to avoid the visual gap created when using structural framing. The other family to be loaded into the project is a structural frame that we’ll use for the ring beams.
- Open the Part 3 Dynamo file and run the script and define which families are to be placed within the Dynamo script.
Dynamo script to re-create geometry from Flux
Structural tubes in Revit
The application of Flux in this example proved quite successful. This success was because Flux provided a (semi-) live link for the levels and floors. Since the size of the data been transferred wasn’t very large, the process was reasonably fast. Furthermore, Flux offered the possibility to have multiple people simultaneously contributing.