In “Rhino WIP Features” I can read under “User Interface”:
- Cross-platform tab system for panels and toolbars
- Cross-platform docking architecture rewrite
- Toolbar improvements
So I hope this is the right time to stress the need to control Rhino’s interface with APIs (C#/Python).
I have the need to modify dinamicly (via a script) the toolbars, the buttons, the panels…
My first use case is having a different workspace for different jobs.
2D drawing, 3D modeling, rendering/shading and some more specific Inventory/BOM, Machine tools/controller.
Creating a set of RUI files is not dynamic and requires knowledge of the Rhino context and configuration when creating them.
Even though Rhino doesn’t offer different workspaces, I would like to be able to program it.
I’d like to dynamically turn Rhino’s command line on and off, take full control of the keyboard and shortcuts.
Similar, my goals are to be able to set specific presets and keyboard events in a different context.
For example, I am writing a custom command and would like the “.” performs a particular action.
Or, I am working in the context where I control a machine tool and I want the larger key on the keyboard to immediately stop the process.
Overall my need is to be able to dynamically create profiles that I can activate and deactivate at will.