EdgeSrf flips surface

Unlike loft, EdgeSrf doesn’t seem to care which end of an edge you click on for its surface direction when you only select 2 edges.

edge-surface-edge-direction.3dm (262.7 KB)

EdgeSrf and Loft have different intended purposes.

EdgeSrf appears to use some sort of closest ends test to determine how the input curves are used when calculating the surface. It ignores where the curves were picked and the direction of the curves. Here is a simple example where a slight difference in the position of one curve relative to the other results in a twisted surface.
EdgeSrfDiff DC01.3dm (2.0 MB)

I’m sure this is deliberate given the intended use of EdgeSrf compared to Loft. EdgeSrf creates a surface from four, three or two edge curves. The edge curves usually form a closed or almost closed loop. The closest end test allows the algorithm to determine which how to use the input curves when there are gaps between ends. It would be very annoying if the user had to carefully pick the input curves.

Loft uses the input curves as sections and interpolates between the sections. It uses the pick locations to understand how the interpolation should work.

EdgeSrf and Loft only result in similar or the same surface when there are two input curves. With three or more input curves the results are fundamentally different.

Use Loft when the input curves are sections, and use EdgeSrf when the input curves form a loop.

I can’t think of a single use case where a twisted surface is desirable. If EdgeSrf uses some sort of proximity check in its algorithm, surely it then should also be able to check if the resulting surface folds in on itself and if so, see if there’s a flatter solution to pick.

Regarding the different use cases, as you can see above I’m doing letters and just for this single letter, there’s 12 chamfer surfaces to build, and using EdgeSrf instead of Loft that saves me 12 clicks (per letter).