SoftTransformmakes it easy to adjust large numbers of control points by applying a falloff influence to the transformation for surrounding points.
To try it:
Run the DragSettings command or right-click where your panels are docked and bring up the Drag Settings panel. This panel also provides easy access to your drag mode and drag strength.
Then, check the enabled box underneath the Soft Transform heading.
When sub objects or grips are selected, the object’s mesh will be shaded with the adjustable falloff color.
The shading shows the area of influence of the transformation.
To increase or decrease the influence of the transformation, adjust the radius slider. Double-clicking of the slider allows you to adjust the influence outside the range.
The transformations falloff can be adjusted with the falloff shape.
The falloff shape determines how strong the transform will be for those points within the radius.
Currently, supported are Smooth, Linear, Round, and Sharp.
Two distance measures are used to determine which surrounding points are influenced:
The Spherical distance includes all nearby points.
The Along Surface traverses along the object being edited to find nearby points.
Additional Notes:
In previous versions, Rhino’s SoftTransform only worked with meshes and SubDs. In Rhino 9, curves and surfaces are also supported.
SoftTransform also works with the new UVN aligned gumball. Adjacent unselected control points within the radius will also move along their respective control polygon directions according to the falloff.
Please give it a try and let us know where the wheels falloff!
Would my comments below be more effective If I used demand/insist/must have in place of “prefer”?
Is this intended to replace SoftMove?
I prefer the ability to select the control points to be moved as in SoftMove.
I prefer the direct control of influence range by dragging a point used in SoftMove to the slider.
I can only make the slider range larger. If I double click and type a smaller value the slider maximum value remains the same. How do I make the max range smaller?
When working in wireframe mode I prefer to remain in wireframe mode while moving points.
We can add an option to have SoftTransform work within the selection or outside the selection. How would you determine the base point for calculating distances? The gumball is easy but ordinary drags are a bit more complex.
I’m not quite understanding this suggestion
Right click the slider and a range adjustment pops up.
Yep, I needed to fix some grip drawing beforehand. I opened RH-89453 to get this resolved.
For ordinary drag the base point would be the control point the user clicks on to drag. That would be intuitive.
A comment about my preferences. SoftMove uses a point which the user drags to control the size of the influence range.
Additional comments:
The entire control point net should remain visible and respond while one control point is being dragged; the same as occurs when multiple control points are selected and a control point is dragged without SoftTransform enabled.
The default Falloff Color should be a Rhino setting, not a document setting, the same as other color preferences.
Will the SoftTransform command continue alongside the new DragSettings, in addition to DragSettings having a Soft Transform feature? If so I’d like the SoftTransform command to work with curves and surfaces.
That makes sense. It’s still a little tricky since the base point can not be a grip like for example if there’s an entire surface selected. I think in those cases we may just have to ignore the soft transform.
Do you want a button next to the radius slider which will let you go pick a sphere in the view?
Yep, I opened RH-89480. My idea with putting it in the panel was making it accessible for quick adjustments since object colors can vary quite a lot in big models.
It does. If you have time it’d be great if you can try it on some real world examples and let us know how it works for your use case.
I’ve tried multiple times without success, and I cannot select a curve or surface. This is what shows up on the command line: “Choose soft transform option for mesh and SubD objects. Press Enter when done ( Enable=No Radius=5 Shape=Linear )” Perhaps it is not in the version of the WIP released so far.
Work In Progress
(9.0.25252.12305, 2025-09-09)
Egg on my face. The SoftTransform command needs a lot of work and I’ve been doing all the work in the panel. The command does different things depending if there’s something selected and its current enabled state. I would just turn it on in the DragSettings panel like I show in the videos. I opened RH-89482 to get it addressed. I don’t think there’s anyone relying on the funky way it currently works.
Are these vertex colors added in any of the drawing channels of the DisplayPipeline? I’m trying to replicate similar behavior in my custom plugin but always run into z-fighting issues when drawing objects on top of each other.
Windows 10 (10.0.19045 SR0.0) or greater (Physical RAM: 32GB)
.NET 9.0.1
Computer platform: DESKTOP
Standard graphics configuration using OpenGL
Primary display: NVIDIA GeForce GTX 1050 Ti (NVidia) Memory: 4GB, Driver date: 9-26-2024 (M-D-Y). OpenGL(4.6.0 NVIDIA 565.90)
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0
OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
GPU Tessellation is: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)
Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High
Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 9-26-2024
Driver Version: 32.0.15.6590
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 4 GB
Rhino plugins that do not ship with Rhino
C:\Program Files\Common Files\McNeel\Rhinoceros\7.0\Plug-ins\XNurbs (80be33b0-13b2-4ac4-9c77-03829214f9e9)\6.1.1.119\XNurbsRhino7.rhp “XNurbs”