EdgeSrf_Pick_order_is_ignored_in_V9.3dm (39.7 KB)
8.26.25349.19001, 2025-12-15

9.0.26013.12305, 2026-01-13

EdgeSrf_Pick_order_is_ignored_in_V9.3dm (39.7 KB)
8.26.25349.19001, 2025-12-15

9.0.26013.12305, 2026-01-13

Hi Steven -
The change in behavior was requested here:
-wim
I understand the request was for how _EdgeSrf handles 3 curves that form an open loop. V9 now produces the same result for a closed loop of 3 curves regardless of pick order. In this example, it is not even the simplest result, which is often my goal when using _EdgeSrf for this type of input.
This can be caused by a very small gap between the ends of two of the three input curves. If the ends of the curves exactly coincide (as in exactly the same double precision floating numbers) then EdgeSrf may or may not behaves as before with the layout of the resulting 3 sided surface dependent on the pick order of the input curves.
If there is a very small gap, such as the less than 0.0000000001 gap in @spb example above, it appears that the revised EdgeSrf initially creates a four sided surface with a very short edge, and then the very short edge is discarded and the result is a three sided surface. (Presumably because short a short edge would be undesirable and likely to cause problems.) Removing the short edge pulls the surface edges away from the input curves a very small amount, but that deviation is less than the absolute tolerance it should not be a problem.
The revised EdgeSrf should be modified so that when there are three input curves and a gap between the ends of two curves is less than the absolute tolerance, the uv orientation of the resulting surface depends on the pick order.
Example with a gap of 0.00002 between the ends of the two curves. Absolute tolerance is 0.001. The resulting three sided surface is independent of pick order.
EdgeSrf_verysmallgap_DC01.3dm (2.1 MB)
The ability to control location of the “zero length side” of a 3 sided surface can be critical if the surface is to be extended or continuity matched.