OrientOnCrv - Maintain vertical alignment?

Hi. I need to copy a curve (red one from the attached file) along another curve (the blue one) and at the other end to finish like the green curve and all the way to be copied keeping the orientation along the normal of the curve and also to maintain all the time the vertical axis unchanged. I’m trying to make a handrail ans seems difficult to get this shape right. I tried to use the OrientOnCrv but the result it is very different from the what I need to achieve.

From top view the end result needs to fit into the magenta curves, but unfortunately I can’t get there.

OrientOnCrv.3dm (4.5 MB)

Hi Macuso,

Is this what you want?

There may be an easier way, but this is how I did it:

  1. Extend the blue curve slightly so it extends beyond the red curve
  2. Create a horizontal plane below the curves.
  3. Project the blue curve onto the plane to get a flat copy.
  4. Extrude the flat curve upwards above the blue curve to create a surface encompassing it.
  5. Create a circle around the blue curve centered where it intersects the red curve and with a radius taking it through the middle of the lower edge of the red curve.
  6. Sweep the circle along the blue curve to create a pipe.
  7. Create a curve from the intersection of the pipe and the surface created in step 4. (Two will be created, the bottom is the one needed.)
  8. With sweep 2 rails, use the blue line and the lower intersection curve as rails and the red and green curves as cross-sections to create the handrail. When requested, you should adjust the seam point at each end to coincide with the lower rail.
  9. Lose the construction artefacts (I put them on a separate layer so I can go back to them if needed).

Handrail.3dm (4.0 MB)


Hello - Sweep1 with ‘Roadlike’ , axis set to World Z should do it, I think.


Thank you for replays. I will try both solution on Monday at work.

Hi, Just try Pascal’s - it does what you want more simply. I mistakenly neglected it because the Roadlike option doesn’t appear in the command line.