Modifying interpolated curve on surface?

Is there a way to modify interpolated curve on surface by moving points constrained to surface? I assumed POnPSrf (persistent on polysurface) command would work on points, it appears not.

The control points usually will not be on the surface for a curve on a surface (Exceptions include planar surfaces and the end control points.)

One alternative is to download and install CurveOnSurface https://www.food4rhino.com/app/curveonsurface-0 Create the curve using CurveOnSurface. Turn on edit points which are constrained to the surface using CurveOnSurfacePtOn.

Thank you! I’ll try the app.

@davidcockey there actually is an edit function in InterpCrvOnSrf when you open the command. it might be that you have to activate history.

1 Like

Tried the CurveOnSurface plugin. I managed to draw one curve and edit control points. However, I’m not able to add another curve to this surface. Is it limited to one curve per surface only?

My bad, I can draw another curve on surface.
But there’s another issue. It appears I cannot close the curve. What am I missing?

@encephalon is correct, at least for V6. To edit a curve on a surface which was previously created using InterpCrvOnSrf start the InterpCrvOnSrf command and select the Edit option. Then select the curve to be edited and the points which were originally used to create the curve can be moved.

Closed curves will remain closed only if the Close option in InterpCrvOnSrf was originally used to close the curve. Curves which closes automatically will not remain closed when edited .

It appears that History is automatically recorded in V6 when a curve is created using InterpCrvOnSrf. WIP V7 appears to require History to be explicitly turned on when InterpCrvOnSrf is used to create a curve in order to subsequently edit the curve using InterpCrvOnSrf…
https://docs.mcneel.com/rhino/6/help/en-us/index.htm#commands/interpcrvonsrf.htm?

Close=Yes appears not to work in CurveOnSurface.

Regarding the InterpCrvOnSrf: It’s all true, however, the number of edit points on curve is huge (difficult to manage). And as soon as you rebuild it to reduce them, the history is lost. So, not really practical. Or is there another way to do it?

Close=Yes appears not to work in CurveOnSurface.

I see one can select “close curve” while drawing. But is there a way to join two separately created curves into one?

Btw, I sent this as a private message by mistake, so I’m copying it here, to stay in the thread.

The edit function in InterpCrvOnSrf essentially allows the user to move the input points which were used to originally create the curve, and then a new curve is drawn using the modified points. It does not use “edit points” or “control points”.

best would be to show your situation on a screenshot better post a file that people can advise accordingly.

if you have a huge amount of interpolated edit points, than that is what you have drawn yourself in first place. there are 2-3 solutions, redraw it (with less points) or project the curve to a cplane if it does not wrap around in all directions, then rebuild the curve with RebuildCrvNonUniform for example, then (pre)edit the curve, then project it onto the surface with history on delete input no you can then edit the initial input curve and it will immediately update the curve on the surface.

note; the project to cplane part is of course only for you to get a better visual control of what you are changing does not have to be.

you can also play around with pull, but that would suck the curve on along the surface normals which may be a bit tricky to handle.

You are right, of course it’s better to post the file. Here’s a picture and a sample file with 2 issues:

  1. When drawing curves via Interpolate on surface, using only few control points, it doesn’t stay like that. Once the curve is drawn and want to edit, it displays a huge number of points (see pic).
    Fortunately, the CurveOnSurface plugin solves that. Thanks for that info - it works!

_help3_wip_geometry.3dm (245.0 KB)

  1. The second issue I ran into is with the geometry. It was first modeled as a solid symmetrical object, then cut to half and trimmed away the back part. I figured I’ll work on half and run symmetry later. However, now, if I want to rebuild it, the back side closes (like it was initially)? What am I missing? Is there some history that needs to be disabled?
    Also, I don’t like that isocurves converge to a single point at the top and bottom. Any idea how to change that?

issue1
you are using version 5 which explains the confusion, the mentioned edit function is not available there. as described use RebuildCrvNonUniform for example maybe with 20 points to start with, pull the curve a bit away edit it and use project. if your plugin solves that than also ok.

issue2
when rebuilding see to it that the retrim option is checked. the singularity can only be vanished if you rebuild with a different topology that avoids it.

Hello - see

for a V5 tool that allows editing of curves on a surface. Note in cases like the one uoi have posted, projecting the curve onto the surface with History, and editing the input may get you the control you need.

Point edit the green curve in this file: _help3_wip_geometry_PG.3dm (167.9 KB)

-Pascal

That works, too, thanks.

The retrim was checked. So I’m trying to fix the model manually, to get rid of the singularity.

I split the original surface, ShrinkTrimmedSrf and matched the edges. However, the separate surfaces wont merge. I tried MergeSrf, MergeEdge and MergeFaces. Here’s image and file.Tried to merge red and green srf, red to blue, …it doesn’t work. Not even orange and blue part wont merge, which was a single surface before I only split it by isocurve and now it will not merge back? Nothing works?

What I’d like is to get it back to a unified shape so I can tweak it further. Any idea?

_help4_wip_geometry.3dm (363.0 KB)

Hello - are you trying to make all of that into a single surface? You cannot… but why do you want to do this? Is it to have a single target for an curve on the surface?

-Pascal

As explained before, the reason I’d like to have half of the shape as as a single surface, or at least joined in a way to be able to tweak it (manipulate it) further via control points. I modeled it like that initially (cage editing sphere - free formed it, like sculpting). The only thing I didn’t like in resulting shape is the convergence into a single point at the top and bottom.

Is there a way around that? Or have I chosen wrong approach? What would be a better or more suitable one?

Hello - with the curve on surface you cannot do this on multiple surfaces, but using Project/History as described you can join multiple surfaces into a polysurface as the target. Note using the Loose=Yes option on the Project command will keep the curve structure of the input curve on the projected curve, at the cost of not necessarily being very close to the surface. You can use Pull later if you want the accurate but complex version.

-Pascal

Hi, I believe I wasn’t clear enough: The first issue with curve on surf is resolved.

Now, I’m seeking to resolve the second issue only:
How to rebuild the original geometry with different topology (file: _help3_wip geometry.3dm) to vanish the singular point at the top (and bottom)? What would be your suggestion? Anyone?

There may be more responses if you start a new thread with a title relevant to your second question.

Yes, I’ll open another post for that, thank you.