Making working with Speckle Objects in Grasshopper (more) intuitive

A lot has been written about Speckle Objects in Grasshopper. The docs, blog articles, and explanations given here on the Speckle Community Forum are amazing:

  1. 30 Apr 2024 Viewing Speckle Object Data in the Viewer
  2. 29 Feb 2024 Added Keys missing in 3d viewer
  3. 16 Feb 2024 Speckle in GH / Custom Properties
  4. 4 Aug 2023 Retrieving values from extended object on Speckle (made in gh)
  5. 31 Jul 2023 How to extend a Brep’s with custom properties in grasshopper?
  6. 18 Jan 2023 Online Viewer Filtering based on Grasshopper Object Properties

However, it is unintuitive, and I believe that an issue with Custom Speckle Base Objects vs Speckle Geometry remains (even though I understand now why they work the way they currently work).

Glossary

Speckle Geometry: Speckle Point, Speckle Line, Speckle Brep, Speckle Mesh, etc. (see Rhino & GH supported geometry elements

Custom Speckle Base Object: a Custom Speckle Base Object

Issue

Rhino → Grasshopper

Attributes such as userStrings cannot be accessed by default when receiving in Grasshopper.

Of course it is ******possible to access these userStrings by selecting “Do Not Convert” on the receive component and Deconstruct Speckle Object (DSO) components. But this is not intuitive, and you might actually also end up having to use the hidden To Native dev component, which is also confusing.

Grasshopper → Grasshopper / Rhino / Online App

This is the mega confusing thing, because there are just too many options (Speckle Objects vs Speckle Geometry, see explanation & collapsible below), and because something always breaks when receiving in Grasshopper, receiving in Rhino, or viewing & filtering in the online Speckle app.