Rhino

Overview

The NVIDIA Omniverse™ Rhino Connector offers a toolkit for Rhino Users to send and live sync their model(s) to an NVIDIA Omniverse™ Nucleus Server. This not only gives Rhino access to a first class renderer through NVIDIA Omniverse™ View or Kit but also the ability to open, edit and sync with any of the OMNIVERSE® Connect applications. Now, depending on the use case, Rhino users can choose the workflows and pipelines that work best for their needs while maintaining up to date revisions for all downstream consumers of their work.

Install Instructions

Deprecated in 2020.3 Please see Launcher Documentation for Installing Connectors.

Installing the OMNIVERSE® Plugin is done through the Rhino Plugin Manager and requires the install of the OMNIVERSE® AEC Experience or the NVIDIA Omniverse™ Rhino Connector (Standalone).

  1. Navigate to the Plugin Manager: File > Properties > Plug-Ins

    Install Step 1
  2. Press the Install Button

    Install Step 2
  3. Locate the Rhino Plugin at C:\Program Files\NVIDIA Corporation\Omniverse\Rhino\92\OmniRhinoPlugin.rhp and press Open to install.

    Install Step 3
  4. Press OK to Commit the change. (This is a mandatory step before enabling the panel)

    Install Step 4

Enabling the Omniverse Panel

Once the Plugin has been installed, You will need to Enable the Plugin.

  1. Navigate to Tools > ToolBar Layout

    Toolbar Setup 1
  2. At the top of the Right Pane you can filter files based on the OmniRhinoPlugin, Select it to filter.

    Toolbar Setup 2
  3. You should now see the Omniverse Plugin Listed Below. Check it to enable the Panel.

    Toolbar Setup 3
  4. At this point, the omniverse Panel should be floating in Rhino.

    Toolbar Setup 4
  5. Feel free to Drag and Dock it to any Toolbar Position you like for Quick and Easy Access.

    Toolbar Setup 5

Note

You can also dock the Omniverse Toolbar to a tab position by Drag and Dropping the Omniverse Toolbar window’s tab to Rhino’s Main Top Tab-Bar.

Connecting to VIEW® (Local)

To connect the NVIDIA Omniverse™ Rhino Connector Plugin to NVIDIA Omniverse™ View a user must locate their installation of NVIDIA Omniverse™ View and select it in the NVIDIA Omniverse™ Rhino Connector Plugin Settings.

  1. Select the Omniverse View Settings

    View Connection 1
  2. Enable “Send to Locally Installed View” toggle.

    Toolbar Setup 5
  3. Select either a past installation of Omniverse View or “Use Current” to use the most current installed version.

    Toolbar Setup 5
  4. Press “save” to commit the changes.

User Interface

The NVIDIA Omniverse™ Rhino Connector Plugin brings Rhino Projects into the OMNIVERSE® Platform through the use of connect tools similar to other NVIDIA Omniverse™ Connect applications.

UI Overview

Send to NVIDIA Omniverse™ View

Sends your file directly to NVIDIA Omniverse™ View. Simply click “Send to View” and NVIDIA Omniverse™ View will launch with your model loaded and ready to go.

Send to View

Note

You must be sure that NVIDIA Omniverse™ View is installed or that you can access it from a server for this feature to work. See the Connecting to VIEW® (Local) for more details.

Send to NVIDIA Omniverse™ View from Rhino (Video)

Export

Export

Exporting your project to your NVIDIA Omniverse™ Nucleus allows you to continue your work in other applications such as Omniverse Create, Omniverse Maya Connector, Omniverse 3ds Max Connector and other Omniverse tools.

Export  Window

Element

Result

Refresh

Updates the Window with Latest Data

Left/Right

Moves Through the Current Directory Structure in a Step By Step Fashion

Create New Folder

Creates a New Directory at Current File Path

Left Pane

Lists NVIDIA Omniverse™ Nucleus Directories (If Logged-In) and Local Drives / Directories

Right Pane

Lists Files in Currently Selected Directory

File Name

File Name of Exported File

File Type

Allows Selection of File Export Type

Export Only Selected Items

Restricts the Export to Currently Selected Objects

Map Material by Layer


Map Material by Layer Name


Export

Starts the Export Procedure with Selected Option

Cancel

Stops the Export Process and Closes Export Dialogue

Note

When you export your file, you create a connection for Live Sync which is visible in the Live Sync Path dialogue.

Sign-In

Sign In

The sign in window allows users to connect to their NVIDIA Omniverse™ Nucleus Server for Exporting, using Live Sync and for Mounts. Simply enter your NVIDIA Omniverse™ Nucleus “User Name” and “Password” to sign into your OMNIVERSE® Cloud.

Sign In Window

Setting

Result

User Name

NVIDIA Omniverse™ Nucleus

Server

Address of an NVIDIA Omniverse™ Nucleus Server

Sign-In

Begins the Connection with Selected User/Server

Cancel

Stops the Sign-In Process and Closes the Sign-In Window

Settings

Settings

The settings menu allows you to select a preferred NVIDIA Omniverse™ View installation as your default viewer.

Note

You will need to have NVIDIA Omniverse™ View installed and selected to use Send to View.

Settings Window

Setting

Result

Enable Cache

Enables and Disables File Caching, Enabled improves performance.

Auto Sign-In on Startup

Automatically sign into the last user during the Revit Launch processes.

Unset

No View Settings (This setting disables Send to View)

Send to Local

Omniverse View Launch Path

Automatic Local

Locates View Installs Automatically, “Use Current” Always Uses Most Recent Install

Custom View Location

Allows Selections of View Installs not Found by Automatic

Send to Server

Omniverse View Launch Path on a Remote Server

Automatic Server

Automatically Finds Servers

Remote Launcher

Allows for Selection of a Specified Remote Server

Render Size

Render Quality to Use in View when Launching Remotely

Save

Commits the Changes and Closes the WIndow

Cancel

Closes the Window and Discarding the Changes

Help

Help

Launches your default web browser to the NVIDIA Omniverse™ View: Rhino Plugin Documentation.

Live sync

Sign In

Live sync updates your models allowing other OMNIVERSE® applications get your changes in real-time.

Sign In

Setting

Result

Live Sync On

Enables Live Syncing

Live Sync Off

Disables Live Syncing

OK

Confirms Selection and Closes Window

Cancel

Closes Window, Any Live-Sync Changes are Left Unaffected

Note

The Live Sync Window must remain open to use Live Sync. Closing this window will terminate a live sync connection.

About

About

Opens a dialogue and displays version information about the installed NVIDIA Omniverse™ Rhino Connector

About Window

Display

Value

Build

Build Version Number

Date

Date Plugin was Created

Materials

When sending your materials to NVIDIA Omniverse™ View, we replace the low quality textures and shaders associated with Rhino and replace them with High Quality Custom Materials inside of NVIDIA Omniverse™ View. This is done by material mapping and can be controlled via CSV.

CSV and Materials

The CSV Mapping File for Rhino can be located in the following directory.

<Documents>/Omniverse/Rhino/omniverseRhinoMDLtable.csv

CSV File Structure

A CSV file is a Comma Separated Values table of data whose field’s end is defined by a comma ‘,’.

Using Spreadsheet Tools

These tables are a very common format and can be opened/edited inside of MS Excel (or other spreadsheet tools) and will have 5 columns in them when viewed.

Format

Column

Expected Value

Column A

Name of the material from the application.
Note: Any commas (,) are replaced with an asterisk (*)

Column B

Indicates if there is a parameter override | NONE: default, no special characteristics | COLOR: the 5th column (Column E) will have the parameter name in the MDL
GENERIC: keyword and last resort match in mapping (looks for the value in Column A
in the string of the material name we get from the application e.g. if Column A is
glass and the material from Rhino was Special Glass then it would match)
EXCLUDE: materials found in the application but NOT mapped, user could convert these
to real mappings by setting to NONE and changing the values in Column C/D/E (potentially)

Column C

MDL name (no .MDL)

Column D

Path into the location in the Omniverse database (points to a Mount)

Column E

If necessary, the parameter override in MDL

Examples

1
2
3
4
Cardboard,NONE,Cardboard,/NVIDIA/AEC/Library/Materials/Wall_Board
Blue Paint,COLOR,Paint_Satin,/NVIDIA/AEC/Library/Materials/Miscellaneous,diffuse_tint
glass,GENERIC,Clear_Glass,/NVIDIA/AEC/Library/Materials/Glass
Some Material Name,EXCLUDE,WhiteMode,/NVIDIA/AEC/Library/Materials/Styles

Grasshopper

Grasshopper is an extension that began shipping with Rhino in version 6 and is supported in NVIDIA® OMNIVERSE® through the NVIDIA Omniverse™ Rhino Connector Plugin. Because of this, Grasshopper makes possible node-based procedural building on the OMNIVERSE®.

Grasshopper Components

Grasshopper users will be happy to know that OMNIVERSE® requires very little to change in their current workflow as all interactions are handled through 4 OMNIVERSE® Components.

OmniGrasshopper Component

This is the main module for the OMNIVERSE®. Any OmniLayer Group wired to this node is published. This is the final node of the graph and only one publish node per canvas is allowed.

OmniGrasshopper Module Properties

Input

OmniLayer

OL

Object group with layer name and material

Input

Project Folder PATH

P

Parent project file path

Input

File Name

FN

File Name override used for publish and STV

Button

Live Sync

When ON enables “Live Sync”. When OFF (default) Live Sync is disabled

Button

Send to View

Click to start Send to View process

Button

Publish

Click to start the publish process

OmniLayer Component

This node is used to create OmniLayer groups from geometry, layer name and material inputs. Multiple OmniLayer groups can be created and wired into a OmniGrasshopper Component to be published.

OmniLayer Module Properties

Input

Geometry

G

Geometry to be converted to OmniLayer for publish (live sync / send to view)

Input

Layer Name

LN

Name of the OmniLayer group

Input

Material

M

Material/Color input to be assigned to the OmniLayer group

Output

OmniLayer

OL

Object group with layer name and material

Important

Geometry input always needs to be flattened. If OmniGrasshopper turns red and states “item with the same key has already been added”, try flattening the geometry input to OmniLayer.

Note

Material can be set with OmniMaterial, Color Swatch or a named color/valid material name using the Panel input. The list of color names accepted mimics the HTML5 named color list found here HTML5 Color List

OmniBrowser Component

The OmniBrowser allows additional workflow possibilities by giving access the OMNIVERSE® Server browser. Only one browser node per canvas is allowed.

Typical Workflow Capabilities added by this node
  • Sign in to a server

  • Link to previously saved child USD file for Live Sync

  • Manually override server (Server override will take priority over the Server Sign In button)

OmniGrasshopper Module Properties

Input

Server Override

SO

Selects the active server (Overrides Sign-In if Used)

Button

Server Sign In

When clicked triggers a server sign-in dialog

Button

Browse Child USD

When clicked triggers a dialog to link a saved USD Path

Output

Active Server

AS

Outputs active server

Output

Project Folder PATH

P

Outputs the project folder for the actively linked USD

Output

File Name

FN

Outputs the active child USD name

OmniMaterial Component

This node is used to select materials with a dropdown list. The dropdown list is looking into the CSV Mapping File for Grasshopper which can be located in the following directory <Documents>/Omniverse/Grasshopper/omniverseMDLtable.csv

Note

One OmniMaterial per OmniLayer group can be assigned.

Connecting Models for Output

Using the OmniLayer Component (node) in Grasshopper allows you to convert geometry to OmniLayer group through the geometry input on the OmniLayer Component.

../_images/connect_rhino_grasshopper_connect-models.png

In the above example, notice how geometries need to be wired through OmniLayer, OmniGrasshopper does not directly accept a geometry input.

Note

If any geometry is created and NOT connected to the OmniGrasshopper Component using the OmniLayer node, it will not be output in the final result to the Omniverse.

Exporting Grasshopper Data to the OMNIVERSE®

In order to send data to the OMNIVERSE®, you must first establish a connection to an NVIDIA Omniverse™ Nucleus server. This is generally done through the Omniverse Login Menu in Rhino.

Publishing Grasshopper Data on the OMNIVERSE®

Assuming you already have OmniLayer group connected to OmniGrasshopper Component and that you are connected to either your localhost server or another OMNIVERSE® Server on your Network, the next step is to publish. To do this, we will simply click the “Publish” button on the component.

../_images/connect_rhino_grasshopper_publish-1.png

In the below image, notice the dashed lines connecting the geometry input to OmniLayer node. This means a data tree is coming through the connection, we need this to be a flat list. To flatten this data, right-click on the input node Geometry item and select Flatten. The output should now be represented as a solid line.

../_images/connect_rhino_grasshopper_publish-2.png

Now we are all set and ready for publishing.

To start the publishing operation, simply click the “Publish” button on the component.

Browse and select where you would like your project to be saved, give your project a name and click Publish to complete the operation.

../_images/connect_rhino_grasshopper_publish-3.png

Note

Project Folder PATH: (optional) accepts a panel input, used to override the project path selected at the publish dialog box. As long as an input sting is defined the dialog box is skipped during publish - format: /Users/yourUserName/yourProjectName

Sending Grasshopper Models to NVIDIA Omniverse™ View

Sending to NVIDIA Omniverse™ View is virtually the same process as Publishing. Once again it is assumed that geometry is connected to the OmniGrasshopper Module and that you are already connected to a localhost Server or Network Server.

Using Grasshopper in Live mode

Live mode is available whether Publish or Send To View. To enable live mode, simply Export using either Publish``or ``Send to View, then enable Live Sync on OmniGrasshopper Component. While ON, your model will update in realtime and can be viewed / managed in realtime by other OMNIVERSE® apps.

../_images/connect_rhino_grasshopper_live-sync.png

Release Notes

Connect 101.1.0

  • Updated omni client library

  • Fix for when Nucleus is not present and exporting a model or Send to View

  • Export as Prop feature now available - save just the USD not as part of a project

Connect 100.2.1

Rhino & OmniGrasshopper

  • Updated client library for Nucleus connection

  • Fixed Send to View hang for certain filenames

  • Fixed crash when publishing some designs using Rhino Materials

Connect 100.1

Rhino

  • Support for Rhino materials

  • Move to Launcher

  • Update Live Sync dialog

  • Support for export by object not just lumping all meshes together

  • Xform now on all levels in the USD tree

  • Support for linked child data

Grasshopper

  • Support for Grasshopper materials

  • Export options in Grasshopper

  • Send to View for Grasshopper

  • Single click publish

  • Optional list of colors to choose from

  • Input name of material to map

  • Live sync now available

2020.2 Hotfix

  • Client Library Updated
    • Fixed a bug that would sometimes (very rarely) cause data loss if you got a disconnect while uploading a file.

    • Fixed a bug that would fail to download a file if it was an exact multiple of 1MB

2020.2 Point Release

New Features

  • Integrate new Client Library in Rhino

  • Linked block not being handled

  • Update CSV to support Rhino Generic Materials

Bug Fixes

  • Odd behavior with live sync in Brick when moving object in both apps

  • Live Sync Progress bar is distracting

  • Installer not adding toolbar automatically

  • Closing Live Sync Window Stops Live Sync

  • Support for basic colors on export

  • OmniRhinoSetup.exe is being quarantined by Cylance as of version 207

  • Rhino multiple toolbar plugin with AEC Installer 644

  • Save Small in Wireframe results in an empty export to Omniverse

  • Live Sync geo changing layers with materials leaves phantom objects

Missing Features

Settings

  • Scene Units, mm, m, inches, feet, need testing

Geometry

  • Shapes, Splines are not exported

  • Components

  • Blocks, Linked Blocks

  • Save Small Workflow

Materials

  • Custom materials and textures are not supported

Lighting

  • Environment Light mapping is unsupported

  • Sun Light mapping is unsupported

  • IES Profiles are unsupported

Animation

  • Animation is not supported

Cameras

  • Camera parameter mapping is in development and not currently supported