How to assign semantic attributes to geometry objects without using layer?

What I want to do is:

  1. assign an attribute “building name” to each building and all the surfaces composing this building
  2. assign an attribute “surface type” to each surface to differentiate wall and facade surfaces

This will help me to quickly filter or group geometry objects by building name and surface type, if needed.

I mention this with Sidefx Houdini software in mind. As the images shown below, Houdini can assign attributes to various types of geometries at various levels, ranging from vertices, points, primitive(polygon) to detail (i.e. the entire geometry group, such as a building). Houdini also allows attributes to be transferred across different geometry hierarchies, e.g. the name of the building can be passed to all the surfaces and the corner vertices of each surface composing that building object.

This also means that geometry objects in Houdini can carry not only geometric information but also data.

I’d to know how to achieve similar functions in Rhino and Grasshopper.

attributes of the points in a given geometry:
point level attributes

polygon level of attributes of the geometry:
polygon level of attributes

The attribute assigned to the entire geometry as a group:
entire geometry object level of attribute

Hello - I guess you are asking about Attribute user text SetUserTextcommand, or the attribute user text page in object properties.

Does that help?


1 Like

Thanks, @pascal , this is relevant to what I’m looking for.

However, user text can only be added either manually, or through RhinoScript programming inside Rhino.

I wonder if there is a way to install RhinoScript as a client side local python module, so that I can call the User Data related methods through normal python programming outside Rhino, or call it remotely from Rhino3d’s server, like the Rhino Compute service.

It seems that SetUserText is not available as a method in the rhino3dm library currently…

You can use rhino inside with the WIP rhino 7…

Elefront or Human can set user texts via GH to multiple objects in various branches. Geometry can then be referenced and filtered by said user texts. You could sync with another program via csv or excel.