Y Branch / Patch not nice


I followed the classic technique to make a Y branch, the patching in the center however is not looking smooth. Any idea how to tackle this? Thanks!

Y branch patch.3dm (731.5 KB)

The question of the patch surface lies in the lack of “quality”: continuity only in G1 and not always optimal.
If Rhino he had a “Multiblend” tool (as in VSR) would have been much simpler and with a more than acceptable quality. But nothing…
I hope that developers understand the importance of providing certain tools (of pure modeling, and not only of rendering and visualization).
Without controversy: the Rhino priority should be the best modeling and editing surfaces, and not rendering (for what are developed ad-hoc programs), the few available resources should focus on other fronts, in my opinion …

1 Like

Hi @davide76,
It’s of course a curvature problem when surfaces doesn’t match without “buckling”.

Retrying the Patch route, I adjusted the three “side girdles” that connects the three pipe ends, by extracting isocurves and then BlendCrv-ed using “curvature”. In one of the “girdles” I extracted an extra isocurve as to support the curvature in the middle of the “girdle”, that is, at “half the height” of the pipe (I don’t remember which one of the three that seemed to need some extra support).

Then I used Sweep 2 rails - vertically, as to use the “curvature” option binding the pipe ends together - when remaking these “girdle” surfaces (that extra isocurve in the middle was not used for the one shown in the picture below):

Then Patching with the following parameters (as few spans as possible to avoid bumps of buckling, I didn’t try if I could have got away with fewer than 6 but you get the idea):

The result :

Polished :

// Rolf

1 Like

Looking sweet Rolf, thanks for the explanation!! Appreciate it.


I’m struggling myself trying to understand why surface patches sometimes doesn’t match well, so I expose my philosophy here for the true experts to comment and correct, if I’m wrong.

To me it seems like one of the first things to check when having this kind of bulging problems, is to suspect the continuity of the edges of the starting surfaces. NURB Surfaces tends to be stiff like paper, non-stretchy, and so it will not form itself very generously when the edges to match are not well aligned.

As can be seen in the first picture, the continuity of the new red curve (which is the result of BlendCrv starting from extracted red Isocurves on each side) is not the same as the edge of the old surface (there’s a gap between the two).

Notice how the (old) surface bends away from the straight red lines at the corners sooner than the red curve does. The red curve which has more of its bend distributed evenly over the entire curve (that is, including the middle of the curve).

The old surface’s continuity seems to be Tangency while I used Curvature as to avoid having edges with “tight bends” near the corners. Using Curvature continuity in such cases tends to move the bends a bit farther away from the corners (as can be seen in the picture). A sharper bend near a corner (stemming from Tangent continuity) tends to buckle the patch surface to be added later (possibly because there’s less room for smoothing or evening out the surface patch in the corners?).

But since I’m quite new to NURBS, my intuition can be wrong, and so I’m not sure if my intuitive reasoning above is always true, although in this specific case it helped significantly (I failed myself to make a good matching patch surface starting from the original “girdle” surfaces. It kept bulging).

// Rolf

1 Like

Hi Philippe - That should work OK, but I’d make the Patch surface a smaller section of the transition- that is, use something like BlendSrf to make most of the transition and then arrange the Patch surface to cover what’s left - you can arrange things in different ways - I’ll attach a couple of examples, in case that helps - One as you have it but smaller patch, and another with much larger blend surfaces but trimmed back to make a space for the patch.

BTW, the edges on your input surfaces are getting in the way too - causing those blisters in the Patch surface. Use Untrim to clean that up.

Y branch patch_PG.3dm (728.0 KB)


Notice how @pascal was too polite to say that I was way off the mark! :slight_smile:

// Rolf

1 Like

Looks real clean @pascal! Thanks!
I was just wondering how you managed to draw that curve so clean next to the surface edges? (The curve you used for trimming).

Also what do you mean with this? [quote=“pascal, post:6, topic:41041”]
the edges on your input surfaces are getting in the way too

Sorry still have to learn a lot :slight_smile:


once I made a similar thing, I didn’t make it in Rhino, I just like to propose another surface- layout, in order to prevent the use of “patch” command:

1 Like

In essence it is the generating principle of “Multiblend” (one proposed by the plug-in VSR, now not supported in Rhino). If there was this command you would in a single click, and instead you have to do everything manually, with the usual waste of time … Meanwhile, the developments are concentrated at rendering, grasshoper, and more… and modeling tools where they are gone?

Corner blends was&will never be a one click solution, and even if vsr was awesome, its multiblend functionality wasn’t the best feature at all. Every blend, where surface edges do not align tangent, can never be matched perfectly.So, “Multiblend” was only a compromise. But since you are not able to measure deviation numerically, its hard to tell if it matched, and if you measure multiblends you will see great deviation. So yes, I also think that Rhino Devs should focus more on better surfacing tools, instead of anything else, but I do not believe in one click solutions, that’s probably why, no cad platform has them.


Well, if you look at the input surfaces and the patch you got, you’ll see that the bumps in the patch surfaces are right where the inputs have a pretty strange anomaly in the edges- if you Untrim these edges, and restore them to their natural edges, your set up would have worked out much better.

I used InterpCrv snapping to the ends of the untrimmed blend surface edges to make the trimming curve.


ok, coo! will look into it Thanks Pascal!