As per usual, I’m guessing that I’m overthinking this problem.
I have a freeform surface that I’ve scanned, imported, and created numerous cross sections in 2 directions. See the screenshot below. I then rebuilt the curves so as to create a uniform surface. The problem is that not all section curves in one direction cross all of the section curves in the other direction (nor do they necessarily actually intersect because of the “rebuild”) so I can’t use Network Surface. I can create a lofted surface in one direction (e.g. blue) but those aren’t “driven” by the other direction. Maybe there’s a suitable way to create an “average” surface from numerous lofts. So the question is: what’s the best way to use all of these valid cross sections to create a surface that is the closest approximation to the scanned object?
That would also be my approach with a few changes.
Use the Preserve edges option in Patch to fix the edge of the output surface as the edge of the starting surface.
Rather than going immediately to 30 x 30 or similar point count try a much lower point count for the starting surface - perhaps 12 points in the circumferential direction and 10 in the vertical direction. Use the rebuilt surface in Patch and see what the results look like. Create a set if test points on the curves using Divide, then use PointDeviation to test how close the surface is to the test points. Rebuild with more points if needed, or if only a few areas need refinement use InsertKnot or InsertControlPoint to locally add points to the surface where needed. Then Patch again with the revised starting surface.
The reason not to start with a high point count starting surface is using Patch with starting surface with a high number of “points” sometimes results in wiggles, etc.
Also worth experimenting with is the value of Stiffness in Patch. I’ve found that a smaller value such as 0.1 can result in a better fit to the input curves, but sometimes increases the probability of wiggles.
I could create many more sections on one axis but the problem is that it’s still likely that I’d miss edges that are sharp in the other axis. Cross sections of a cube with small edge fillets are likely to miss the value of the radius at least in one axis because the spacing between the cross sectional planes.
If the surface needs to have internal kinks / sharp edges then the best approach may be to divide the overall surface into several surfaces with edges along the sharp edges.Create a set of curves along the edges and use those as boundary curves for the individual surfaces. Some of the individual surfaces may be best created using Patch as described above.