RhinoCommon & Rhino menu

It’s been many years, RMA’s ability to create a rhino menu was removed. it was a mistake.
Since then, many of us need to add a menu to the window, in Python or in C#.
Can you please re-include this in RhinoCommon ?

It’s possible through WINAPI, e.g. AppendMenu, and filtering WM_COMMAND event of the Rhino window.

And perhaps RUI files are the recommended way to achieve this.


Yes, I know functions exist in C++. (which is why it’s a shame that the links are still not included).
Unfortunately, the RUI file isn’t really the answer to everything.
I had time to try to create the bidings. but I’m not a developer, I don’t understand C++.

Friends McNeel, today an artist, modeler, hobbyist can open an IDE and write a line of code.
But you know that, otherwise you wouldn’t be doing RhinoCode.

Please ! Add the links in RhinoCommon.
And it would be really nice not to wait a few years to get Rhino8 and maybe have those features.

Why was it removed?

It was removed in favour of RUI files. I agree that it is not ideal, but that is what it is.


There are examples in the past where I could read “it’s like that”.
Blender and its right click to select an object, today we have left click.
Or IE with its non-standard HTML/CSS, today Edge is Chronium by Microsoft.

What I mean is that it is not possible to override common usage.
from video or image editor, through email or internet browser, to file explorer or text software.
The contextual menu is on the right click. It may be stupid or it may not be. It’s common usage.
(I agree, it’s also a bit “it’s like that”)

Adding a menu with a few lines of script is a common usage.

I couldn’t agree more, but…

You can request McNeel staff that this is to be added as a feature. This will be “added to the pile”, and you can wait an unknown amount of time (read: multiple years) before it is added, if ever.

In the meantime you find yourself using RUI files and all the quirkiness that they bring along.

It hasn’t been removed. It just isn’t all that compatible with .NET, and it certainly isn’t cross platform.

As has been suggested, use a .RUI file.

– Dale


(Perhaps it should be clarified that I speak here of a menu, not of a toolbar.)
But just this: Add a Rhino menu Would be awesome!!

I have my own script compiler; Rhino 8 Feature: RhinoCode (CPython, CSharp) - #157 by kitjmv
Everything is done “live” and when Rhino starts up there is nothing to display.
Two days ago, I wanted to create a menu where to insert a history of my compiled/executed scripts.
I don’t see how RUI can be the answer to this.

But let’s talk about dynamic interfaces.

In this small contextual menus, the first one is generated according to the selection. OpenGL in DisplayConduit - #3 by kitjmv
Like Solidwork, select one line, we have a menu, select two lines, we have another menu.
Unless you create a RUI menu for each selection possibility, RUI is not the answer.

I am constantly confronted with this impossibility. I really tried a lot of things.
today the easiest alternative for me is to use Grassgopper as a menu or command palette.

When I model a kitchen cabinet, a perfume bottle, a statue,
When I’m in front of a 4-axis CNC or a 2D laser cutter.
It’s not the same job.
It is not the same commands.
I don’t want the same interface.

And take my word for it, RUI does not fully meet this need. The need to have an interface adapted to the work in progress.