In brief
- Rhino.Inside.Revit runs only on Windows and requires Revit 2018-2027.
- Revit-aware components in Grasshopper are divided into query, analyze, modify, and create functions.
- Element tracking offers Disabled, Enabled: Replace, and Enabled: Update options.
- Tolerance issues during geometry transfer can cause Revit to reject some formats or require slower SAT transfers.
What will you learn in this guide?
Rhino.Inside.Revit lets you use Rhino and Grasshopper tools inside Revit. Grasshopper includes components designed to work with Revit’s data structure. Together, they let you use Rhino’s freeform modeling capabilities alongside the elements and data in Revit’s BIM environment within the same workflow. The goal here is not just to transfer geometry, but also to understand when and how a Grasshopper definition changes the Revit project.
We’ll cover how to identify Revit-aware components, manage tracking for created elements, account for tolerances when transferring geometry, and use settings that can help reduce wait times in large models. Rather than modeling a specific building from start to finish, this guide explains the fundamentals of how Rhino.Inside.Revit works.
Requirements
Rhino.Inside.Revit is for Windows. The manufacturer’s feature page lists Revit 2018-2027 as a requirement. The page also includes a download link for the Rhino 9 evaluation version for Windows, as well as an option to download and install Rhino.Inside.Revit. The sources do not provide information about pricing, account requirements, or specific computer hardware, so these details should be verified against the product’s current terms.
Before getting started, review the “Getting Started” guide and the basic concepts of the Revit data model. Understanding Revit concepts such as elements, parameters, categories, families, types, and instances makes it easier to interpret what Grasshopper components work with. Rhino.Inside.Revit guides also cover geometry and data transfer between Rhino and Revit, Revit’s element structure, and modeling workflows.
Step-by-step workflow
Set up Rhino.Inside.Revit. Follow the download and installation links for Windows on the official product page, and check that your Revit version falls within the stated range. Once installation is complete, you can access Rhino tools and Grasshopper components from Revit. Grasshopper components can also use scripting components to work with the Revit and Rhino APIs. For your first use, follow the official “Getting Started” guide.
Identify what Grasshopper components do. The main color of Revit-aware component icons indicates their function: query, analyze, modify, or create. Additional marks on the icon indicate the data type or identity the component works with. When inspecting a component, look not only at its inputs and outputs, but also at the icon’s colors and markings.
Preserve operation order in pass-through components. Some components combine analyze, modify, and create functions in a single structure; their icons may have a split background. Material Identity is an example: it takes a Revit material element as input and operates on that element’s properties. Input and output properties do not have to match: the requirements for creating an element can differ from the data calculated as a result. Chaining these components helps ensure that operations on Revit-managed elements run in sequence.
Observe operations that change the document. Some components that create new elements or modify existing ones start a transaction in the active Revit document. The component’s background darkens while the transaction is executing. If the same inputs and target element require no changes on the next run, no new transaction takes place, and the component returns to its normal gray state. You can use the Grasshopper Trigger component to control when transactions run.
Track created Revit elements. Tracking helps Grasshopper recognize Revit elements previously created with Add components and avoid duplicates. Tracking information is retained when you close and reopen the file. Right-click the center of the component to select one of three modes:
Disabled: Tracking is turned off. Running the definition again may create new, duplicate elements.
Enabled: Replace: Each time Grasshopper runs, it creates a new element in place of the previous one.
Enabled: Update: This is the default option. The existing element is updated where the Revit API allows it; otherwise, a new element is created and the behavior switches to Replace.
Add components also offer Highlight, Unpin, Delete, and Release controls on their outputs. Highlight selects and highlights the created elements; Unpin unpins them; Delete removes the tracked elements. Release stops the Grasshopper output from tracking the elements, without deleting them. Keep in mind that running the definition again after Release may create duplicates.
Manage the preview and solver as needed. You can toggle previews for individual Grasshopper components, and change the overall preview state from the Rhinoceros tab in Revit. The Grasshopper solver can also be turned on and off from the same tab. In large Revit models, temporarily turning off the solver can help reduce wait times. Because previews require geometry conversion, leaving too many previews enabled can slow down the Revit view.
Check units and tolerances when transferring geometry. Revit can import curves, BREP (NURBS) geometry, and mesh data from Rhino. However, tolerance issues can cause direct conversion to fail. Geometry that cannot be transferred directly may be handled through a secondary transfer method using SAT files; according to the guide, this approach is slower. If Rhino and Revit use different units, Rhino asks whether the units should be adjusted to match the display in Revit. Regardless of the answer, the geometry is converted to the correct size in both applications. Remember that scaling the model in Rhino can affect tolerance.
Common mistakes
Leaving previews enabled for every component can hurt display performance in large models. Keep previews on for the components you need for visual checks and turn off the rest. If wait times increase while you work on the model, consider temporarily turning off the Grasshopper solver.
Running the definition again without checking the tracking mode can also lead to unwanted results. Because Disabled turns off tracking, subsequent runs may create duplicates. Release does not delete elements; it only means that the Grasshopper output stops tracking them. Before changing tracking settings, check what the Highlight and Delete controls on the relevant output do.
Don’t overlook tolerance and model position when transferring geometry. Revit may reject BREP data that does not meet the required tolerance, and SAT transfers are slower. Revit does not accept curve segments shorter than approximately 1 mm. For NURBS geometry, the guide recommends setting the Rhino tolerance to Revit’s built-in tolerance. Searching for faulty objects in Rhino with Selbadobject and repairing them, or rebuilding edges and joining surfaces in existing models with tolerance issues, are among the options described in the guide.
Next steps
Once you understand the fundamentals, move on to the official guides covering data transfer from Revit to Rhino and from Rhino to Revit. Separate workflows are available for Revit walls, curtain walls and systems, spatial elements, openings, structural elements, and materials. The documentation also covers views, sheets, drawings, schedules, and reports. There are also Python and C# resources for the Rhino Python editor, Grasshopper scripting components, and Revit API.
The official page also lists a video series by Gavin Crump. Topics include an introduction to Rhino and Grasshopper, retrieving and setting Revit parameters, creating Revit grids and levels, sun path analysis, and image sampling. Choosing your next topic based on project needs helps focus learning on a specific workflow, such as geometry transfer, Revit element data, or analysis.
Sources and license
This guide has been adapted into Turkish based on Rhino’s official Rhino.Inside.Revit feature page, the Grasshopper guide, and the Rhino.Inside.Revit guides. The source texts list these pages as license=free. The topics in Gavin Crump’s video series are also presented as listed on the official page; since the sources provide no separate open license information for the videos, none have been quoted.
Sources
3 sourcesSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
The practical value of Rhino.Inside.Revit lies in bringing freeform Rhino geometry together with Revit’s element and data structure in the same workflow. For teams working with parametric design, custom geometry transfer, and Revit data, understanding Grasshopper components and element tracking can reduce trial and error. But the benefits come not simply from installing the add-in, but from managing operation order and tracking modes correctly.
For offices and students in Turkey, the first things to check should be Windows and Revit version compatibility. The sources provide no pricing, licensing terms, or hardware requirements, so current costs and technical requirements should be verified separately before team-wide use. Transfer issues caused by tolerance can also require extra time in the production schedule.
Frequently asked questions
Which versions of Revit does Rhino.Inside.Revit support?
The official product page lists Revit 2018-2027 as a requirement. Rhino.Inside.Revit is for Windows only.
How can I track Revit elements in Grasshopper without creating duplicates?
The tracking feature in Grasshopper Add components remembers the elements it creates. Enabled: Update attempts to update an existing element; Disabled turns off tracking and can lead to duplicates.
Why can geometry transfer from Rhino to Revit be slow?
Tolerance issues can prevent direct transfer and lead to a SAT transfer; according to the source guide, the SAT method is slower. Numerous Grasshopper previews and large Revit models can also affect performance.



