Road or Rail Geometry with Vertical and Horizontal Curves

I want to draw a cross section of a viaduct or tunnel and use follow me to extrude along a centre line. The centre line of the viaduct or tunnel can be drawn in two dimensions with only horizontal straights and curves but it needs to be done in three dimensions, adding vertical curves and gradients as well.
How can I apply say a vertical curve to a horizontal curve, knowing the chainage along the centre line for the start and end of a vertical curve?

I’m not sure I understand where your problem is. It’s entirely possible to draw a path of curves straights and gradients in 3d.
Perhaps an image would help us give you an answer.

And a curve extension.

What info you have given is a plan view, so the verticals can be any thing=> not much info plus the application can very will dedicate the gradients’curved_ramp.skp (47.7 KB) if you what to control centripetal acceleration of what ever the end use is . Here is an old how to ( not mine) for drawing ramp maybe give you some ideas. and one plugin $ Instant Road Nui | Vali Architects | Instant Scripts

Thanks for your advice. Yes curved ramps can be done but these have a constant vertical gradient. What I need to be able to do is apply a vertical curve to a line which is already a horizontal curve. This is a standard problem in designing roads, viaducts or tunnels.
One option which would be rather inefficient is to calculate points along the alignment at intervals and join them together but I think follow me does not work for that.

Thanks for your help; sorry it was not clear. Roads, viaducts, bridges and tunnels are designed with horizontal and vertical geometry. This comprises a series of straights with intersection points and curves applied between each straight. It can happen that a section has both a horizontal curve and a vertical curve at the same place. I need to be able to apply a vertical curve to a line which is already curving in the horizontal plane.

Then follow me tool is not adaptive which is what you want?
Posting a skp of what you are trying even if not exact would help in homing in on solution :grinning:

Are you after a path like this?

Many thanks for your advice. Yes this looks like a line curved in the horizontal and vertical planes at the same time. Would you mind telling me how to enter curve data manually or somehow controlling the centre point and radius of curves? I can do the horizontal alignment easily by drawing lines between intersection points and applying tangential curves of defined radii. It is the problem of then applying gradients and vertical curves which has me stumped. Luckily all curves are circular so that keeps things simpler.

If you can draw the horizontal and vertical profiles you can then intersect them.


1 Like

Here’s a method using native tools:


Thanks for your kind advice; the problem with this technique is that the vertical geometry is not at right angles to a line through the horizontal geometry. The vertical geometry is applied by bending it to follow the horizontal geometry. Sorry this is hard to put in words but I am sure you know what I mean.

Many thanks for this method; it will work and I will try it but I wonder if a more automatic and quicker method could be found? For reasonable accuracy, I would need a ‘hoop’ at about 2m intervals which would result in say 500 hoops in a 1,000m length of structure.

Humm… 2mm intervals, 5 hoops to 10m length then scale up by 100??? just popped into my mind…

I’m not sure how to automate it, but I may be able to get you a price on several cases of hoops.


(Incidentally, notwithstanding the laborious nature of this construction, it has the additional benefit of allowing you to define embankments by angling the tops of the hoops from the horizontal.)

  • Create your (vertical) longitudinal profile centerline with vertical curves and straights, divide the straight in to sections of 1-2m for a smoother profile. Do not divide the curves, this will create issues after bending
  • Create a horizontal profile, as smooth as possible
  • Use Chris Fullmer’s Shape Bender to bend vertical profile in to the shape of your horizontal profile.
  • Use Fredo’s curvizard to smoothen the centerline.
  • Use Eneroth Upright extruder, profile builder or curviloft to extrude your road/trackprofile along the centre created line
1 Like

If the OP is still working on their curved road file 5 years later then that would be slow work indeed, or a very long road.


It surely is, maybe they skipped building that part of the road, but it can be build now ha ha. Keep up the good work.

1 Like