Create a dent (Tips and tricks needed)


Need some tips how I can create a function to make a dent in a surface.

I can do the following:

  • Ask the user to select some ControlPoints
  • Let them give a number
  • Move points in Z- direction

But then the selection will be moved and wont be “smooth”, because the inner points should be a bit more moved then the outer points. See example below:

Is there another way too easily make a dent with user input (like selection and dept)?

Any tips or tricks are welcome :smile:

P.S. I code in so from rhinoscript too rhinocommon, everything is welcome :slight_smile:

Hi Jordy, i´ve written something attractor related for meshes long time ago, but speaking in Rhino commands, you could try to _SoftMove all control points of your surface using either a surface for your boundary or a curve as i did in the example below.

jordy.3dm (179.9 KB)


Hi Clement,

Thanks for your input :slight_smile: works good :slight_smile: Is it also possible too use an oval shape instead of a circle?


Hi Jordy, not that i know of. But it could be an interesting addition to use custom shapes instead :smile:


Indeed, because I use custom shapes 90% of the time.

@dale do you know if this is possible? or if I can create somethings like this myself with vb.Net?

There is no equivalent to SoftMove in the SDK. You might be able to come up with something on your own - something that moves inner control points a percentage of the outer control points.

@rajaa, any suggestions for @jordy1989?

jordy1989, SoftMove alloes you to select not only a point, but also curves and surfaces as a base. This should help you use custom shapes to control the move.

Dont really know how to do this “Smooth” I do the following:

Have my srf and curve:

Pointson and selboundary

Use the command SoftMove and click in the commandbar on Points to Move from, curves
Then a Circle appears. not in custom shape.


But now on the curve the points are moved. But not the inner part.

Am i doing something wrong?

You must create a planar surface from curve and select the surface option using the command SoftMove
Ciao Vittorio

But when I do that this happens:

It is not softmove anymore. It gets the same result as if I would use move or PageUp/Down

I would try to vary the inner surface distance from the base (it does not have to be planar).
See the following:

So I first have to make a surface that is not planar with softmove to make a dent with softmove in another surface…

I do it now as followed:

I select the points. Move them and smooth with factor 1.0. :slight_smile: