I have developed a plugin Fastenworks, which is fastener plugin for Bolts, Screws, Nuts, and Other hardware. I originally developed it as python plugin that runs in a windowed interface. I have transformed that plugin into a ETO windowed Interface.
My question is whether to keep it as a windowed ETO plugin or code it as a dockable rhino plugin. I am at a crossroads to which way to go. I understand the pros and cons of each, but was wondering how the community feels on how best this plugin fits inside the rhino interface. Does does anyone have a strong opinion on why one is better than the other? It would be very helpful to me for me hear the reasoning for either case.
Good question, hard answer.
I agree both has pro and cons.
I think it really depends on the workflow you have in mind.
A docked panel would let you to select it faster so I think works better for repetitive tasks.
The windows looks more like one shot command.
So I prefer the floating windows that only shows when I call the command for it. Even better if it supports the - prefix to suppress the window as well and just run on the command line (so things get easier to transform into an alias)
The less clutter on the window the better it is IMO.
To me, having a docked panel is more convenient in this case because I imagine using this plugin involves coming back to the window repeatedly. I think running the Fastenworks command repeatedly could feel excessive when using it frequently. And docked panels fit nicely into my existing workflow.
For users who want to keep their interface without clutter, I think the panel scheme is flexible enough that it can be used as a window and closed when you’re done with it. This is how I currently interact with panels that I only use sporadically.
But I agree with @altamiro.aj that a way to interact with the plugin exclusively through the command line would be really useful, not just for aliases, but also extensions into scripting.