TranslateZ of control point or transform curve based on desired slope

I am a landscape architect and do a lot of site grading in Rhino. One of the methods I often use to interpolate elevation points is to draw a planar curve, lets say for the sake of example it is a perpendicular line across a concrete path for which I want a 1 percent slope. I then measure the length of the perpendicular line and multiply it by 0.01. Next I take the control point on the line on what will be the bottom of slope and translate Z the calculated amount. These become points of interpolation along that edge.

I was wondering if anybody has come across a script that allows you to use gumball’s TranslateZ function to make adjustments based on slope. It is such a simple and essential task for me. I find myself thinking there has to be a more efficient way so I don’t have to jump back and forth between the calculator and Rhino.

I could see a gumball mod that would work for moving a control point with TranslateZ function based on slope, but a command or alias for a script that requires the following sequence could also work too and perhaps be better for a modifying a curve with multiple control points.

Select line. Select near the end of line which needs to be lowered. Input slope in percentage or ratio.

I have some Python experience years ago, but never tried to build anything for Rhino? If anybody has any tips on where to start or would be interested in be hired to develop this, I would be super appreciative. There is a script that I have that Mitch Heynick developed which has the first two input steps. I’m pretty sure it could be modified to do this, though it would be nice if gumball itself could take an input that would adjust based on slope, say selecting a control point and clicking the TranslateZ arrow.


Hi @devin1,

Feel free to post any images and/or geometry, perhaps a “before” and “after”, as this might help others better understand what you’re looking for.


– Dale