Skip to main content
Skip table of contents

Troubleshooting Geometry Differences Between ShapeDiver and Grasshopper

If you notice that the geometry calculated on ShapeDiver differs from what you see when running the exact definition locally in Grasshopper, there are several possible causes. This guide will walk you through a structured checklist to help you identify and resolve the issue.

Keep in mind that visualisation may also differ between ShapeDiver and your local environment, as the ShapeDiver Viewer handles rendering differently. These visual differences do not necessarily mean the geometry is calculated incorrectly. You can read more about rendering specifics in the ShapeDiver Viewer Documentation.


1. Check If All Inputs Are the Same

Before diving into the following checks, make sure that all inputs used in your local Grasshopper definition are identical to the ones used on ShapeDiver.

  • Confirm that all inputs are the same as those in your local setup. Check especially for locally referenced files—for example, paths pointing to files on your computer that are not uploaded to ShapeDiver.

  • If you are unsure, internalise all inputs within Grasshopper and perform another upload to ShapeDiver for a consistent test.


2. Check Your Rhino Version

ShapeDiver servers run specific versions of Rhino. A mismatch between your local Rhino installation and the version used on ShapeDiver can lead to discrepancies in geometry calculations.

How to check:

  • On ShapeDiver:
    Go to My Account → Settings → Backend.
    Choose the ShapeDiver backend server you want to check. Under Rhino Version, you will see the version number used on the ShapeDiver server.

  • Locally in Rhino:
    You can check your Rhino version when launching Rhino in the bottom right corner, above the logo, or by going to Help → Check for Updates → Installed Version.

If your version differs from the one on ShapeDiver, update Rhino to match the ShapeDiver backend version. This ensures that geometry calculations are consistent.


3. Verify the ShapeDiver Plugin Version

Another common cause for differences is a mismatch between the ShapeDiver plugin versions used locally and on the server.

How to check:

  • Locally in Rhino:
    Open the Package Manager and search for ShapeDiver. Note the installed version number.

  • On ShapeDiver:
    The version of the ShapeDiver plugin running on the backend can be found under My Account → Settings → Backend. Choose the ShapeDiver backend server you want to check. Under the ShapeDiver Version, you will see the version number used on the ShapeDiver server.

If the versions differ, update your local plugin to match the one used by ShapeDiver.


4. Confirm Versions of All Other Plugins

Even if Rhino and the ShapeDiver plugin match, differences in third-party plugin versions can lead to inconsistent results.

How to check:

  • Review your installed plugins in Rhino’s Package Manager.

  • Compare each plugin version with the ones listed on My Account → Settings → Backend.

Keep your plugins synchronised with the ShapeDiver environment for consistent calculations.


5. Check Your .NET Runtime

This section applies only to Rhino 8 and above.

The shared Rhino 8 system on ShapeDiver utilises the .NET Framework, whereas all other Rhino 8 systems employ .NET Core 8. In rare cases, this may impact how Grasshopper components behave.

How to check your .NET version:

In Rhino, use the command:

CODE
SetDotNetRuntime

to view which .NET version Rhino is using.

If your version differs from the one on the chosen ShapeDiver server, update your environment to match the ShapeDiver server runtime ( .NET Framework for Rhino 8 Shared Geometry Backend, .NET Core 8 for all others). You can do this by using SetDotNetRuntime command, changing the Runtime option and restarting Rhino.

You can read more about .NET versions in Rhino here: https://www.rhino3d.com/en/docs/guides/netcore/.


If the problem persists after checking Rhino, plugins, and .NET versions, please get in touch with the ShapeDiver Help Centre for further assistance.


⚠️ Final Notes

  • Sorting by duplicate keys, randomisation components, and list order are among the most delicate and can vary with different versions of software, plugins, and .NET environments. Review your script to ensure that your data structures are always reliable.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.