Deform polysrf from curve to curve, alternative to flow?


I have a shoe last I need to locally deform from a current cross section curve (ball girth) to a slightly larger ball girth curve (grading). The flow command does a bad job at this; the resulting surfaces are no longer smooth. Cageedit does a better job, but it is difficult to get an accurate result while controlling the cagepoints manually.

I previously wrote an algorithm for incrementally and automatically adjusting the controls points of a Free Form Deformation lattice to deform a mesh from a set of points to a set of points. I might be able to use this method. What bothers me about it though is that it is an incremental solution and thus can take a fair bit of time and only arrives at an approximate solution.

Maybe there is already something in Rhino to do this? Or does anyone know of an alternative algorithm? Perhaps there is an exact mathematical approach? Attached is an example model.

AdjustingLast.3dm (1.9 MB)


Hi Sam,

maybe _SoftEditSrf could help, but be aware it`s not that fast with such a large surface. I´ve created some pick points first on the upper quadrants of your curves, then only point snap to avoid clicking at wrong directions…

I guess once the proper distances for U and V are found, this might lead to an acceptable approximation using 3-4 strategic point pairs.



Hi Clement,

Thanks for the idea. Though it would work, I’m looking for something that better maintains the shape and smoothness of the object. Cageedit really does it nicely, it’s just a matter of how to automate it to make the solution fast. Though I am still wondering if there is an exact mathematical solution… surely this is a fairly common problem…