Hello
This is not an accurate way of doing as radius is changing along the height.
You can make an helix, like proposed by Quan Li
Knowing the slope, the height of the helix its radius and number of turn you can write
height/(2*pi*radius*numberOfTurn)= Slope/100
so
number of turn = (height/100)/(2*pi*radius*slope)
with that it is possible to make an helix and project it on your shape.
Ramp LD.gh (1.2 MB)
A more robust way of doing could be a calculation in order to have the angle needed for the rotation.
DeltaAngle(height) = (dZ*100)/(radius(height)*slope)
slope ramp v3.gh (71.3 KB)
Mixing Rhino/Grasshopper
And the Nautilus components, just for tests
slope ramp v3.gh (829.7 KB)