Extending curve - controlling extension curvature

Hi all,

I am working on a spiral stair with an oval footrprint. I am looking to create a sweep path for a recessed handrail profile. I am having trouble extending the path from the top of the nosings to the landing while maintaining the curvature of the oval footprint.

I understand this is due to the NURBS curves and control points being outside the footprint which I am struggling to accurately generate.

I have tried a couple of methods, I started by simply extending, finding intersection, then plugging distance back into the extension again, however the end point had missed the footprint.

I am then pulling this point to the curve using this as an approximate start point. (as annotated i was also making a tween point). I then ran into the issue that having 2no points to insert to the beginning of the list of points to create a new curve, depending on whether i interpolated or fed into NURBS, the new curve never exactly matched the original nosings curve.

  1. Tangents / BiArcs

This all felt quite attractional, so i’ve tried a second method (attached),

I understand it is very difficult with an oval with an ever changing radius to specify to the extend curve how to accurately construct.

I just wonder if someone has a totally different approach. I keep wondering if i could use a sub curve of the original oval, which would be the exact right curvature. But i dont know how to make the control points sit exactly on the nosings and transform this new curve.

I think my approximation is quite close and i can just oversize the void, but if someone has a super clean accurate method i’d be interested to hear it.

Thanks everyone,

Also this topic seems a bit similar, discussing the problem of NURBS control points and constructing curves when points are not on the footprint of the curve.

(I also appreciate I’ve been a bit lazy by repeating groups and not grafting)

260820_Oval Stair Handrail Path Query.gh (72.9 KB)

I think I would use BlendCrv

260820_Oval Stair Handrail Path Query blend curve.gh (80.1 KB)

Hi @martinsiegrist

Thanks for this, This is actually a more elegant solution to a different problem. I had previously been trying to blend this using bi-arcs, which this is a similar but yeah more elegant solution.

However the issue that I am trying to solve is to keep the 3d curve matching the footprint plant, which in the version you have shared has wandered slightly when seen in plan.

I am wanting to produce a sweep rail for a handrail void and want to keep the profile consistent against the inside edge.

Thanks for your comments though and in hindsight, i’d omitted the blend / bi-arc, but on consideration it would be preferable to a harsh turn.

J-P

If you’re purely looking for the curve to be extended, here is another option:

260820_Oval Stair Handrail Path Query_v2.gh (76.3 KB)

Here I have used the ExtendOnSurface method in Python: RhinoCommon API

@Adam_M seems to have solved this.

@Jean-Paul_Teal you could also pull my blend curve to a surface…

Ah yes - this is the one.

Very well done @Adam_M and thanks again @martinsiegrist for your input.

Much obliged!

Just wanted to say an additional thank you @Adam_M and @martinsiegrist

The pull curve to surface concept has been great, i’ve had another occasion in the proces when some rebuilt geometry has strayed slightly and its been excellent to snap everything exactly into place.

Its made it a very neat and clean exercise.

Thanks again!

@Jean-Paul_Teal I noticed in your gh there was some repetition of groups of components that perform the same functions. I thought you might be interested in seeing a different approach.

260820_Oval Stair Handrail Path Query_v3.gh (49.3 KB)