How to modify a surface by designating the heights of any arbitary points on the surface?

Hi, there :smiley:
I want to modify a surface by designating the heights of any arbitary points on the surface.
I think this can be done by inserting control points and modifying the points.
But, Rhino Help page says “Inserting control points affects the shape of the curve or surface.”.

Does anyone know how to modify a surface by designating the heights of any arbitary points on the surface correctly (within NURBS) ?

InsertKnot will give you this option.

Hi, RichardZ :smiley:
Thank you for replying.
Please let me know how to achieve my tackling issu by inserting knot ?

knots lets you insert points without changing the surface, the rest you have to make manually. i believe the upcoming version 6 will have the option to match isocurves to other curves or surfaces did you try the wip?

Hi, RichardZ ;D
Thanks for cordial reply.

Adjusting knots of a surface defined in NUBS actually changes the shape of the surface. But I want to modyfing a surface not manually but automatically by desgintating the heights of any arbitary points on the surface.
Do you have any expertise about it ?
The wip? I googled and your meaning wip is CAD libraly?

WIP stands to Work In Progress…Rhino WIP will eventually turn into Rhino V6.

Should be able to get a copy from here…

Regarding your specific question about modifying a surface, a better approach in Rhino is to create curves that fit the points you desire then fit a surface to the curves. If you have a lot of this to do, it might be best to invest some time researching Grasshopper. It is a plugin for rhino that gives parametric-like features.

Hi, Ncik :smiley:
Thanks for reply.

At first, I’m thankful for giving technical abbreviation ;D
Your suggested way seems to be reasonable :smiley:
(For conformation, your meaning fitting can be done by CageEdit command in Rhino, right?)
Thanks for valueable information. I’ll check it :smiley:

Not a problem.

No, not CageEdit, just normal surface creation tools. Loft, Sweep1 or 2, NetworkSrf etc.

Hi, Ncik !

For now, I’ll do it !
Thanks ;D

Hi Takeshi - Inserting knots, using InsertKnot in Rhino will not modify the shape of the surface. I’m somewhat guessing at what you want to accomplish but, once you have the points you need, you can turn on the points (PointsOn, F10) and select the ones you would like to modify and then start the SetPt command, and make sure only the Z is checked to set the ‘height’ of the points. Type in the coordinates of the point you would like for the height (0,0,12 for example) or use object snaps to set the Z value for the points.

ZPoints.3dm (75.1 KB)


Hi, Pascal :smiley:
I’m trying to investigate Rhino’s prformance comparing to CATIA, especially for RSO function in CATIA that we often use.

I misunderstood the work of knots in NURBS, I thouhgt adjusting knots vector just affects how closely NURBS surfaces pass through the control points ;D
Inserting knots is enough for my tackling issue, I think.
By the way, How do we designate coordinates of knots in cartesian coordinates.

Try Patch with your original surface as the start surface and boundaries/edges fixed. You may need to experiment with the Stiffness value.

Hi, davidcockey :smiley:

Your suggested way also seems to be suitable for my tackling issue.
I think adjusting the value doesn’t seem to be critical in my case.
I’m very beginner in Rhino, I don’t know how to make starging surface in the Patch function with grid data (e.g, 2by2).
For this, SrfControlPtGrid/SrfPtGrid functions seem to be suitable, but I can’t do it.
Plese let me show very easy example text data for SrfControlPtGrid/SrfPtGrid .

Patch command
Select the points you want the surface to pass through. SelPt will select all visible points. Enter
A panel appears. Click on Select Starting Surface and select the surface you want to modify. If you do not want the edges to change then click on the box for Preserve Edges.
Preview to see what the modified surface looks like.
Try a small value such as 0.1, 0.001 or 0.000 for Starting surface pull for the surface to fit closely to the points. However too small a value will sometimes result in wavy or wrinkled surfaces.
OK to save the modified surface.

Important characteristic of NURBS: Control points usually do not lie on the corresponding surface or curve unless the surface is flat or the curve is straight. So moving control points to match a set of points will result in the surface not passing through the points. The Patch command determines what control point values will result in the surface passing through or close to the input points.

Hi, davidcockey :smiley:
I’ll do as you said right now.
For NURBS, surface usually doesn’t pass through the control points, you are right !
Your meaning “the Patch command” seems to be like Ncik’s fitting way.
Anyway, very very thank davidcockey :smiley:
I’m very very begginer, I’ll try everyone here suggeted ways for a while.
Thanks everyone here :wink: