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.
Flux_Login_1600x800
  • Create a new blank project. In this example, I have called it ‘RTC Exercise 03.’ 
Flux_NewProject2_1600x450
  • 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.

Flux_Project_1600x375
  • Add the name and description as required. We need to create six 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

  • Setup a Revit view which just the Revit geometry to transfer.  
Revit_Flux Floors2_1600x900

Revit view of floor plates

  • Generate an elevation or section showing the levels to be exported.
Revit_Flux Levels_1600x1050

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_Flux_ExportFoorsLevels_1600x750

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_FloorRefactoring_1600x900

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_Flux Diagrid_1600x1650

Grasshopper script generating structural diagrid

Rhino_Flux Diagrid_1600x950

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_Flux_Diagrid_1600x550

Dynamo script to re-create geometry from Flux

Revit_Flux_Diagrid_1600x1050

Structural tubes in Revit

Conclusion

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.

Leave a Reply

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