Input IDs background

Each input parameter defined in Grasshopper gets a unique ID assigned when uploaded to the Modelup platform. This unique ID acts as the “contract” between the configurator in the browser and the Grasshopper backend.

When you upload a Grasshopper definition, the system automatically uses the component’s InstanceGuid as input ID.

A GUID (Globally Unique Identifier) is a long identifier that can look like this:

7fa76751-5665-42ed-bac4-2e81ca475276

This ID is then included in the configurationState parameter in the URL when Grasshopper definition is uploaded to the Modelup platform. Read more about configurationState here: Creating a link to a predefined configuration

The problem with GUIDs

Using raw GUIDs in the configurationState parameter comes with some drawbacks:

  1. They are very long. Long URLs can cause problems in certain situations - for example, some email clients like Outlook may truncate or break them when shared.
  2. They are not human-readable.
  3. They are not persistent: the ID will change if the underlying Grasshopper component (such as a ValueList or Slider) is replaced or recreated.

This last point is critical. For example, if a user saves a configurator link today and you later update the Grasshopper file by swapping a slider, the saved link may no longer work.

To solve this, Modelup offers a way to create short, clean, and persistent IDs.

Override IDs

With the Modelup plugin, you can attach Override IDs to Grasshopper inputs. This gives them small, human-readable, and stable identifiers.

Here’s an example:

image.png

Example from Create a Plain Text Panel.

If you copy the link from the configurator in the example above, you get something like this:

<https://configurator.modelup3d.com/?projectId=8mCDmCo7&token=eyJhbGciOiJIUzI1NiJ9.eyJ2NW4iOjEsImlkIjo4MCwicDdkIjoiOG1DRG1DbzciLCJwOXMiOlsiYzVlIiwicl9jMTVhIl0sIm1pIjp7ImRpc2FsbG93Ijp7ImUiOlsxXX19fQ.CnKoYcNHlsWjD35Tb5x8rRVWr0MYJ8VJoNg7QWU-7ek&configurationState=a_1763e686-b35c-49f2-ab37-5f40be2ed0ef_x_5_y_5_z_5>