Adding User Keys/Values to .3dm export in Shapediver

Is there a way to add user data keys and values when exporting .3dm files? We have been using Human’s and Elefront’s way of baking information to Rhino’s “Attribute User Text”.

Using Shapediver there are already options to add “Object Properties” like color and line weight, but the crucial user data keys and values are missing (although I guess they only make sense when exporting as .3dm).

We actually want to use Shapediver to also export .3dm files with nurbs geometry to use for later stages and it would make so much sense to have the user data and keys in there, just like they are if I export geometry baked from GH using Human or Elefront and that can contain a lot of key/value pairs of data.

The alternative would be to always export a .3dm and a .csv or something together, but I am not even sure if Shapediver can export .csv files as well!?

Are there any plans to enable this?

1 Like

We are currently working on new import/export components in the ShapeDiver plugin which will support these attributes in both import and export cases. This update will be released in the first quarter of 2021.

In the meantime, you can indeed export csv files using the ShapeDiver export components. Csv is one of the extensions supported for the text file export.

1 Like

Okay, looking forward to that. Meanwhile I am just getting into JSON and what that can do and saving the data we need as JSON data and outputting the data itself and a .json file. Pretty interesting.

By the way, sort of connected to that: I saw there is an example for how to call a REST API from within Grasshopper here: https://www.food4rhino.com/resource/rest-api-request-example and it got me thinking:

Could it theoretically be possible to call the Shapediver API, request some data, say in JSON format and then use that in another Shapediver patch?

Can I ask you to indicate what it will be possible to import / export? I am mainly interested in what formats and what metadata they can contain.

I’m about to start building a database and now I’m going to have to use awkward steps to make it work. Maybe the new features will make it much easier.

I would like to know as soon as possible so that we can change the timeline if necessary.

As it is called “Attribute User Text” I am pretty sure its a key and a string. Of course the string can be interpreted afterwards. So even if you store a number as a string, you can then convert it back to a number. It seems that using the Human plugin it stores float numbers with 6 significant digits.

So if you are talking about the simple key/value pairs that Rhino supports on any object, then its just those: one key (string) and one value (string), so a key-value-pair and then however many you want of those.

There are no plans to allow calling REST APIs from inside Grasshopper in general, as this comes with many security issues. However, there will be a built-in way to call other ShapeDiver apps from Grasshopper and chain online apps together in the new platform.

We are currently working on the new import/export components, so it is not written in stone yet but this is what you can expect:

  • All Rhino 7 compatible formats will be supported for imports. User Attributes and materials will be imported along with the geometry when they are available.
  • The same formats that are supported currently will still be supported and it will be possible to define all the Rhino 7 compatible export options for them. Additional formats will be added in the future.
  • We are currently working on adding user attributes to 3dm file exports.
1 Like