Curve on surface with a constant inclination

I need to create the orange curve on that surface with a constant inclination. Or in Grasshopper or in Rhino,
thanks for helping,

if the outer-surface is a cylinder
if the surface is not a cylinder, post the file please.

1 Like

UnrollSrfUV the curved wall.

Create the curve/line on the unrolled wall. The constant inclination curve will be a straight line on the rolled surface.

FlowAlongSrf the curve/line using the unrolled surface as the base and the curved wall surface as the target. FlowAlongSrf | Rhino 3-D modeling

Added: Or if the curved wall is part of circular cylinder use Helix as Tom suggested.

1 Like


Perhaps projecting a line would work as well.

ShortPath will provide a constant inclination curve if the surface is cylindrical.

Not if a constant inclination along the curve is desired; the geometry won’t work that way.

I prefer CurveOnSurface CurveOnSurface | Food4Rhino The V6 version also works in V7.

as i do skitours, this problem is fantastic - it is asking for the best uphill path - that will provide most comfortable walking.

So i am asking for the more general approach - what if the surface is freeform ?

if a startpoint and a slope / inclination is given - it s quite easy to incrementally build a curve approximation:

but if start and endpoint is given it s getting quite hard.
maybe a nice challenge to solve with kangaroo ?

I had been drew a lots of steel construction stairs.
You can use the “InterpCrv” to draw a curve form edges of stairs pedal .
You will get the curve and “pull” the curve to closest surface, and “unrollsrf” from inside surface to outside.

if u can post the file will be better.

Assuming you want a constant inclination then my guess is except for special cases such as cylindrical surfaces iteration is needed.

Thank you, Guys!
Lots of suggestions.
To Me:
Helix: I’m not able to create the curve with the given start and endpoint…( :blush:)
Short path: It works here but it seems a little bit less precise than other methods (I mean very subtle difference in the resulting curve);
Unroll/FLow: It works perfectly;
Interpolatecrvonsrf: it works perfectly and is beautiful in that it shows the preview of the curve on surface while I’m drawing it - It’s my favourite method;
Projecting a line give differents result if the cylinder is not perfectly aligned to the view;
So, to me, Interpolate Crv is the better solution.

Jaw, I don’t understand “You will get the curve and “pull” the curve to closest surface, and “unrollsrf” from inside surface to outside”…
Thanks all,


  1. messure the angle of the base-Arc of the cylinder - fastest method i think:
    _dupEdge or draw a new _arc
    _what command will show the angle (example 95.8495) (copy)

    make sure to messure the angle with one (better two) digits more, than your document-tolerance. you may need to increase the display precision in the _documentProperties
  2. _helix the axis is the same as the cylinder has (cyan in my example)
  3. mode = turn
  4. input turn as a formula (95.8495/360) (i had to use paste in an external text editor and pasted the formular)
  5. klick startpoint, optional correct the sign (+/-) of the turn
  6. control the result _gcon against the edge is easy - should be G0.
1 Like

A really “scientific” solution, but the other methods are easier…anyway I will never arrive at this solution by myself…:slight_smile:

Here’s a thread on solving this type of problem iteratively.

Essentially it’s keeping a list of points each at constant distance from the next, and with the same height increase, then pulling them onto the surface.
It’s quite fun for making zig-zagging mountain paths

1 Like

The curve on the surface is not constant inclination. The inclination increases as the diameter reduced.

@davidcockey : I might don’t understan what you’re looking for, but for me it doesn’t seem to change the inclination:

yep, I’ve measured like a nooB :slight_smile:

I assume “inclination” means “slope” (vertical distance gained for horizontal distance traveled), not vertical distance gained per revolution. For a road, ramp or steps it is usually desirable to keep the vertical distance gained for horizontal distance traveled constant or close to constant.

1 Like

you are climbing the same height with shorter and shorter lengths, of course, the inclination increases…

ah,alright, translation issue, I’m sorry to have bothered you and thank you for the explanation!