Go through the following points before uploading a Grasshopper definition, in order to make sure it will make it to the platform. It looks like a long list but hold on tight, most of the points will make sense and become natural once you've uploaded a handful of definitions.
Internalize Rhino objects
If your Grasshopper depends on a Rhino document (3dm file) by referencing some of its objects, you won't be able to successfully upload it on ShapeDiver. You can only upload gh or ghx files to the platform, which means that these files must contain all the data necessary to solve the definition.
Every referenced object should be internalized (Right-Click > Internalise Data).
Hide unused geometry
What you see in the Grasshopper preview will always be shown in the online viewer. So make sure you hide in Grasshopper everything that should not be shown online. It can be tricky since every component shows a preview of its outputs, and sometimes the same geometry is displayed numerous times in the Grasshopper preview, which can be hard to spot by only looking at it.
As a general rule, ShapeDiver display components should contain all the displayed geometry of the scene. Other Grasshopper components will be displayed using the default material in the viewer: a flashy purple material which you can easily spot.
Hide all unused geometry by choosing Right-Click > Preview on the component.
It's easy to lose track of which libraries and plugins are being used in a complex definition. Make sure your work only depends on the dependencies we have installed on our servers, otherwise we won't be able to process it.
Organize the inputs
A typical Grasshopper definition might have dozens of parameters with their default names such as "Number Slider", "Swatch" or "Toggle", or slightly more meaningful but still opaque like "Angle", "Size" or "Offset". Keep in mind that all the parameters shown in the definition will be translated and make it to the online model interface, with the names they were give in Grasshopper. You might want to:
- Replace the internal design parameters with fixed values
- Give the remaining parameters meaningful names
Once uploaded, you will still be able to hide parameters from the interface and rename parameters, but it doesn't hurt to tidy up the workspace beforehand. Especially if you have fifteen parameters with the same generic name: it will be harder to know which is which on ShapeDiver.
Keep some room to play with rendering settings
When you use the ShapeDiver display component, the preview doesn't always give a good idea of how the model will look like in WebGL (the technology we use for online rendering). It's a good idea to connect the material components to some sliders, especially, for colors, metalness, roughness and opacity parameters. That way, you can still adjust the looks of the online model directly on the platform, and if needed hide the parameters to the end-users.