BUG: BlendSrf weird surface construction

Hi All, @Gijs ,

I’m having trouble today using the BlendSrf command.
As you can see in this picture the connection between this 2 pieces produces a weird result.

I’m expecting somethign more like the Sweep2R (on the right)
I’m not understanding why the interior shapes options isn’t available.

On other part of this model enabling the option solved the problem (increasing the number of handle)

This is the file 20250826_BlendSrf_BUG.3dm (2.7 MB)

My version is Rhino 8 SR23 2025-8-20 (Rhino 8, 8.23.25232.17001)

I downloaed the file, used BlendSrf and the results were the same. Definitely not the expected result. I also call it a “bug”.

BlendSrf blends perpendicular to that edge, so basically, we need

RH-9594 BlendSrf: Force isocurve direction

I’d loft

Followed by MatchSrf:

Then EndBulge optionally to adjust the shape

Thank Gijs,

Yes the loft work good, still the Blend acts unexpectedly also because it can’t let me to add the inner shapes.

As far as I could see, it doesn’t allow you to uncheck it.

You’re right.

And then not use them :rofl:

I think the tool doesn’t allow you to uncheck it, because it would not yield a usable result, but to know for sure I would need to investigate deeper

1 Like

There is something super wrong with the split surfaces that were used as target edges.

In general, I would avoid using multi-span fillets and blends in such scenarios. It may be better to rebuild them to single-span, non-split surfaces via the “RefitTrim” tool, followed by matching their edges to the adjacent surfaces.

In the above video I tried to use one of the workarounds (extending the edge as a separate surface, then repeat that again) that typically work with bad input edges, but this bug seems too serious even for that approach. You will notice that the extended surfaces overlap with the split edges, which is a clear sign that the latter are prone to weirdly split geometry.

Also, by the end of the video you will see that the matched lofted surface has undesired multi-spans and that the rebuild surface does not need so many control points and spans to match within the file’s tolerance setting (0,01 mm and 1 degree).

However, if the goal is to match to a more strict tolerance, such like 0,001 mm and 0,1 degree, then I suggest to bump the degree of the lofted surface before using the “Match surface” tool. The reason for that is trivial - the “Refine” option of the “Match surface” tool adds spans instead of raising the degree, hence the surface quality suffers a lot.

My proposal to the Rhino developers is to rewrite the code of the “Refine” option and allow raising the degree instead of adding multi-spans.

I think that is covered in RH-66370 Match srf UI and workflow improvements but let me know if is not

I opened the link, but I fail to see the most important functions that the major CAD programs have. I covered these in my topic here:


To name a few:

  1. There is no “Explicit control” option (something like an internal surface rebuild) in the primary surfacing tools, including “Match surface” and “Blend surface”. This is a huuuuge miss for Rhino. HUGE. The developers much focus on this one first. That will prevent the unwanted addition of multiple spans that the current implementation of both tools produce. I would rather have a higher degree single-span than adding more spans on the output surface.

  2. “Match surface” can’t match while preserving the overall flow of the control points (matching the 3rd row of control points only in the normal direction).

  3. “Match surface” does not have a “Keep side edges” option to prevent unwanted movement of the two adjacent edges of the matched surface. This means that activating that particular option will force Rhino to keep the end control points at either side of the matched edge. A sub-option will let the user choose if the program will keep the position or the tangency of the side edges while matching the edge in-between.

  4. “Match surface” lacks a “Blending” option (also known as “Influence” in some CAD programs) to smooth out the overall shape.

  5. “Blend surface” and “Match surface” lack individual U or V target direction.

  6. “Match surface” lacks ability to match smoothly to the side edges of the target surface(s), so that the resulting side edges of the matched surface will have at least tangency continuity with the side edges of the target surface(s). The same goes for “Blend surface”, too.

  7. There is no “Project match” option in “Match surface”. Look at Alias for inspiration. This is a very powerful option. It can also project match to multiple target surfaces while also offers “Explicit control” option. Rhino only has a rarely usable “OnSurface” option which changes the entire matched surface edge while dragging one of its control points and fails to keep the rest of the edge intact. It also can’t match to multiple target surfaces.

  8. Related to the above. There is no “Refine” option for “Blend surface”, similar to what is used on “Match surface”. The “Refine” option is an easy way to create a different structure of the blend surface. Its advantages are already known from the “Match surface”.

  9. There are no U and V markers when working with surfaces with shown control points, or while modifying surfaces, or while extracting isocurves. Even those simple things are missing from the latest Rhino after decades of development.
    There is no consistency in the UI, because the pop-up menus and Command line options (“MoveUVN” and others) show the U/V/N directions with their corresponding letters, whereas the surfaces inside the viewport are not marked the same way.

  10. “Partial matching” is a much needed option for the “Match surface” tool. It will ask the user to pick start and end points to define the partial region that will be matched to a target edge or curve. The rest of the edge to be matched will follow the matched region in a natural way. The goal is to be able to match just a portion of the surface to be matched.
    A similar approach with a partial region is already used by the ! _EndBulge tool.
    Rhino could use some “hacks” under the hood to do the calculations, such like an invisible extending of a copy of the target surface edge or curve.


For a more complete list with many more proposals (not limited to “Match surface” only), including sample pictures, check my linked topic.

1 Like

I forgot to upload the file where I was using a “Sweep 2 surface” along two blend curves, but then I rebuilt it to degree 5 single-span surface and matched it both ends again.

20250826_BlendSrf_BUG.3dm (1.7 MB)

All the points you mentioned are logged as far as I can tell.

  1. is mentioned in the YT I posted
  2. RH-88052 MatchSrf - constrain direction
    RH-69977 MatchSrf: leave well matched surfaces alone
  3. RH-87856 Handles for isocurves matches control in MatchSrf
  4. RH-87673 MatchSrf: CP blending / falloff
  5. RH-87874 MatchSrf direction needs better control
  6. see 3
  7. see 2
  8. see 1
  9. see RH-56040 Better UV indicators
  10. see 3
2 Likes

I’m unable to open #2:
https://mcneel.myjetbrains.com/youtrack/issue/RH-88052

I fixed 2