Move control point on surface

I have a curve projected onto a curved polysurface. I need to adjust the curve and am looking for how to move control points along the surface in order to keep the curve on the surface. Thanks. Harold

1 Like

Hi Harold - you can use the CurveOnSurface plug-in http://wiki.mcneel.com/labs/curveonsurfacev5
Also, you can Pull or Project a curve onto a surface using History (DeleteInout=No) and edit the original curve - the projected or pulled curve will update.

-Pascal

Pascal, the use history option should work but is there a way to edit control points while the curve is already on the surface and have the curve remain on the surface? Thanks

Hi Harold - only if you create and edit the curve using the plug-in.

-Pascal

You can always point edit the curve, and then run Pullback. I would suggest maybe starting with projecting the curve onto the surface, with the Loose option set to yes. It wonā€™t be exactly on the surface, but itā€™ll be close (depending on your surface and input curve of course). Once you think your curve is close to where you want it, you can run Pullback with Loose set to no, and itā€™ll be on the surface to within file tolerance. As you may have noticed, even a simple curve projected onto a simple surface can become very dense with points and make it difficult to point edit. This way you can sculpt the curve a bit more and then set it exactly on the surface.

1 Like

Iā€™m looking for a way of moving a curve on surface (pull command on cone used) with the curves control points. Is there a plugin for Rhino 6

Hello - if you have pulled the curve to the surface, the control points will not generally be on the surface - I think what you mean is youā€™d like to adjust the control points of a curve in a way that is constrained by a surface and have the resulting curve be on a surface, correct?

-Pascal

Yes. Thanks. Iā€™m using the control points of the curve I pulled from, right now. Iā€™m interested in the plugin in the link above for Rhino 6 (that old link is defunct ).Is there a new command in Rhino 6 that allows moving the control points of a curve constrained to the surface?

There is no ā€œlingeringā€ constraint in Rhino like you might have in a parametric solid modeler.
The ā€œon surfaceā€ tool is only in effect at the time you use it. If you move an object or point later, you would need to turn on the on-surface tool again for those subsequent edits.

What plugin is it?

Iā€™m not familiar with the V5 plug-in described above or one for V6.
Iā€™m describing the Rhino one-shot OnSrf osnap you can get to with the Ctrl key:

image

1 Like

Thatā€™s interesting and Iā€™ve never used it.

So how does it work exactly? pick a point and pick a surface?

Tried googling it but nothing really shows it in use.

*Also I think there should be a pull points to surface command or script somewhere.(I hope) T splines has it but only works with t splines objects sadly.

Hello - you can invoke OnSrf ir POnSrf (P for persistent, for use in commands that do not finish after one pick, like Curve, Polyline, etc). When Rhino is looking for point locations, use OnSrf/POnsrf and select a surface - the point location will be constrained to that surface. Similar are OnCrv, OnMesh.

-Pascal

Ahhā€¦so itā€™s not really a surface point editing tool.

I would like to use it for locking a point onto a surface and moving it only in a constrained wayā€¦that would be super useful to me.

Iā€™m working on a hackā€¦

@Vladimir_Aleksic , @Et_Rec - hereā€™s a very crude hack - if I have time Iā€™ll make it slicker - right now it moves control points on the surface - the curve is not then pulled to the surface - that might or might not be desireable. It also does not draw any nice preview - Iā€™ll try to get that inā€¦
btw, it also works on EditPoints, which is much more ā€˜on surfaceā€™ as far as the curve goes.

use RunPythonScript or

! _-RunPythonScript "Full path to pt file inside double-quotes."

MovePointsOnSurface.py (2.1 KB)

  • Pascal
2 Likes

Many thanks Pascal!

I will test it now.

*Yup this is it in principle, what would be really required though is to move multiple points onto a surface and not just one. (Both options would be required)

quick example:

Pulling a row of points and then having the ability to place them wherever on that surface.

Again, you can do this in Tsplines but that type of geometry is too dirty for anything serious.

oh and:

error

Hi Vladimir - for your first image, Iā€™m not sure if I am reading it correctly but using DragMode>ControlPolygon may do what you want. Note you can toggle a drag mode by running a macro a second time, e.g.

_DragMode ControlPolygon

will toggle between ā€˜regularā€™ (=CPlane) and control polygon modes. The mode may take some getting used to - if you want to drag on the polygon extensions, drag a little in the polygon first, hit the Tab direction lock and then drag on the extension. Assuming that is what youā€™re after here in the first placeā€¦

-Pascal

Hi,

Ye, basically yesterday is the first time I saw the other ctrl osnap optionsā€¦I have no idea what they can do for me yet. (and Iā€™ve been using rhino for 6 years)

But besides polygon constraint, which I could do with a cplane also, what if I want the constraint to be a cylindrical or a spherical surface?

thanks

Hello - can you please start a new thread for this question?

-Pascal