Name property missing

Why isn’t the object name of a Brep listed in the Manager’s list with properties? As it is now it’s difficult to identify which object is selected, and thus any info associated with it (which object?) is… well, not very useful.

Unless I’m missing something there seems to be no visual trick (in Rhino viewport) indicating which object/Brep is selected in the “Manage Brep collection” dialog.

Fig 1. Which one of the two selected objects (in the viewport) have I selected in the dialog?

// Rolf

The name (in addition to the layer, display colour, material and a whole bunch of other properties) are not actually part of the Brep, they are part of the object attributes. When grasshopper imports geometry from Rhino, it omits the attributes, so at this point the name of the object is no longer part of the information.

The only thing it stores in addition to the geometry is the ID of the rhino object. This id can be used to find the original object in the rhino file and thus provides a way to figure out the name/layer/etc. However Grasshopper itself has no components for this, you’ll need to get a plug-in for that. Unfortunately I do not know which one.

Well, it’s pretty obvious that Grasshopper doesn’t import this property, but what I suggest is that it should. It’s missing. :slight_smile:

Edit: To be more clear: A looooooong ID is for machine reading, a name is for human Users. And the dialog is for human users. A looong ID simply isn’t helpful.

// Rolf

It wasn’t designed to be helpful, it was designed to be unique. You can assign the same name to all the objects in a file, but it’s impossible to have more than one object with the same ID.

Sadly this cannot change for Grasshopper 1.0 any more because there is no place to put this extra information. Adding such a feature would break a lot of plugins. Grasshopper 2.0 does have room for all kinds of additional information, and I imagine the name of referenced objects will be amongst those.

Implemented in GH 2.0 would be good enough!

Edit: I came to think of the possibility to add the name to the ID, either before or after the UID. I’ve used that trick in a huge logistics system just to provide human users with human readable info combined with the need for “machine readable” unique identifiers. When dealing with zillions of objects in an ObjectSpace it makes a difference whether to add a property or combine it with others.

Hint: If using a delimiter in the combined NUID (Name + Unique IDentifier) the UI logic can split the identifier into a human readable “Name” and a UID before displaying it.

// Rolf

From a quick check at it would appear that any of these will allow you to get the name of objects:
Elefront, FabTools, TT Toolbox

1 Like

I use Elefront and Human.

These both have components to retrieve, modify and assign attributes.

1 Like

What do you need to do? You can reference objects by name (Params>Geometry>Pipeline), you can reference objects and then extract their name, all this with vanilla gh and (a line of code).

In the script you have this line:

A = RhinoDocument.Objects.Find(id).Name; (7.2 KB)
Breps.3dm (585.0 KB)

1 Like

The original question was entirely about user interaction, when the user needs to check (real time) which object is/was selected.

// Rolf

Apologies, last night I was trying to code up something to address this, but I did not complete it. One way to code this up would be to use the Rhino.RhinoDoc.SelectObjects event. I’ll see if I can code something up that works.

Here is something that works for selecting one or multiple objects. Note, it does not update with adding to the selection, or deselecting (can also be added). (4.3 KB)

1 Like

Here is one that should be a bit more useful. Accepts adding and removing from the selection. (2.9 KB)

1 Like

Wow, that is very useful! Many thanks!

// Rolf

You want the object type? (4.9 KB)

Perfetto! :slight_smile:

I do have (still) the same problem as RIL described earlier.
A huge list of breps, and I simply would like to have that surface highlighted on the Rhino model, as i click on it on that list. This would help me to figure out, which of the surfaces is causing problems in my boundary volume.
Is there any way to achieve this?

No, there’s no way to do it right now. Actually that list isn’t even previewed, it’s the original unmodified list that is drawn in the viewports. It’s a good idea and definitely would be an improvement, but it’s not possible within the current release.