Adaptive components

This tutorial explores how you can translate geometry from Rhino to Revit via Excel using an adaptive component family. The first stage is to generate some geometry within Rhino/Grasshopper. Below is a simple panelisation script that can be exported to Excel. Note the use of the path mapper component to group Pt1, Pt2, etc. as we want the data to be structured in rows, not columns. At the end of the script, you can use Lunchbox’s ‘Excel Write’ component to export to Excel.

Your Excel file should look something like this with four columns and each cell containing an XYZ coordinate. Since we used the newer version of ‘Excel Write’, headers are included. We’ll remove this in the next step.

Ensure that your 4-point adaptive component family (or however many points was exported) is pre-loaded into your Revit project. We can then use the ‘AdaptiveComponent.FromExcel‘ node from the BVN package to populate our Revit model with the desired adaptive component. The node reads the Excel file, removes the curly brackets and splits the string into XYZ values so that adaptive components can be placed. There is an optional input to remove the header from the Excel document.


If you receive an error, which usually takes the form of adaptive components not being placed or collapsed to the ground plane, ensure that the normal to your surface is correct. Depending on the complexity of your Revit family, if the order of placement points is reversed, the adaptive component can fail. The best way to check that your normals are correct is to go into Rhino’s display options and set the backface settings to be a single colour. This setting will give you a visual reference to the surface’s direction.


Leave a Reply

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