Blog / BIM & Construction Management

Enhancing cross-platform BIM workflows with Rhino and Grasshopper

The quest for more sustainable, differentiated and profitable design solutions is fostering the redesign of traditional workflows, driven by an increasing number of specialized software – including simulation, prototyping and digital fabrication. In this article, we’ll look at how Rhino + Grasshopper can be used to foster interoperability between applications and stakeholders, leveraging broader and more diverse BIM workflows.

The AEC industry (Architecture, Engineering and Construction) is synonymous with interdisciplinarity, with several areas of knowledge and technical domains cooperating and conciliating efforts to achieve a common goal. This implies distinct working methods focused on complementary aspects of a project, with teams from different areas using different and highly specialized tools and techniques (which is reflected in the use of different software).

Recently, we have witnessed the integration of mechanisms for synchronization of content between applications, with software providing plugins or add-ons for other applications in order to facilitate and “homogenize” data communication between them and the initial software. Twinmotion is such an example, providing specific plugins for various applications (Rhino, Revit, Archicad, etc.) that allow the immediate synchronization of models (and associated material types) between these CAD / BIM authoring applications and this real-time rendering software, avoiding import /export problems and allowing changes in the model to be reflected immediately in the visualization software.

This type of integration facilitates and enhances specific workflows, allowing adjustments and changes to be made more quickly and with fewer errors.

In this article we will see how Rhino , recently released in version 7, can be used extensively and creatively to reconcile and enhance complementary workflows, relating to different technical domains of the AEC industry.

Rhino 3D requires little introductions: it is a high-precision 3D modeling software, loved in areas as diverse as naval engineering, product design, architecture, digital fabrication, etc. One of its greatest advantages has been its openness to the community of users, encouraging and supporting the development of scripts, plugins and add-ons (most distributed free of charge) that have broadly increased the spectrum of features available to the various areas - tools that are distributed through the platform Food4Rhino (figure 1).

Rhino Grasshopper

Figure 1 – The Food4Rhino platform contains over 670 Rhino and Grasshopper add-ons, most of which are free.

The development of Grasshopper , a visual programming platform that became an integral part of Rhino since version 6, has facilitated the automation of procedures, generation and parameterization of content though the connection of components by users. Note that both Rhino and Grasshopper allow (and encourage) the use of textual programming/scripting to create new plugins/components that extend the functionalities according to the users’ needs, whether in C#, VB Script and/or Python (IronPython, to be more precise).

Natively, Rhino already facilitated interoperability between applications, since it is capable of importing content from a large number of applications and exporting to an even greater number of formats (figure 2), with people using it at times as a file conversion tool between applications.

Figure 2 – File formats available for import and export in Rhino 7 (image credits: author)

Rhino Grasshopper

Figure 3 – Example of integrating GIS information into a workflow in Rhino (image credits: author)

The recent development of Rhino.Inside technology dramatically amplifies the inclusion of Rhino and Grasshopper in current workflows. This technology was introduced with the WIP (work in progress) version of Rhino 7 and allows Rhino and Grasshopper to run directly inside the “host” application (figure 4), the most paradigmatic case being Rhino.Inside Revit . This allows taking full advantage of Rhino’s potential (and its add-ons) as well as the development of algorithms and procedures with direct access to Revit’s functionalities (for example), making the use of structural and/or environmental analysis add-ons, such as Karamba 3D and LadyBug Tools accessible.

Rhino Grasshopper

Figure 4 – Implementation of Rhino.Inside technology (image credits: author)

Figure 5 illustrates a possible workflow taking advantage of Rhino.Inside Revit technology and multiple add-ons available for: reading GIS files or importing/writing GIS data in databases (using Slingshot ), structural analysis (Karamba 3D / Geometry Gym ), direct integration with Tekla Structures and Graphisoft Archicad , a web interface for parametric control (ShapeDiver ), 3D modeling in VR (Mindesk ) and visualization in real-time rendering and VR (Twinmotion). With the systems efficiently interconnected, the changes made in one application can be easily synchronized with the other applications, without the need to resort to file import and export.

Rhino Grasshopper

Figure 5 – Example of a workflow enhanced by Rhino.Inside technology and Rhino + Grasshopper add-ons (image credits: author)

In addition to the direct use of Rhino + Grasshopper with other applications, whether using Rhino.Inside or specific add-ons for each application, as with Archicad and Tekla Structures, it is also possible to take advantage of Rhino and Grasshopper’s geometric and algorithmic features (plus their add-ons) programatically and without needing to install Rhino! For this, McNeel provides the Rhino3dm library (opensource) for .NET, CPython and JavaScript, allowing the creation of applications and scripts capable of reading and writing 3dm files, in addition to providing access to a range of geometry creation and editing operations, as well as the manipulation of layers and other features. For more complex geometric operations, such as boolean operations or converting geometries to meshes, McNeed created a new cloud-based service that they present as “Geometry as a Service” – the Rhino Compute . This solution provides access to Rhino and Grasshopper’s SDK (Software Development Kit) through a Rest API, allowing the distributed and online execution of computationally demanding tasks.

Rhino Grasshopper

Figure 6 - Rhino3dm and Rhino Compute (image credits: author)

In this way, Rhino and Grasshopper can be used almost transversely as a platform for interconnection and interoperability between different disciplines in the AEC, in addition to facilitating access to computational tools capable of enhancing or optimizing different parts of a project – though simulation and (re)parameterization (customization) processes. They can also be combined and shared with different stakeholders though online platforms such as Hypar and Speckle : the first allowing the creation and sharing of design systems through a combination of (small) algorithms in Grasshopper, C# or MS Excel, while the latter operates as a data sharing and version control tool for the AEC industry.

Whether as a tool for reading and converting files, as a design and computational optimization infrastructure, as a geometric and generative “Trojan horse”, or as a development kit for new applications and services (distributed or not) for the AEC industry, Rhino and Grasshopper provide a wide range of alternatives and innovative workflows with the potential to energize the industry.




















  Author: Rui de Klerk, Specialist in Design and Computation / Generative + Parametric BIM


Rui de Klerk

Specialist in design and computation, generative design and parametric BIM