From Rhino to Revit #1

From Rhino to Revit #1
Streamlining the Concept Design to Construction Documentation workflow - an exploration.

Design often starts with a glimpse of the conceptual end vision. It will go through many iterations of growth and change and gradually incorporate layers of information, such as the environment, code, programs, material, structure, budget…but at the beginning, before everything is settled and tracked down to the granular details of every screw and sealant bead of a window sill, as can be done in a BIM model, designers tend to prefer tools/software with flexibility and more freedom that allows them to apply and visualize their creativity before everything is fed to detailed engineering.

These tools often provide powerful features in terms of free-form creation, geometry editing, quick material creation, and file format support. However, these tools also typically have only minimal drafting features and lack BIM capability. 

Rhinoceros3D has been an absolute favorite among designers.  They discovered that they can create almost anything with it, even geometries much more complex than they would imagine attempting to generate in a pen-and-paper drafting scenario. But, as the designers worked in Rhino and their projects progressed, they also learned that the free-form complexity Rhino allows can also create a significant, even extreme, complexity in trying to document their masterpieces in more traditional, engineering-focused systems like AutoCAD or Revit. 

The (manual) conversion process quickly becomes tedious as the geometries are being converted to 2D polylines with Make2D and exported to good old AutoCAD, or “simply” being rebuilt in Revit with native Revit elements and families. In some extreme cases, design teams submit their designs with brute-force import of non-editable geometries to Revit and call it a day, because they lack simple connections between the two pieces of software. And this technical gap worsens the gap between design and construction.

But there is hope! Developers from McNeel, the creators of Rhino, have made attempts to come to the rescue with tools such as  Rhino.Inside.Revit.  Additionally, Autodesk has enhanced recent versions of Revit support of 3dm file import to a certain extent.  These builds and enhancements support making the concept of building a streamlined workflow between Rhino and Revit, design and construction, possible. The bottomline need in the process is to create native Revit geometries from Rhino geometry and add layers of information to make it a Revit family.

In this scenario, the problem then becomes: how universal can the solutions be, and how to operate the solutions in a programmatic fashion?  

Voyansi’s first foray into the Rhino-to-Revit arena is a simple and focused tool. We built a Revit plugin that takes a Rhino file and reads and rebuilds all the geometries into a new Revit Family File (.rfa) along with their layer information. The plugin creates subcategories with the layer info, and applies them to the corresponding geometries. When the initial conversion process is complete, the family is then loaded and placed in the exact same position in Revit as it was in Rhino.

With proper object style settings in the existing Revit template, a designer can demonstrate to clients their design progress in the BIM environment in almost no time!

The best part? “It’s all done in one-click! “ Well … it’s actually 4 clicks with a proper Revit Template in place (which our implementation team is expert at developing, FYI). You simply choose a Rhino file, click OK, and you are on your way.

This process is not magic or an approximation, but an accurate mapping of data between the two pieces of software performed with our customized automation process, and the tool is continuously evolving in flexibility and capability to meet the needs being voiced by our clients. How flexible can it be? We’ve even embedded it into a web based BIM platform.

This is Voyansi’s initial effort to streamline the design to engineering workflow from the Revit side of the process.  Next time, we’ll be working from the Rhino side with an implementation based on Rhino.Inside.Revit.


Stay tuned and see you in the next post!