Drag Strength UI Proposals

Locking the drag strength to a horizontal scroll wheel will leave almost every Rhino user out of the game, because they will be forced to buy the “Logitech MX Master” or some of the few other mice with such a feature. :slight_smile:

As I mentioned before, having the option to turn on and off the secondary “drag strength” handles individually is the best solution, because 100% of the users will have the freedom to setup the Gumball the way they need it. Most of the users will probably opt to activate only the Move “drag strength” handles, but others (like me) will take a full advantage of all secondary handles, including for Move, Rotate and Scale.

Being forced to constantly activate and deactivate the “Drag strength” window is super annoying. I do that hundreds times per day, sometimes even thousands of times. It’s a huge waste of time.


There are several alternative ways:

  1. Super Gumball with secondary “drag strength” handles (the best of all);
  2. RMB to act as a “drag strength” speed, LMB is normal speed (second best, no need for visual extra handles, but less convenient than using the LMB);
  3. A tiny icon next to the Gumball to toggle the normal speed and the “drag strength” speed (similar to the white circle to reach the Gumball options panel);

The toggle between “Snappy dragging” and “Smooth dragging”, which I described in detail here, could be done in a similar fashion:

The best automatic switching between the primary and secondary mode is to either hover over the Gumball handle (lets say for 500 ms) or press and hold the LMB on the handle, then wait for 500 ms and that activates the secondary mode. Works flawlessly for those who use a 3d mouse with the other hand. Or use the RMB for that.


These proposals are not just thrown in the air for fun. If you demand your programmers to do full-time modeling work for several weeks involving fine adjustment of control points and a 3d mouse, in just two days they will become desperate to implement all of the above proposals due to the repetitive, inconvenient and time-consuming actions in Rhino.

I will give you an example. In order to fine adjust a control point along its control polygon to maintain the G1 continuity, I’m forced to:

  1. Run the “Scale” command;
  2. Have Osnap to Points turned on;
  3. Snap to the 1st point and press the LMB;
  4. Snap to the 2nd control point and press the Tab key to lock the direction;
  5. Move the mouse pointer away from the 2nd control point to draw a much longer white vector along the locked direction, while also move the camera away with the 3d mouse;
  6. Press the LMB to start scaling while also adjusting the camera closer to the control points (most of the time it’s inconvenient and forces me to keep track on the much longer locked vector).

All of these operations could be eliminated with a secondary “Drag strength” handle. Not to mention that this will finally enable close-up view of the adjusted control point without the hassle to look from a far distance.

Do you have a mouse with a horizontal scroll wheel? Or what is your primary input device when surfacing? I’m sorry but I really don’t think extra handles, right clicking, or hover times solve this in a reasonable way.

Scroll wheel (mouse whell) currently is used for Zoom in-out.
SHIFT+Scroll wheel seems to be an unused combo, so we can maybe use this to set the drag strength?

A side or bottom control where to enable/disable drag strength, falloff, etc etc… where you can manually set the strength value…
… or you can SHIFT-scroll anywhere and you see the number going up/down (with a factor of, say, 1.2 for each step?)

I don’t agree here. How would you manipulate the control points and other objects with that Gumball in a precise way? It’s mega inconvenient with the Rotate handles. You are forced to turn on the “Drag strength” mode first, then suffer from the fact that you may be forced to hold Ctrl or Alt (or both) keys to toggle the Ortho and Osnap (sometimes it’s useful to activate them, other times they must be deactivated), then maybe also toggle the GridSnap, then struggle with the limitation of “Drag strength” set to no less than a value of 1. :slight_smile:
Have you tried to rotate an object precisely with the Rotate handle set to “Drag strength” of 1? :slight_smile: It’s still too fast, especially if you have to look at the whole object from a far distance. The same goes for the Move handle when you drag the Gumball from a far distance (the “drag strength” multiplies due to the view). The value must be 0,1 for more precision, but it’s impossible in the current Rhino.


A more elegant solution is to hover the mouse pointer over a Gumball handle, then wait for 500 ms (or any other customizable period of time), then a secondary handle will appear temporarily (or the existing handle will get a tiny icon next to it to notify the user about the activated drag strength), then you will be able to press it and it will move, rotate or scale at the desired “Drag strength” speed.

That’s something worth considering. I really do wanna resolve this. It’s very apparent how awkward and tedious it is to jump between all the panel and view when wanting to make lots of small adjustments. I opened RH-88969 to get the ball rolling on solving it.

I use Logitech G502 Proteus Spectrum. It does not have a horizontal scroll wheel. It does have several customizable buttons that are already occupied by important commands (toggle Grid, toggle Osnap, 4 custom display modes, and double click).

The Logitech MX Master is way too big for my hand and lacks all those extra buttons.

This is a bad idea. Especially for those who use a 3d mouse. Also, note that even if your finger is on the Shift key all the time, you will be forced to often stop the work, switch the Gumball “Drag strength”, then continue again. Compare this to having a dedicated secondary “Drag strength” handle before the regular one. That’s an instant adjustment.

Yeah precise rotation with gumball usually ends up having the cursor to the limit bounds of the screen to have the biggest “lever”…

not a good UI/UX.


You’re right.
What about this: currently

  • right-click = ENTER, repeat last command etc…
  • holding right-click and dragging = pan/rotate view
  • holding right-click and releasing without moving = opening a dropdown menu (I rarely/never use this)

what if:

  • holding right-click and then scrolling (while still holding) ?? This could be the strength control…

It’s pity that you ignore all the proposals I made during the years and in this topic. Most likely 95-99% of the Rhino users don’t have a mouse with Horizontal scroll wheel. Those who wotk with a 3d mouse will still feel inconvenience if they are forced to often move their left hand on the keyboard to hold Shift + mouse scroll wheel and then rotate the latter a number of strokes to switch between 100% drag strength and 2% (or whatever value they want). :slight_smile: Mega-super-ultra inconvenient compared to a simple secondary “Drag strength” handle next to the regular one which is instant.

Exactly the problem I described in my post above. Being forced to zoom-out the camera to be able to draw an imaginary longer vector to reduce the speed of moving, scaling or rotating the object is bad, because the used loses the ability to fine-tune the adjustments from a close-up view.


It’s the 2nd best solution after having a true secondary handle, and much better than any other proposed approach. Especially if the user is able to adjust the time in milliseconds (maybe even 200 ms is enough, must be tested).


Holding the RMB on the Gumball handle does not repeat the last command, nor it acts as Enter. :slight_smile: It’s free to be used as a “Drag strength” function while the mouse pointer is over any of the Gumball handles.
Also, if you need to pan or rotate the view via the RMB, you do that prior moving the mouse pointer over the Gumball handle.
The dropdown menu will not open if you hold the RMB on any Gumball handle. It’s counter-intuitive to open that way.


Holding the LMB on a Gumball handle already moves, rotates or scales the selection by a bit, even if you try to not move the mouse meanwhile. It does so with the normal speed, meaning that there is a risk of an accidental translation of the object while trying to switch to the “Drag strength” mode.

Unlike that, if my proposal for RMB = “Drag strength” is being implemented, the translation is much smaller and totally intentional. :slight_smile: To cancel it, the user simply presses the LMB (opposite of the current translation with the LMB which is cancelled by a right-click). As simple as that.

If you are holding right-click and start to move the cursor, with a couple of pixel nothing happens, after that it switch to pan/rotate… but this doesn’t prevent us from implementing the drag strength control anyway with the scroll wheel if the right-click is still down… simply stop the pan/rotation wherever it is…
We are talking about a very specific combo that never happens: scrolling the wheel while right-click is being holded.

1 Like

Most users will accidentally move the mouse while trying to hold a mouse button and simultaneously rotate the mouse scroll wheel. :slight_smile:
That’s on top of being forced to leave the 3d mouse to hold the Shift key. Added inconvenience + slow switching multiple times per day.

Sometimes, the user needs to pan or rotate the camera while dragging some of Gumball’s handles to get a better view (not everyone has a 3d mouse). Your proposal renders that impossible, so many users will suffer from it. Nothing can beat a true secondary “Drag strength” handle. The user has an instant access to both drag modes that way. :slight_smile: Think of it as the convenient analogue volume knob in the cars compared to the digital buttons on the LCD screen that take away from the driver’s attention and time.

It would still work, no problem at all.

My last idea/suggestion doesn’t involve the Shift key at all.

It involves inability to pan/rotate the camera while holding the RMB on the Gumball handles and is noticeable slower and inconvenient compared to the instant access to the secondary handles.
It’s very important to have normal speed and reduced drag speed simultaneously.

The mouse scroll wheel could be used to adjust the “Drag strength” slider, but it’s inconvenient for switching between normal speed and drag strength speed.

I feel like you didn’t understand what I wrote.
scrolling the mouse wheel while right-click is down… anywhere… it’s a combo that is never used.
Just a mean to set the global drag strength, anytime anywhere, even when no gumball is being shown on screen.

As I mentioned, the mouse scroll wheel could be used to adjust the “Drag strength” slider, but the actual move, rotate and scale of the objects should be done in a convenient way via primary and secondary Gumball handles that allow a direct, instant access to both.

If you this, Please can you make it possible to assign the ] and the [ keys for the drag strength. that way users [like me] who use a Wacom pen instead of a mouse, would be able to assign this to the touch wheel [like the brush-size control in apps like PS and ZB and many others]

please move my post to the other thread [i posted before seeing it was split by @Vanessa ]

1 Like

It could be this on the primary gumball:

If that doesn’t work: hotkeys that are only available when a SubD or CV selection is active, (e.g. press W to make the drag strength Weaker and S to make it stronger). Or, make it like Blender’s modals, hold F while moving the mouse sideways to change the strength. Or, like Alias, press a button, a pop-up will appear and use the pop-up, though the latter is the worst of the options as it involves multiple steps.

E: Another UI approach:

Here is the best solution, which (for now) is the most hated and rejected. :smiley:

Users rarely need to access the Gumball settings, so the white “Gumball settings” circle could be replaced with a dynamic “Drag mode” icon that changes its look based on which drag mode is active (World, Control polygon, UVN, View, CPlane). However, a right-click on the icon will still bring the Gumball settings. Hovering on the “Drag mode” icon will show a tooltip to tell the used which is the currently active drag mode.

IMPORTANT! Every type of secondary “Drag strength” handles could be turned on or off by the user. For example, some users may opt to have secondary “Drag strength” handles only for Move, whereas those for Rotate and Scale will be deactivated.

In case that all secondary handles are deactivated, the user could still open the “Drag strength” pop-up window to set a different value and use the regular Gumball (the current implementation).

However, if one or more secondary handles are activated, opening and closing the “Drag strength” window will NOT deactivate the drag strength value. For example, if the user activated the secondary “Drag strength” handles for Move only, opening the “Drag strength” pop-up window will set both, the primary and secondary handles for Move to use the current drag strength value. The beauty of this approach is that then the user can close the “Drag strength” window and the secondary handles for Move will STILL use the chosen drag strength value, whereas the primary Move handles will work at normal speed (100%). This way, the viewport will not be obscured by the pop-up window.

Typo in the image. Must be “Ctrl+Left mouse click”

2 Likes

I wouldn’t mind Bobi’s proposal, but there still needs to be a quick way to change drag strength and I belive the radial menu patent has also lapsed now (along with T-splines) so nothing that prevents McNeel from looking at the most effective solution so far:

Nobody where I work as a horizontal mouse wheel. Everybody where I work has a 3D mouse. That 3D mouse usually includes at least two buttons to assign shortcuts to, and I think this is potentially important enough that one of those could be sacrificed to pop up a menu which included drag strength (again see above) or at least pop up an existing menu to which drag strength could be added (presets for 1%, 10%, 25% etc and an off toggle would be enough).

But just like with block edit, I wonder if users will get there first