Feature request: Surfacing tools to maintain the target rail

Several tools produce inaccurate results when at least one of the target profiles (surface edges or curves) is not touching the rail(s).

In many cases there is a need for a new tool or a new option added to the existing tool to maintain the full profile and follow the rail strictly. I will post an example below that shows a similar case where the intent is to be able to build a clean surface from 3 surfaces edges, where edges 1 and 2 must maintain G1 or G2 continuity while edge 3 is the target rail that should be followed by the resulting surface (with either “Loose” and “Refine” options).
Rhino should be able to extend behind-the-scenes target edge #1 to reach edge #3, while providing ability to maintain G1 or G2 to the former.

GOAL:


Note that this is a feature request, not looking for help or advice for a modeling strategy. I already have this area built with single-span surfaces, but the issue is that Rhino lacks a proper tool to make an acceptable automatic solution that follows the input edges close enough for further refinement.


Below are the best settings from the current surfacing tools in Rhino 9 WIP:

Sweep 2 rails:

Sweep 1 rail:

Edge surface:

Network surface:

Patch V9, G0 for target edges #1 and #2:

Patch V9, G1 for target edges #1 and #2:

Patch V9, G2 for target edges #1 and #2:

Blend surface (default settings, the bug that evokes the mouse tooltips is still not resolved):

Blend surface (bottom two interior shapes are rotated to become lower):

The resulting chaotic control points (a known bug since years):

Loft:

Dear Bobi -
i agree that - if we want proper surfaces where the CV-Setup is only driven by the input Curves we have very limited options. (mostly only _edgeSrf)
combined with _matchSrf messes up proper CV-structures this feels sad.

If i understand correctly you want something like a _edgeSrf with dominant and non-dominant edges - or a tolerant version of good old sweep1 / sweep2 “simple sweep”. ?

there is this old topic that never got much attentions.
i would love to see sweep1Simple and Sweep2Simple
either with feedback why “simple” failed.
or - which would be your wish above - with a “force simple sweep” - maybe with a tolerance value.
What your sample will also require, is a strategy (and user input) - on how to handle none matching / none G0 Curves.

left - current _edgeSrf is using some kind of averages…
middle - left curve is dominant
right - top curve is dominant.

let s see, if those surfacing tools ever come alive…

best - tom

Yes, the idea is to be able to tell Rhino which edges will be dominant, and which will be a loose reference. The resulting surface should take into account the dominant edges and use them as a target to fill/extend the blank areas of the reference edges.

There must be an option whether each target edge will be refined or loose, in order to provide maximum flexibility for future manual adjustment.

Test scene Rhino 7:
Dominant surface.3dm (318.0 KB)

Test scene Rhino 9 WIP with added adjustable patch surface:
Dominant surface.3dm (596.3 KB)

The new “Patch” tool somehow does the job in less demanding cases, but it failed a lot more than I expected:

What’s needed for all surface building tools is what’s called Rebuild and Explicit Control in Alias, with a Colinear option. You simply determine how each boundary shall be treated. That way, you’ll always have a simple and well distributed CP layout, should you wish to manipulate the surface further. Drastically cuts down CP noodling time or eliminates it altogether.

Adding “Explicit control” similar to what was available in Alias forever (sort of a rebuild integrated into the main surfacing tools) have been requested since a decade or more by many Rhino users. We still wait for its implementation in Rhino. Most likely Rhino 9 will not receive it…