Rhino.Inside.Revit - 1.0 Release Candidate Available

We have just made the Version 1.0 Release Candidate available. This is a very special build for multiple reasons. Instructions to get this build are at the bottom of this post.

Version 1.0 Release Candidate means this build has all the features for version 1.0 release. For the next 30 days we will continue testing as a leadup to the full release.

  1. Weekly builds should become available as we address any issues found.
  2. Barring any unforeseen problems, we hope to release Rhino.Inside.Revit in 30 days.
  3. The version 1.0 release will not include any expiration date and be tagged as the Public Releases (Official) build.
  4. After version 1.0 we will continue adding components and updates. For those that would like the latest features before being added to the public release the Daily Builds (Work in Progress) can be set in the Rhino.Inside.Revit options dialog.

Element Tracking:

Grasshopper components can now track Revit elements in the Revit model, even between saves. If Grasshopper added that object, it will replace the Revit element when possible and avoid creating duplicates. Grasshopper will remember these elements even after the file is closed and re-opened in the future. This will fundamentally change the way Rhino.Inside.Revit works.

@eirannejad explains many of the details here:

Only Add components in Grasshopper use tracking.

The Tracking Mode can be controlled by right-clicking on the component center.
There are 3 modes:

  1. Disabled - This turns off any tracking of created Revit elements. This can result in duplicate elements being created in Revit.
  2. Supersede - This will create completely new elements in Revit each time Grasshopper runs.
  3. Reconstruct - The default setting. Grasshopper will modify existing elements in Revit if possible. Otherwise, new objects will be created.

Each output on Add Component has additional controls to help manage tracking:

  1. Highlight - Select and highlight the Revit elements created by this output.
  2. Unpin - Remove the Pin from any Revit element created by this output. There is also an Unpin component that can be used for this.
  3. Delete - Delete any Elements tracked by this output.
  4. Release - The output will forget the objects and not continue to track them. Be aware that this might create duplicate objects if the Grasshopper definition is run again.

To get this build set the Options > Updates to the Daily Builds (Work in Progress) in Rhino.Inside.Revit:


Congratuations @eirannejad, @kike, @scottd and everyone else who has put a lot of effort into this project. This is an exciting milestone!


Absolutely a milestone.

You can see that tons of work has been put into this release.

Thank you, we’re looking forward to testing out the new features in our office!



Congratulations RIR team! This got me really excited🤩.



I’ve changed update settings and restarted my computer with Revit 2021.1.2


but I’m not getting a prompt to upgrade to the RC.


Is there anything else I need to do get access to the RC?


1 Like

That is the RC. We just have the about box incorrect. We will fix that.


Congratulations to the team and thank you for everything. Can’t wait to return from vacation to start using the RC build.

1 Like

Checking it out, Thanks guys!

Excellent! Christmas came early.

Thank you @eirannejad @kike @scottd!

1 Like

Looks Amazing! Kudos to the RiR team!

The latest update fixed all my issues I have faced from before. The element tracking works perfect.
Thank you for this build McNeel.

I am not getting ids. what I am I doing wrong?

Are you looking to harvest the element id? If so use the Element Passport component

Hi @ttraber,

Elements have castings to basic Grasshopper primitives and some components that give you more control.

If you cast to Integer you will get the ID or you can use ‘Element Passport’ to get more information about the Element Identity.

1 Like

First off, thank you so very much! Very excited to see this RC version and test.

When RiR/gh is started in a host revit file; a family is opened, saved, reloaded and closed; the gh definition has multiple components that held onto the family file instead of resetting to the host model once the family was saved and reloaded. is this intended functioning?

A disable and re-enable on the various components worked, just had to find all the offending components. Is there a way to reset all components if binding persists when user does not wish it to persist?

This is awesome! You all are awesome!

1 Like

In the video in this chat it shows that the walls have ids and that seems to been the way you track the changes. I am just wondering why there are no ids showing up when I attach a panel. How is it going to track the elements between sessions if there are no ids.

The grasshopper script that I have setup looks very similar to the one in the video but I don’t have any ids when attaching a panel

A post was split to a new topic: Element Tracking Questions

The video was while it was in development, which is open source & on Github if you are interested. The output text in yours is descriptive and part of the object based coding – the object will cast to various other components as needed.

Is there a particular workflow in mind?

Typically to maintain tracking you would have the Revit file open as well as its associated Rhino file before opening or running the GH file. If the Rhino file isn’t open when you run your Grasshopper script your Revit elements will disappear and would be gone if you saved and closed the Revit file at that point.

If your GH file isn’t relying on referenced Rhino geometry the tracking would remain associated to the original Revit file.

If the component runs in a new Revit file it would Add Elements to this file and now be associated with those elements.

1 Like