Drag Strength UI Proposals

There are 3 aspects here: drag strength usage (mouse clicks), drag strength value change (via the slider or the numerical field), drag strength activation/deactivation (via the dedicated icon, a key press or typing the command in the Command line).

  1. The drag strength value is changed several times per day. This is the least used thing.
  2. The drag strength activation and deactivation must be done every time the users needs access to reduced speed or normal speed. This is a repetitive process that could be fully avoided via using Super Gumball with secondary drag strength handles.
  3. The drag strength itself is used many, many, many times more. This is the most intensive mouse-clicking action in Rhino. One control point easily consumers tens of mouse clicks to fine adjust it to achieve the desired surface continuity or reflections.

For example, usually I change the drag strength value about 5-10 times per day. I activate and deactivate the “Drag strength” tool maybe 50-100 times per day. It’s extremely irritating, because the Gumball does not have secondary drag strength handles next to the default ones.
I use the “Drag strength” tool to adjust individual control points (and sometimes objects) at least 1000 times per day! Lets say that I set the “Drag strength” to 2% or 3%. Then I use that value most of the time to move various control points and objects for hours. One control point alone may require 10-50 adjustments.

Simultaneously having a direct access to two drag strength handles with their respective speeds (normal speed, i.e. 100, plus a reduced speed) is essential.

I will repeat it again. People who work with less precision or never use the “Drag strength” tool on daily basis can’t understand the need for secondary drag strength handles next to the regular ones. “Drag strength” is far less important for the users of SubD, because its nature is to automatically smooth-out the polygonal objects, hence the position of the SubD control points could be adjusted with normal speed. However, with NURBS surfacing, even 0,01 mm change may affect the reflections, the surface continuity or create a gap between adjacent surfaces.

It’s the same analogy like me not caring for Grasshopper due to the simple fact that I don’t use it at all. However, that does not mean that GH is useless, because other people take advantage of it and demand new improvements to make their workflow better.

Here is a complete 3d model of the Super Gumball, made to help the developers implement it as soon as possible. I also included two of the images used in the file, complete with text explanation of every function of the Super Gumball. There are two saved Named views that reset the view to:

  1. The same size as the actual Gumball as seen on my 4K screen (may appear different in your Rhino);
  2. A close-up view to fill the whole viewport (just like the last image below).

Super Gumball 3dm.rar (1.4 MB)

Note that I created all handles (except for the cutting line handles from Rhino 8), whereas some of them will be automatically hidden during a real usage, because they are context-sensitive. For example, the Plane handles could hide once they reach a certain rotation relative to the view. Or, the Scale handles hide when a control point is selected. You get the idea. :slight_smile:

The settings must allow a full customization regarding the visible secondary handles, including their individual: size, thickness, visibility, distance from the primary handles. This way, the user could opt to enable only the secondary handles for Move, while keeping the rest ones hidden. The secondary Rotate handles in this example are 60-degree arcs, meaning 15 degrees shorter at either end than the primary rotate handles that use a 90-degree arc.

Right-click on a secondary handle opens a tiny pop-up menu with a quick access to 6 “Drag strength” presets (0.1, 1, 3, 10, 20, and 50), so that there is no need to open Rhino’s current “Drag strength” panel. Note that the smallest drag strength ratio is 0.1, which is very important for fine adjustment from a far distance, such like when the user wants to have a view over an entire car fender while dragging some control point. A value of 1 is way too fast in this situation.

RH-94365 DragStrength needs finer control

Being able to write a value of 0,1 or 0,01 would help a lot. The slider could still range from 1 to 100 for manual adjustment to keep it familiar for the long-term users, but the numerical field itself should provide the option to write any custom value.


Along with that, the “Drag strength” pop-up window could include a new tickbox below the slider called “Drag strength handles”. @Gijs gave that great idea and I completely agree with it. It’s quite intuitive, because anyone who does not activate the “Drag strength” panel basically does not need drag strength handles anyway.

Once the “Drag strength” tool is activated and the optional tickbox is checked, it will show additional “Drag strength handles” on the Gumball located outwards to the existing handles (basically switching to “Super Gumball” mode).

The tickbox should be off by default when Rhino is started to please the users who are against that new functionality (they will never see the new extra drag strength handles unless they click on the corresponding tickbox on purpose), but must remember its state (if activated subsequently) for the current session.


As mentioned in other topics recently (see the link below), the user must be given the freedom to customize the size, line thickness and position of the “Drag strength handles” (in the same way like the existing Gumball options), along with the option to change the visibility of each group of handles (Move, Rotate, Scale, Plane) individually. The latter will let the users see only the handles that they need. I guess that most users will take advantage of the Move and Rotate “Drag strength handles” more than the Scale and Plane ones.

Just a reminder that it’s very important to allow a scale factor smaller than 1% for the “Drag strength”. Currently, the user is not allowed to use any value smaller than 1, which is a deal breaker while adjusting control points to achieve G1 and G1 continuity manually. Especially if the dragging is done from a distance where a value like 0,1 or even 0,01 would be much more usable.


Also, I have another feature request. Since my Super Gumball’s secondary “Drag strength” handles may not be developed anytime soon :neutral_face:, could you at least add a new tickbox called “Normal” that enables a second slider to control the drag strength of the blue arrow handle for the normal direction separately (when in “Align to control polygon” mode)?

Currently, I’m forced to constantly adjust the value between 1% and 100% or between 1% and 5%, because I need a very precise movement along the normal direction (the blue arrow handle), but the rest green and red arrow handles that I move along the control polygon must be substantially faster to adjust. It’s extremely irritating to repeat the switch from 1 to a greater value every few seconds in a long modeling session.

Disabling and re-enabling the “Normal” tickbox should remember the last used value for the secondary slider.


When I select an uncommon control point of a SubD object, like a 3-star or 5-star connection, the Gumball fails to align the arrow handles accordingly. This particular shortcoming have been discussed multiple times in several threads, but it would be nice to have it fixed as we are close to the official release of Rhino 9.


Another thing to fix is the strange behaviour of the floating panel of “Drag strength”, which seems to lack one pixel at the top end, leading to a distorted look. You can easily see this in this video where I moved the panel on top of the surface to show how it appears while it’s static and then moved around:

I’ve added RH-98068 DragStrength: more control

Thanks!

RH-98068 is fixed in Rhino BETA

RH-94365 is fixed in Rhino BETA

I just tried the latest BETA and the separate sliders for the “Drag strength” do wonders. This is a game changer! Thanks!

However, I have a few things to say about the performance, usability and the UI.

  1. The finer control with the addition of decimal numbers for “Drag strength” is great. However, I noticed that when I click on the left arrow button to reduce the number from 100% to 0,1% the numbers divide by 2 in the following order:
    100, 50, 25, 12.5, 6.2, 3.1, 1.6, 0.8, 0.4, 0.2, 0.1

But when I press the right arrow to increase the value, it returns slightly different numbers that are not user-friendly:
0.1, 0.2, 0.4, 0.8, 1.6, 3.2, 6.4, 12.8, 25.6, 51.2, 100

I get it that these are programmed to round up to the nearest double or half number, but getting decimal numbers above 1 is confusing. I would rather have the following numbers when I press the left or the right arrow buttons:
100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1 (and vice versa)

Also, moving the slider manually should set the value to whole numbers, because having a random decimal number in a greater range is hardly useful. A decimal number such like 52.1 is more confusing and slower to read than a nice whole number. Of course, if anybody wants to use a value of 37.7 by double-clicking on the slider to write that number manually, it’s up to them, but in 99,9% of the use cases getting a whole number (like going from 37 to 38 instead of 37.7) from the manually dragged slider makes more sense.

I make the following proposal: Moving the slider manually to the utmost left position manually sets the value to 1, no less. A subsequent pressing of the left arrow button further reduces the value to 0.5, another press reduces it to 0.2 and a third press reduces it to 0.1 (sometimes a value of 0.01 is also needed, but I can’t get it past the 0.1 mark in the latest BETA). Moving the slider manually should result into a whole number every time. If the value is 0.1, then moving the slider to the right should immediately change the value to 1 or a greater whole number. That’s the most intuitive way. Finer control must be enabled either via the left and right arrow buttons or by double-clicking on the slider for typing a custom value manually.


  1. Related to the above. Currently, if I want to set a value of 0.0001%, Rhino shows 0.1000 (basically 0.1 with extra zeros). However, when I move the slider to the right, every value is a random decimal value consisting 4 numbers after the decimal dot (there is no decimal comma for the users who typically use it natively in their country instead of a decimal dot). Example:

First, I write 0.0001 in an attempt to set that finer value to the bottom slider:

However, the resulting value is 0.1000, and every manual adjustment of the slider returns long decimal numbers consisting 4 digits after the decimal dot:


  1. When I proposed the second slider for the N direction, I drew two variants of the “Drag strength” window: a smaller one with a standard single slider, and an expanded one consisting two sliders. I can’t find a way to shrink the size of the window when I use a single slider. The expectation is that activating the tickbox for the N direction would expand the window accordingly, while removing the tick would shrink the window to its smaller size.

I like the idea of removing the numerical field and writing the number inside the slider itself. This is a nice idea by the GUI designers. But being able to shrink the panel further will be even nicer. When the secondary N slider is not activated it consumes extra space.


  1. Also, I can’t shrink the whole panel when I click on the tab name, in a similar fashion like some other panels such like “Zebra analysis” and “Global edge continuity”. They can shrink entirely to save space while their functionality still remains active. Enabling the same behaviour for “Drag strength” would be welcome.

@Rhino_Bulgaria thanks for your feedback.

  1. pls make a new thread for things unrelated

  2. I’ll look into making the sequence prettier. RH-98282 DragStrength: prettier sequence

  3. The precision is 0.1 Adding more numbers should not be possible, so that needs to be fixed. RH-98281 DragStrength: slider decimals

  4. / 5. This tool is an odd one in the sense that it is not a normal panel. I’ve tried hiding the settings but that didn’t work well with this dockbar. The content can be changed on the fly, but that didn’t make it scale properly (automatically). So, in the end I opted for disabling rather than hiding, when not applicable.

RH-98282 DragStrength: prettier sequence

is fixed in (9.0.26246.6303, 9/3/2026)