Align and distribute spacing points on surface

Is there a way if I have surface points on, to pick a series (in line) of points and align all of them based on the end points of the selection and distribute the spacing of the intermediate points equally?

to clarify end points would be unchanged. would be used to define a line, which the inbetween points would be moved to and spaced evenly.

Hi Ryan - see if MoveUVN > Smoothing of the interior points in the row (not the ends) gets you what you need.


mmmm not exactly. The end points are moving when I do that. (end points aren’t the edge of the surface)

Maybe this helps:

Hi Ryan - if the surface is trimmed, as it appears, the edges will move when you move these points., so you may need to untrim and retrim.


Hrmm… still same result.

Can you upload the geometry?

“make this part perfectly flat between the end points of the selection” - Aligning the control points between the “end points” will not make the section between the “end points” perfectly flat unless the end points are at the edges of the surface and a sufficient number of rows of control points on either side are also aligned. That’s how NURBS surfaces work.

top secret hull shape haha.

Thanks David, yes I understand I’d need some rows aligned.

Another example where this functionality would be handy is like cleaning up chine flats etc.

My suggestion would be to make each panel of the hull a separate surface including the chine flats. Chine flats can be degree 1 in the transverse direction with only a row of control points at the outside and inside edges. Kinks are best avoided unless absolutely necessary. Also you will need separate surfaces if you want to UnrollSrf or Squish the surface.

Manual method for aligning control points:

Turn on control points
Draw a temporary line which control points are to be aligned to.
To move control points to closest point on the line use Perp OSnap and drag control points to temporary line.
To equally space control points along the line use Divide to create equally spaced temporary points along the control line and drag control points to the corresponding temporary points.

Example file attached.Align pts 1.3dm (28.3 KB)

David that’s basically the method I use now. It’s just slow if you have 7 or 8 rows and then adjust the gunwale a bit, messes every row up.

How do you handle hydrostatics?

I struggle with fast iteration on the hull with Orca if the hull is a polysurface. I.e. you have to explode it to adjust and then rejoin before running the hydros again. With a single-surface hull you can have the real-time hydrostatics running and keep an eye on whatever paramaters you’re looking for while adjusting points.

Hi Ryan - this might help with the alignment but not the spacing - (1.4 KB)
Unzip, save and then drag and drop the rvb file onto Rhino for


Snap to two points to set the line and selected points will snap over there.


1 Like

I’ve posted a script here some time ago which does this. You’ll only have to select the outer points (either u or v direction) then all points between are equally aligned. The outer points are not changed.


1 Like