Diagrid via Flux

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

  1. Set up and sign into your Flux account.


  1. Create a new blank project. In this example I have called it ‘RTC Exercise 03’


  1. Select ‘open project’.
  1. Create ‘keys’. These are geometry/data that will be transferred to/from Flux. Simply hit the plus button in the data table on the left.


  1. Add the name and description as required. We need to create 6 keys in total:
    • Levels;
    • RLs;
    • 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

  1. Setup a Revit view which just the Revit geometry to transfer.


Revit_Flux Floors2_1600x900

Revit view of floor plates


  1. Generate an elevation or section showing the levels to be exported.

Revit_Flux Levels_1600x1050

Revit section showing levels


  1. In Dynamo, open the Part 1 Dynamo file. Select the levels and floors to be exported and run the script. The script collect the select 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

  1. 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

  1. Open Grasshopper open the 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 makes an adjustment 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_Flux Diagrid_1600x1650Grasshopper script generating structural diagrid


Rhino_Flux Diagrid_1600x950

Revit preview of resultant geometry



Step 5: Import geometry into Revit

  1. 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.
  1. Open the Part 3 Dynamo file and run the script and define which families are to be placed with in 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 was due to the fact that 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.

Structural tubes via Flux


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.