While the “BoxEdit” tool is handy for some operations, I often find it too slow and limited due to the lack of ability to snap to other geometry in the scene. In my opinion, Rhino lacks a proper, more direct tool to enable editing the size of objects via the mouse and capable to snap to other geometry. This is why I propose a new too called “Scale box”, whose purpose is to fill the gap between “BoxEdit” and “PushPull”.
“PushPull” works great on simple geometry, but it can’t be used properly on more complex models, not to mention that it’s purpose is to edit individual surfaces of a polysurface, rather than the whole object.
The “ScaleBox” should use the bounding box of the selected object(s) as a way to position its global edit arrows. The edit arrows are similar in size like the move arrows of Gumball, but their purpose is to scale the selection instead of moving it. This could become a real game changer for those who work on architectural or furniture projects where quick and convenient edit of multiple objects is needed.
I’m aware that combining the Sticky Gumball with sub-object selection could do some of these edits on simple geometry, but it’s still limited in comparison. Not to mention that it forces the users with 3d mouse to use the keyboard with their other hand. Also, the Gumball’s center must be often relocated, then use the “SetScaleHandles” option (also extremely limited), which is another huge disadvantage.
I will use the attached picture to explain it better. The black curve is located 5 mm lower and 3 mm away from the “ScaleBox” (or the bounding box) of the selected object.
-
To scale the object sideways, so that it will reach the black curve along the horizontal axis (left to right direction), we simply grab the arrow marked with A and it will let us scale the object in this direction. Note that the opposite end (marked with E) will remain in place. If Osnap is active, we could drag the mouse pointer to the curve and snap the scaling of the cylinder to it.
-
To scale the object vertically, so that it will reach the black curve along the vertical axis, we simply grab the arrow marked with B and it will let us scale the object vertically. That will make the object shorter. Note that the opposite end (marked with F at the bottom) will remain in place. If Osnap is active, we could drag the mouse pointer to the curve and snap the scaling of the cylinder to it.
-
To scale the object freeform, so that it will reach the black curve along all 3 axis in this corner, we simply grab the corner between the arrows marked with C and it will let us scale the object freeform depending on the mouse movement. Note that the opposite ends (marked with E and F) will remain in place. If Osnap is active, we could drag the mouse pointer to the curve and snap the scaling of the cylinder to it.
-
To scale the object vertically, so that the middle of the scale box will reach the black curve along the vertical axis, we simply grab the upper vertical arrow marked with G and it will let us scale the object accordingly, making the object taller in the process. Note that the opposite end (marked with F at the bottom) will remain in place. And vice-versa: if we grab the lower arrow opposite of G, the object will be scaled from the bottom while the top will remain in place. If Osnap is active, we could drag the mouse pointer to the curve and snap the scaling of the cylinder to it.
-
To scale the object sideways, so that the middle of the scale box will reach the black curve along the same direction, we simply grab the arrow marked with D and it will let us scale the object accordingly, making the object considerably wider. Note that the opposite end (marked with E) will remain in place. And vice-versa: if we grab the arrow opposite of D, the object will be scaled from the side marked with E, whereas the side marked with G will remain in place. If Osnap is active, we could drag the mouse pointer to the curve and snap the scaling of the cylinder to it.
If Grid snap is active, we can scale the object the same way like scaling a box from one edge to the opposite edge, snapping to every line of the grid.
The “Scale box” tool could be either activated manually in a similar fashion like the control points or edit points, or automatically upon selecting an object.
I also created a 3dm file with the different ways to scale the cylinder, as explained above, complete with the corresponding letters. The Notes of the file also consist the same text just in case.
Scale box tool.3dm (474.4 KB)