I am trying to model a curve with different curvature in each direction. The curve will be circular in the xy plane and have a parabolic shape in z. I know a 2nd degree NURBS curve can represent a circular arc with proper weights. I also know that a 2nd degree NURBS curve with a weight of 1 is a parabolic curve. So, individually I can create the curves I need, but how do I combine them? As far as I know a NURBS has uniform weight for interpolation of all the coordinate components but it seems like there should be some algorithm for finding the parameters of a curve that fits the shape I need. Does anyone have any ideas or links on how to accomplish this? Thanks!
Thanks Diego but it looks like that command does not quite do it. crv2view does a planar projection, I want to blend the 2 curves along their length. In this image, the front view shows the change in Z value I want along the curve shown in top view. The lengths of the curves are the same, as should be the result.
CL Geometry.3dm (27.1 KB)
this is a little bit manual but perhaps it helps
ExtrudeCrv the circular arc to create a surface.
UnrollSrfUV the surface.
Orient3Pt the unrolled surface with the original surface and the parabolic curve.
FlowAlongSrf the parabolic curve using the two surfaces.
Your original curves are over 100,000 units in length, and are located about a million units from the origin. Rhino prefers to work with smaller numbers. I copied the curves and moved them to the origin, and then changed the units from millimeters to meters and scaled.
Also your absolute tolerance is 0.000001 mm. Very small absolute tolerance occasionally causes problems.
I think that’s it! Thanks.
I’m trying to do this with 3 curves and 3 surfaces in this file. I can’t seem to get the UnrollSrfUV to work…
Can you do it again with this file or explain a bit more about getting this command to work? Thanks alot.cl out.3dm (33.9 KB)
The unrolled surface from UnrollSrfUV will be near the origin. If you want it to be near the objects then move the CPlane close to the objects using the CPlane command.
That was it. I wasn’t looking at the origin. Thanks.