Flowing a surface along a 3d scanned object surface


I was wondering if someone could help me determine what workflow is most advisable to achieve the following project. I would like to flow a simple surface (a strip shape with minimal thickness) along the surface of a 3d scanned object. The simple surface will need to maintain very specific dimensions (length and width) even as it flows along the shape of the scanned object. The end goal of the project is to then take that simple surface that now follows a specific shape and 3d print it. It is worth noting the scanned object will not be very complex, just a scan of a raised protruding surface that I need to fit snugly with the 3d print exactly. Below are some reference images to illustrate my point. (the scanned object will not be as detailed as a face scan but I thought these images would help demonstrate the idea)

Any and all help is much appreciated!

Hello - off hand I would say that in this case, getting curves in place that describe the shape - say a single curve as a rail for Sweep1 - and then building the surface in place would be the most controllable. It’s hard to see how using Flow or FlowAlongSrf of a pre-built shape would work well even if the target were a single surface, which seems unlikely.



Thank you for your response!

Do you think that it would be possible to convert the scanned object to NURBS and then extract an isocurve from that surface to use as my guiding line to create my simple strip? Is that just overcomplicating things?


Hello - ‘converting’ from a mesh to a surface is not a thing, really, in this context, it is a ton of work and in this case would result in a polysurface - however that does suggest a possible helpful workaround -

Approximate, even quite crudely, the shape of the head with a Nurbs surface - rebuild a sphere and deform it to get something not too far from the overall shape.

Then run CreateUVCrv on the surface - this will result in a rectangle on the World XY plane.

Make a surface from this (PlanarSrf) and draw some curves on it.

Using History, FlowAlongSrf the curves from the plat surface to the 3d one.

Adjust the original curves - you will see them update on the 3d surface.

When you’ve got these about where you want them, Pull them to the mesh,
Rebuild the resulting polylines with a high enough point count to keep them on or near the mesh, or use CrvThroughPolyline.

These can then be your path curves for Sweep1 or Pipe or what have you to make your shapes.

It will be a bit of work, and trial and error.


Ok thank you so much for your help! I will have a look!

Hello Pascal!

I had a look at your suggested method and It definetely seems like I am getting close to what i want. There is however one slight problem. When I flow my original precise dimension line onto the 3d surface- the process seems to distort the length of the line entirely. Is there anyway to flow the line drawn onto the 3d surface but mantaining its precise dimensions? it is very important for the project that the final flowed line is a very specific length. The idea is that this line (and the strip of geometry i will eventually build from it ) will act the way a strip of fabric would on the body. The strip of fabric flows along the surface of the body but does not change in its size while doing so. I fear that this flow along surface seems to just distort all the dimensions specified in the original object to flow. Is there a workaround for this?

I have attached another reference image for the desired result (with very specific dimensions for the red model seen in the image). this red model from the reference image will need to stay a certain length, width, and depth even as it follows the shape of the torso.
Capture d’écran 2021-02-08 à 22.13.53

Thanks so much for all your help so far!

Hello - I would make the curves too long, and then use SubCrv on the final curves to set the length.


Thanks pascal I have tried this and i think I am almost there !!

I used the “offset curve on surface” command to create the other edge of this strip. I was thinking of then using these two curves to make a loft and obtain a single surface. Then I can build in the thickness and everything else.

I just have one question now- the strip is meant to start off at a width of 6mm and gradually increase to a width of 10mm at the end. Is there a way of telling the “offset curve on surface” command to start the offset at one distance and then finish it at another distance? I know this kind of control is available for things like the radius of a pipe so i was hoping there would be something similar here.Do you have any suggestions on how to achieve this effect?

Thanks again!