Speckle currently supports McNeel Rhino 6 and 7.
# Getting Started
To install this connector and add your Speckle account proceed by following the instructions in Speckle Manager.
Once installed you can find the connector by running the
Speckle command in Rhino. This should open a new pop-up window with the Desktop UI
Do not confuse the
Specklecommand with the
SpecklePanelcommand, which is for the previous version of Speckle.
# User Interface
This connector uses our shared Desktop UI. Read up on general guidelines for usage in the Desktop UI section.
# Basic usage
Once the Desktop UI panel is open, go ahead and create a new stream (or add an existing one) to the current file. Once the Rhino
.3dm file is saved, the streams associated with that file will be saved too.
In order send your objects, we first need to specify the objects we would like to send. This can be done either by selection or by filtering data by layers.
Select the objects you want to send in Rhino, and then click the button that says
0 objects in the Speckle Panel. A drop-down will appear; from the options select
Once that is done, the button that was previously indicating
0 objects should now display the total count of objects that were selected.
Once that is done, press the
Send button. You should see a progress bar and, once completed, a success message.
Notice that, when sending from Rhino, the layer structure will be replicated as
Baseobject properties, which can then be recreated on the receiving end.
In order to receive data from a Speckle stream, we will first need to add that desired stream into our Speckle DesktopUI panel. If the stream already exists on the server it will automatically be added in receiver mode.
Once the stream has been added go ahead and hit the
Receive button. This will display a progress bar (just like the sending operation) and, if successfull, will add the received objects to the current document.
In order to prevent overriding existing layers/objects in the file, all received objects will be placed in a nested layer structure.
This structure will contain all the layers. that the sent objects were placed to, with a parent layer with a name in the format
<STREAM_NAME>: <BRANCH_NAME> @ <COMMIT>.
In the following screenshot, you can appreciate the difference between:
- the original layers of the sent objects,
- and the layers created by Speckle when receiving the data back;
as well as the overlapping received objects(gray) with the original objects (blue and red).
# Supported elements
Almost all geometric elements are supported by the Rhino connector. This includes:
|Nurb Surface||As Brep||x|
We fully support sending BREPs from Rhino <-> Rhino, and Rhino <-> Revit with some limitations imposed by the Revit API.
# Unsupported elements
Many non-geometric elements and any geometric element not listed above, such as text tags, hatches, etc... are not supported. Nested blocks are not supported at this time.
# Schema Builder
Speckle 2.0 gives you the option of streaming objects as
base geometry from Rhino to Revit, or directly into Revit families as BuiltElements through the Rhino schema builder commands.
Currently, direct conversions are available for the following types:
|Base Geometry||BuiltElement schemas||Revit type|
|Planar surface|| |
|Planar polysurface|| |
|Planar and nurbs surface|| ||x|
|Brep / extrusion|| ||x|
Stream your Rhino objects directly into Revit as BuiltElements! Rhino to Revit interop uses a custom Speckle Attribute User Text (AUT) string to determine an object's schema before sending streams. AUTs are modified with two commands:
ApplySpeckleSchemagives you options for adding AUTs to model objects
RemoveSpeckleSchemaremoves schema AUTs from model objects Some schemas have additional parameters that can be manually modified for custom control over parameters like Revit Family or Revit Type.
# Assigning schemas
# The automagic method
The easiest way to assign schemas to your Rhino objects is to let the Speckle schema builder decide for you!
ApplySpeckleSchemain the command line
- Select objects for BuiltElements conversion
- By default,
Automaticis set to
On. Press Enter!
The algorithm for automatic schema application takes into account object and layer naming before it tries to find the best BuiltElements schema to apply. For example, if an object has Wall in its name, or in the absence of a name, the object is nested in a layer with a name that includes Wall, then the automatic method will try to send the object as a Speckle
Wall element. If the algorithm can't find a BuiltElements type in either the object or layer name, it will analyze the object geometry and try to find the first schema fit based on the object's properties.
DirectShape conversions are not assigned during the automagic method. If an XY planar surface does not have a specific schema in its object or layer name, it will default to
Floor, instead of
# The single schema method
You can assign a specific schema to selected objects through the single schema method: this method also includes conversions to
ApplySpeckleSchemain the command line
- Select a
- By default,
DirectShapeis set to
Off. To send as a DirectShape instead of a native object, set the toggle to
- Select objects for schema application, and press Enter!
# Customizing properties
Revit-specific BuiltElements schemas such as
DirectShape can be manually customized with additional properties. By default, these schemas will have a user string with the following formats:
FaceWall([family], [type]) DirectShape(Schema, UniqueName)
To assign custom values, select your FaceWall or DirectShape object and navigate to its User Attribute Text panel. Double click on the SpeckleSchema entry value and replace the
 properties with custom values if you want to assign a specific Revit family or type to your
FaceWall object. If no changes are made, FaceWalls are assigned to the
Basic Wall type by default. For DirectShapes, a unique shape name is automatically generated, but can be changed to a custom string if desired.
# Removing schemas
Removing schemas from Rhino objects is super easy:
RemoveSpeckleSchemain the command line
- Select objects to remove schemas from
- Press Enter - Speckle AUT strings are now deleted from all selected objects!
# Things to keep in mind
This section is work in progress 🚧 ! Please check back again soon 😃