Turning a 2D curve into 3D curve

I have a 2D curve with certain points and I want to create a 3D curve in green colour.

I do know the start and end point Z-value so I have move them into the right place but how can I align the rest points to their places on the green curve? Suppose the green curve with a constant slope.

Hi @bernard.tsang

I am afraid I think I am missing something here…
Is the intention to pull some transition points of the 2D red curve onto an existing 3D green curve?

Regards
Rodolfo Santos

No, the green curve is what I want to create. What I have now is the 2D red curve and the Z value of start and end point of the green curve which I have move them already

you can use the _Crv2View command, for example:


it will make an extrusion of each curve you select on each view and then return the intersection between them.

It is not working, or it is supposed to cost a large amount of time?

Right and then, where are supposed to be moved the other points

  • To known Z coordinates ?
  • Through vertically constraint distances ?
  • Eyeball moved in Z ?

Regards
Rodolfo Santos

I just know the start and end point Z value

I want the interval points automatically rise to certain value.

For example, my start is +100 and end is +1000, and the interval point Z value should be equal to

[(Length from start) / (Length of Curve) * 900 ] +100

Is this the idea ?

It seems that you are after a parametric behaviour here ( may be laborious, manually… )

Have you considered using Grasshopper to implement such a behaviour and automate things ?
A scripted solution would be another way…

Regards
Rodolfo Santos

This is my idea, I wonder if rhino can do the job so that I can save a lot of time… but still thank you.

I would recommend to solve this using GH, then.

Regards
Rodolfo Santos

Try the Shear command.

Entire curves, control points or edit points can be moved to specific x, y and/or z coordinates using SetPt.

that’s true but it would cost a lot of time for me to calculate the corresponding z value of each points to make the curve coz there are thousands of them

It is not clear what you want to do. Can you provide a .3dm file with a simple example of input data and what the result needs to be.

If you have a curve with the desired z as a function of x or y then ExtrudeCrv that curve and Project the starting curve onto the extruded surface.

Example: CurveProjectDC01.3dm (1.6 MB)

If you have a single curve with thousands of points then you need to Rebuild or FitCrv that surface with many fewer points, and/or Split it into several curves.

If you want to a curve with constant grade from the flat, 2D curve then:
ExtrudeCrv a vertical surface from the 2D curve
Put a point at the desired end of the new curve.
ShortPath on the extruded surface from the start of the 2D curve to the point.
ConstantGradeDC01.3dm (1.6 MB)

I agree with David.

From what I understood, you are attempting to elevate a set of points in Z using Ratio’s that are mainly calculated using distances along the original path (from start to t ) and the total length of that path

Is that the intent ?

Regards
Rodolfo Santos