Latest news
Tips & GuidesRhino

Surface Continuity in Rhino 8: A Guide to BlendSrf, MatchSrf, and Zebra

Rhino 8’s official documentation explains how to create transitions between surfaces with BlendSrf, adjust continuity with MatchSrf, and visually inspect the result with Zebra. This guide combines the tools into a single workflow.

Striped reflections showing continuity across a curved surface joinAI image
Representative image, generated with AI.Image: 3dsınıfı / FCA AI

In brief

  1. BlendSrf creates a blend surface between the edges of two surfaces, polysurfaces, or extrusions.
  2. MatchSrf adjusts a surface edge for positional, tangency, or curvature continuity.
  3. Zebra displays stripe flow across surface joins to help assess G0, G1, and G2 continuity.
  4. Rhino can save surface analysis meshes in the file; these meshes can increase file size.

This guide brings together the BlendSrf, MatchSrf, and Zebra commands described in McNeel’s official Rhino 8 documentation to show how to create and inspect surface transitions. The workflow covers creating a blend surface, adjusting edge matching if needed, and then visually inspecting surface quality.

First, define the target continuity

Clarifying the expected result at the join between two surfaces makes it easier to choose the right tool. Rhino’s documentation describes three levels: G0, where surfaces meet positionally; G1, where both position and tangency match; and G2, where curvature also matches in addition to position and tangency. These are not interchangeable settings; they describe different properties that can match across a join.

G0 may be suitable when it is enough for the surfaces simply to meet. Choose G1 when you want to avoid a noticeable break at the join, and consider G2 when aiming for a smoother shape transition. The required continuity depends on the model’s form and intended use. Rhino’s documentation does not prescribe a single correct level for a specific project, so make the choice according to the design requirements.

1. Create a blend surface with BlendSrf

In Rhino 8, you can access BlendSrf via Surface Tools › Surface › Blend Surface. The command creates a blend surface between the edges of two surfaces, polysurfaces, or extrusions. Select the first edge, then the second; use the ChainEdges option to treat connected edges as a single edge. After adjusting the settings or control handles, complete the operation with OK.

When refining the shape of the blend, inspect the curve profiles at both ends and the sliders for the surface ends. Lock preserves the relationship between the ends of the two curves; the sliders set the distance over which each surface end influences the edge curve of the blend surface. The two surface ends are controlled by separate sliders. These controls let you adjust the shape of the blend relative to its ends; the result can vary depending on the edge angles and surrounding geometry.

For complex input shapes, you can add profile shapes along the edges with Add Shapes. This helps you control the blend at more locations. Straighten automatically adds shapes to achieve less twisted isocurves. The documentation explains that a new shape may be added during the operation if the angle between the isocurve direction and the rail tangent falls below the specified threshold. It can therefore be useful to first inspect where the surface is twisting, rather than adding more control points.

McNeel recommends reducing unnecessary edges where possible before blending, and leaving enough room in the model for the blend surface to be trimmed and joined. It also recommends working from the larger radius to the smaller radius when transitioning between different radii. Corner shape, surface angles, and blend type can also affect the result.

2. Adjust edge matching with MatchSrf

While BlendSrf creates a new blend surface, MatchSrf matches an edge of an existing surface to another surface. In Rhino 8, the command is available under Surface Tools › Surface Edit Tools › Match. The edge to be matched on the surface being edited must be untrimmed. The documentation also notes that a closed edge cannot be matched to an open edge, and that only single, complete edge curves can be matched. If you need a partial edge, you can trim the surface or split the edge with SplitEdge.

Choose the target continuity in the command. Position matches position only; Tangency matches position and direction; and Curvature matches position, direction, and radius of curvature. Preserve other end changes the surface structure to prevent the edit from changing curvature at the end opposite the matched edge. Consider this option when preserving the shape at the opposite end is important.

Average surfaces changes both surfaces toward an intermediate shape. However, History is not recorded when this option is enabled. Refine match checks whether the match is within tolerance and improves it if necessary; Rhino may add spans to the modified surface to meet the tolerance. The documentation emphasizes that MatchSrf is most reliable when the surfaces are already close and only a small adjustment is needed. Larger changes may require several attempts.

3. Inspect the result with Zebra

After matching or blending, inspect the surfaces with the Analyze › Surface › Zebra command. Adjust stripe direction, size, and color; choose a stripe color that contrasts with the object’s base color. If the analysis is not detailed enough, increase the density of the analysis mesh. According to the documentation, increasing density improves analysis accuracy. Freeform NURBS surfaces generally require a detailed mesh for evaluation.

The way the stripes behave at the join provides a visual clue about continuity:

SettingRecommended valueEffect
Continuity targetPosition, Tangency, or Curvature as neededTargets position; position and direction; or position, direction, and curvature matching, respectively.
Zebra stripe colorA color that contrasts with the base colorMakes the stripes easier to see on the object.
Analysis mesh densityIncrease if detail is insufficientImproves analysis accuracy.

If the stripes jump sideways or break at the join, the surfaces may be touching but have a break between them; this indicates G0. If the stripes align at the join but change direction sharply, position and tangency may match while curvature does not; this points to G1. If the stripes flow smoothly and continuously across the join, G2 continuity is present. Zebra provides a visual assessment; interpret stripe flow in the context of the intended shape.

What changes in an architecture and visualization workflow?

These commands help separate the steps of creating, editing, and visually evaluating surface joins in a model. First decide whether a new blend is needed: use BlendSrf if it is, or MatchSrf if an existing surface edge needs to match another surface. Then inspect the stripe flow with Zebra to check the target continuity. This approach supports more deliberate evaluation of surface joins before modeling and visualization.

The documentation does not provide information about hardware requirements, increased render speed, or licensing costs. Before applying the workflow, check the Rhino version and the geometry structure in the file. Also keep in mind that Zebra analysis meshes can be stored in the Rhino file and may increase its size.

Common mistakes

  • Overlooking the requirement that the edge to be matched with MatchSrf must be untrimmed.

  • Setting Zebra stripes to a color that does not contrast enough with the base color.

  • Treating the stripe display as definitive when the analysis mesh lacks sufficient detail.

  • Failing to check for extra edges or insufficient working space that could obstruct a blend before using BlendSrf.

  • Expecting a History record while Average surfaces is enabled.

If the Rhino file grows in size, remember that analysis meshes can be stored in the file. The documentation notes that RefreshShade and the Save geometry only option in Save and SaveAs can remove existing surface analysis meshes.

Sources

3 sources
D
docs.mcneel.comdocs.mcneel.com/rhino/8/help/en-us/commands/blendsrf.htm
Summary
D
docs.mcneel.comdocs.mcneel.com/rhino/8/help/en-us/commands/matchsrf.htm
Summary
D
docs.mcneel.comdocs.mcneel.com/rhino/8/help/en-us/commands/zebra.htm
Summary

Source texts are not republished; short quotes are marked, everything else is our own summary and commentary.

3dsınıfı’s take
3dEditor’s assessment

For architecture and visualization offices in Turkey, the practical value of this workflow is that it lets you describe a surface-join issue in terms of G0, G1, and G2 targets, rather than judging it by appearance alone. BlendSrf and MatchSrf do different jobs, so first clarify whether you need to create a new blend or adjust an existing edge before choosing a command.

The documentation does not specify hardware requirements or licensing costs, so performance or budget benefits should not be assumed. Zebra analysis meshes can take up space in the file. Accounting for file size and MatchSrf History expectations in office workflows can help avoid unnecessary surprises before delivery.

Frequently asked questions

What does BlendSrf do in Rhino 8?

BlendSrf creates a blend surface between the edges of two surfaces, polysurfaces, or extrusions. You can adjust the shape of the blend using settings and control handles.

How can you identify G0, G1, and G2 in Rhino Zebra analysis?

Stripes that jump sideways at the join indicate G0; stripes that align and then turn sharply indicate G1. Smooth, continuous stripes indicate G2 continuity.

Which surface edges can MatchSrf work with?

The edge to be matched on the surface being edited must be untrimmed. A closed edge cannot be matched to an open edge; for a partial edge, you can trim the surface or use SplitEdge.

Comments and the forum are in Turkish.Join the discussion
+

Related news