Referencing and manipulating objects, clicking on subobjects


I am trying to achieve the following in GH:
-reference brep (or surface or curve) from Rhino into GH
-i want to conveniently manipulate referenced object inside rhino so that i could click in the viewport on subparts of the reference (edge, subcurve, face)
-i want to analyze subparts for lengths areas and write this info into parent object attribute

My current workflow is very cumbersome and not user friendly at all. I have to deconstruct the object inside GH and then using listitem browse for particular subobject i need. I have to make this process human friendly so you can elegantly click on the subobjects.

I want to for example click on faces which are meant to be formwork of a concrete block and write this information into parent object. In case of piles i want to click a seam which will be written as length of the object. For solids which are more like plates i want to click a face so i can write its analytical area etc…

Is there any way in this version (python scripting?) and how about GH2?
Thank you

I don’t understand that bit. You mean add it as UserText to the Rhino object?

In general Grasshopper does not support any sub-objects. The only exception is that curves can be referenced Brep edges. It is probably possible to extend the same functionality to surfaces (so they can be referenced Brep faces), but I’m not sure this really solves your issue.

Yes exactly. Main driving force for this is budgeting standards. Volume of concrete block is not enough. You need to know formwork area. Same goes for any elements which are modelled as solids but in the budgeting catalogues the quantity is just length or area. Thats why i made a script which can obtain this info from subobjects and write it as key/value into main object (using Elefront). The bottleneck is the inconvenience part where i have to deconstruct the object and using just list index pick the right subobject. I want to employ Rh + Gh widely in my firm but i just cant come with solution requiring old guys fiddling with lists in GH. I need to find a way so one can just click on subobjects instead of using listindexing… Maybe GH component which could determine deconstructed geometry by clicking on it would be great. I can imagine Reference brep --> deconstruct --> select objects by clicking (it would just do the same like typing indices in list item just doing it visually) —> the rest is easy.

And definately baking has to be avoided in the process.

instead of the yellow panel there could be special component enabling me to actually click on those faces. this would solve it for good

This would solve the issue entirely under one condition. Referenced edges or faces would need to retain info about their parent GUID.


Today i tested if referencing edge of a brep will retain ID. It shows that referencing is only possible in “copy” mode and thus no info about the rhino object is maintained. If it was only possible to reference crv or surface as edge or face of brep and that geometry would know the parent object ID.


Any development on this?
I can envision a node which would reference subobjects from rhino with three outputs: geometry, parent object id, subobject index (if i explode a brep there is some order to the faces, i assume rhino has sub-ids for faces which are ordered just like grasshopper orders them when deconstructing brep…)

Would this be a big thing to implement?


looks a bit like selectable preview to me.