In this tutorial, we'll see how to create Adaptive Components from Grasshopper directly in Revit. We'll be using the powerful Grasshopper BIM nodes included in our Grasshopper Connector.

You can read more about our Grasshopper BIM nodes in our docs.

Of course, you can achieve similar results with Dynamo, but by using Grasshopper you'll have a much more performant geometry engine to help you parametrize your models.

Let's get started!

Prerequisites

To follow this tutorial you'll need the following:

  • Grasshopper (I'm using Grasshopper for Rhino 7)
  • Revit (I'm using Revit 2021)
  • a Speckle account (you can get one at https://speckle.xyz/)
  • the Speckle Connector for Grasshopper (install it via Manager)
  • the Speckle Connector for Revit (install it via Manager)
  • an Adaptive Family with 4 points (you can download mine here)

In Grasshopper

Create a funky surface! I just lofted 3 curves and obtained the following:

Then, we parametrize this surface and divide it into sub-surfaces by using the Divide Domain2 and Isotrim nodes:

Now we need to extract the 4 vertices of each sub-surface, let's use the Deconstruct Brep node:

The job is basically done!

It's time to drop one of the powerful Grasshopper BIM nodes to our canvas and send the points to Speckle.

Note how the AdaptiveComponent node requires the name of an adaptive family and a list of points. You can also set additional parameters, but these are optional.

::: tip Important

As with all our Grasshopper BIM and Rhino BIM nodes, the output of the node is not a BIM element, instead, we are just attaching instructions to create BIM elements to the base geometry (in this case several points).

This is why our viewer will only display a tower of points:

:::

In Revit

In Revit, make sure you have loaded the same adaptive family defined in our Grasshopper script. Then, all you need to do is Receive from your stream:


Voilà! Job done, congratulations 🥳

Conclusion

We hope you enjoyed this tutorial and found it useful!

Speckle is an Open Source project and we really ❤️ feedback, so if you have any questions, comments, critiques, or praises please let us know on our community forum.