Curve with increasing height

Hello, maybe this question was made before but I can´t manage to find it.
I want to make a curve with constant increasing heigh from level 0 to let´s say level +3m.
At half the distance of the curve the height should be then 1.5 m.

I aproached this problem in 2 different ways, first I made a sweep with 1 rail using a vertical line with the max. height at the start point of the curve sweeping to a point (level 0) at the endpoint. (example “A”)
The other way I found was using the command “Applycrv” but it seems that the results are different. The sweep solution seems at the same time too elaborated and I have in mind it should be a easiest way to solve this.

Maybe someone has a different approach and can help me. Thank You!

Hi, you can do this with Shear. Unlike Orient with scale1D, Shear will make a linear increment while maintaining the degree and controlpoints.

Hi @Andres_Tricnina

Why not just draw the triangle w. the correct height and then flow it along the curve, using stretch=yes on the command line options (using the length of the triangle as the base line). See attached screen shots.

HTH, Jakob

could you elaborate a little bit more on Shear command? I cannot manage to do it. Thank you

Try setting the origin point from the right view or front view.

The problem is the slope will vary depending on the plane that the shear takes place in, if I am thinking about this correctly - where the curve is more normal to the shear plane, the slope will change less than where the curve is parallel.


Hi Andres
Step 1 draw a curve , 2 rebuild curve, 3 extrude curve ,4 InterpcrvOnSrf.
Ciao Vittorio

hi @vittorio, never thought about this possibility. I think it´s the quickest and easiest.Thank you very much!

This is also my favorite way of doing this. I think I learned it from @mikko in the late 90’s or early 00’s on the old newsgroup… :smile: :older_man:

Note the rebuild step is important as it makes for a much more even parametrization along the curve, and thus you will usually get a more accurate constant slope than with other methods. The downside is that the resulting slope curve will have as many points as the rebuilt curve. If you don’t want to rebuild your original curve, you can just rebuild the extruded surface in the U direction (leave it 1 in V), the result will be the same.

Another slight inconvenience in this day and age is that InterpolateCrvOnSurface is not history-enabled, so the resulting curve will not update if you modify the original. Maybe in the next version of Rhino…


A workaround for this is to rebuild a copy with plenty of points in the ‘shape direction’, draw your curve on the rebuilt surface and Pull the result to the original.