That’s because Rhino has a Graphical User Interface which will give you the benefit of easily transforming objects with sub-object selection.
You can do this is grasshopper as well, but without the luxury of selecting the subobjects on your own, its not super intuitive. Its fine for one-off objects but I don’t think you can reliably make this into a cluster for any and every brep. Depending on your use-case, you might as well make the model in rhino as its easy to change and then reference it into grasshopper for further processing.
Anyway, here’s the script if you do just want this as a one-off object.
Yeah as you say, it’s not viable if you got a cluster of similar looking objects
I hooped maybe there was a free plugin/akin that allowed similar transformations more easily
I wish that rhino/grasshopper, were more seemingly integrated, it’s been a while that both packets are shipped together, but they’re still quite separated applications, whereas on stuff like houdini or maya (they’re not cad) whatever you do on the gui is also made in the node viewport, the two apps do actively comunicate
Maybe I don’t understand your issue but one thing about Rhino and Grasshopper not offering the exact same features: How do you automate a mouse click which selects an edge?
Could you show us an example of how it works in houdini or maya?
Lets first give a name to these transformations that you are talking about - they can be called sub-object transformations where you select a part of the object (such as control point of a curve, edge curve of a surface, a surface of a polysurface) and then transform those by either move, rotate, scale, mirror.
Rhino seems to know that when you transform the sub-object, it will be able to reconstruct the object intuitively like in the example where you shared - scaling the top surface of a cylinder to make it conic. It does that by re-lofting the two end curves of your cylinder. Infact, this is what the command line shows when you do the action you are showing in your video -
I can see the benfit of this, it would be nice if there’s a component for deconstructing breps which remembers how the surfaces were created (in this example - loft). Then when you transform one of the surfaces, you could merge it back into a ‘Reconstruct From Subobjects’ component which would know which surfaces are to be lofted. I can imagine a similar component for curves and surfaces too.
You would still have to algorithmically figure out which subobject is to be selected but that can be solved based on your usecase. Grasshopper is a parametric software at the end of the day and you will need some logic to understand which sub-object needs to be selected. Perhaps if you can reference sub-objects, you could just set those from rhino via a parameter so you wouldn’t need any logic.