Any efficient way to move vertices of a mesh edge onto a curve?


Any efficient way to move vertices of a mesh edge onto a curve? I do this as a pre-processing of quad remesh asI think It will do better subd edge and a better nurbs surface conversion. Thanks

*here I have this curve projected and rebuild to smoother surve, and then I move vertice with “near” snap to make it look tidy, but this need lots of patience and time.

this is the result after conversion to subd and nurbs with pre processing of mesh edges

try the command align with option to line. you dont have to draw a line before. if you already have one use option curve.

for some of your vertices that could mean that they fold into each other. if that happens you could try trimming the mesh first with MeshTrim. for this simply draw a line and trim. or you just pick those criminal locking ones by hand and pull them over the rest then would work with the command.

Align does not work, as shown below

240521play.3dm (229.3 KB)
File to play with

you should select the vertices not the edges. use points on command to activate the vertices.

That works,thanks! But still I have to pick every points near to the curve…

yes… that is not much a help i know, but… you can use Selbrush for instance that should speed it up. or selBoundary for instance.

also depending on your further steps, you could try Quadremesh to clean up the mesh before you proceed.

1 Like

Thanks. I will try tomorrow, off work now. :slight_smile:

hmMMm i had to think a moment more, i should not but procrastination hits me hard :smiley:

use DupBoarder, that will give you the outline of the mesh, then turn on points select the course parts of the curve points and use smooth (smooth the hell out of it) that will align the points towards their average. then use patch. if that is ok for you to use and by all means need mesh then simply use the command mesh or quadremesh to turn it into a mesh. but working with surfaces should generally be easier.

1 Like

Thats a good solution.


This is the whole picture of what I am doing: re-surfacing for tool making. Here you see I tried to separate the scanned data, extracting mesh edge curve and align nearby vertice to this curve, so that I have a surfacing layout similar to nurbs modeling, after that I convert them to nurbs and match the edge continunity.
“extracting mesh edge curve and align nearby vertice to this curve,” here I want to point out that I know the command of mesh split, this way I can also get a clean mesh edge, but It will create many small mesh faces, so I prefer moving nearby vertice point to the curve, or append face.

By the way, this scan data is not good quality, especially the edges. I can only extract the useable mesh area.
240522_play.3dm (525.4 KB)

If you are planning to use MeshToNURB be aware that it simply creats a polysurface with each mesh facet converted to an individual degree 1 NURBS surface. MeshToNURB does not create a single NURBS surface from a mesh.

I use Patch when creating a NURBS surface from a mesh. Steps are:

  1. Split./trim the mesh if needed.-
  2. Create a set of four boundary curves. There is no need for mesh vertices to exactly coincide with the boundary curves.
  3. Create an initial surface using EdgeSrf with the the boundary curves as the input curves.
  4. Rebuild the initial surface with the desired degree and number of control points/spans. Use CrvDeviation to chech if the deviation of the edges of the initial surface are sufficiently close to the boundary curves created above.
  5. Patch using the mesh as input and the initial surface as the “Starting Surface”. Check “Preserve edges”. The “Stiffness” and “Starting surface pull” may need adjustment. I typically use 0.1 for both.
  6. PointDeviation to check the deviation of the results of Patch to the mesh. If not satisfactory they modify the initial surface or the edge curves and repeat the process.

An alternative to splitting/trimming the mesh is to use ExtractPt to create a set of points at the mesh vertices, and then select the appropriate points as input to Patch.

1 Like

what I am going to do is to convert them to subd, or patch with adjusted mesh edge and points inside.
I think we use similar way but you have more advanced control about patch=> at step 4, what is the advantages of creating initial surface?

i think what he meant is rebuilding the result from EdgeSrf. that will give you more control how the surface can be later adjusted and worked with since you can choose the degree of the surface an how many CP the surface should have which is very important for matching for instance.

1 Like

Using the starting surface and Preserve edges puts the edges where I want.

ensephalon is correct that rebuilding the initial surface allows control of the degree and number of control points. Also I sometimes use InsertKnot or RemoveKnot to alter the knot distribution and number of control points. I use initial surfaces of degree 3.