Wish for MatchSrf: "On surface" to work with "Multiple matches"

I’m aware of that hack with “Loft” using “Refit within” 0,001 mm, but it fails in many occasions, especially if the target curve goes from target surface 1, the continues to target surface 2, then goes again onto target surface 1. That also happens on 3 or more target surfaces. Example here:

hacky_workaround fails.3dm (4.2 MB)

Also, one thing to consider is that the “On surface” option is also capable of matching a surface edge onto a target surface while skipping a target curve entirely, thus enabling the user to drag the matched surface’s control points subsequently, while History still updates the chosen continuity. This is not possible with the hack shown above due to the simple fact that it uses a target curve (or, more precisely, a lofted surface between 3 intersection curves).


The 2nd file consists a new surface that was matched to the already modified red surface. However, you will notice that after moving two of the end surface points of the red surface, the matched edge of the white surface will reverse its direction.

hacky_workaround fails 2.3dm (3.5 MB)


The “Match surface” has its own disadvantages that were commented in this forum for many years, with people asking for fixes countless of times. Just a couple of weeks ago I requested a better solution specifically for this kind of inability of Rhino to properly update the geometry by preserving the blend factor. Even though that it was related to “Blend surface”, the issue is present in the “Match surface”, as well.
The other problem is that both tools seem to invert the direction of the affected edge upon altering the target edge (as evident in the attached 3dm files above).


About 4 years ago I reported a similar problem with curves after using the ! _Match (Match curve) command on both ends of the same curve. The second matching seems to revert the direction of the first matched curve, which in turn destroys other history-enabled features such like extruded surfaces.