Tangency between surfaces

Hello, I’m struggling to find out how to solve the following problem.
I have two different surfaces, created by filling two sets of four curves. One edge/curve is shared among the two surfaces.
I want the two surfaces to be tangent along the shared edge, but only on some selected points (chosen by me). In other words I’d like to set a “variable tangency” among a single shared edge. Is that possible?
Many thanks in advance!

Hi Rhynn - I guess I’d MatchSrf for tangency and then mess up the tangency to taste by moving the second control point in from the edge (F10 to turn on points) on one or both surfaces.


Hi, thanks for your reply Pascal, but It seems the method you suggested doesn’t permit to perform what I intended to do.
I try to explain in details what I’d like to do: my goal is to implement an automatic procedure which permits to adjust the shape two surfaces sharing an edge, on some specific points near the edge itself. This have to be done by giving, on that selected points, the normals of each surface. For this reason it could happen that, along the same edge, the surfaces can be either tangent or not (parallel normals or non-parallel normals).
I hope this image will be better explainatory.
Thanks again in advance!

Hi Rhynn- It’s a few steps but you can try making ‘dummy’ surfaces. Something like the attached. Sweep1 using ‘Align to surface’ style.

SrfAngle.3dm (205.3 KB)


Ok, maybe I’ve to step back and watch my problem from a different angle.
Since my goal is to find a logic to reconstruct two surfaces which may be tangent and/or not-tangent along their shared edge, first I have to understand how those kind of surfaces are modeled via the modeler/cad.
In particular, how are the surfaces containing this sort of “fading out” edge generally modeled?
To better explain what I’m asking I’ll post a couple of examples.

Again, many thanks for your patience!

So, these surfaces fade out to a surface or surfaces that are curvature continuous, so making the creased surface continuous with these surrounding surfaces also fades the crease out ‘naturally’ so to speak. Usually there is a transition surface rolling across the ‘crease’ as well. This narrow transition is handy for fading out the crease in a controlled way.

Fade_PG.3dm (97.3 KB)


I’d tackle these blends as in the model below, trying to keep to bezier patches to make editing easier.
Follow the 3d model stages from top to bottom within the model. See if it makes sense?
I’m no expert A-Class surfacer so there may be a better way to do this!
surface crease.3dm (438.0 KB)

Thank you both Pascal and mcvltd for the precious help. You had help me much in understanding how to deal with the creased/pinched surfaces.

If I’ve understood it well by observing the models you provided me, in order to make a sharper edge I’ve to set a larger number of u and v by changing the surface degree, is it right?

Hi Rhynn - probably best to post an example that you’re working on.


Hi Pascal, I’m not working to any particular model: I need to understand the common workflow followed by the designer in these type of problems, because I’ve to develop an automatic procedure for adjusting the creased surface (preliminarily created in Matlab and imported in Rhino).

Yeah, I see- but still, strategies like increasing the degree as opposed to inserting knots to control the local shape will depend a good deal on the specific situation. It’s hard to see how to automate this for the general case.


Essentially yes, if you want more detail in a surface then you’ve got to add in more points.
But if you’re dealing with A-Class surfaces as in your example pics then you’ll be wanting to work with bezier patches where the whole aim is to have the least number of points possible. Bezier patches are also super smooth in comparison to NURBS. Remember, to create a bezier patch you’ll always have to stick to the formula of Number of Points = Degree+1.
If you’re working in NURBS then you can have as many points as you want and lots of knots, but the resulting surface won’t be as beautiful.
Also, to keep curvature matching into the surrounding surfaces you’ll need to keep three points for each edge. Any other points in the middle are the ones you can manipulate to create the crease.
Hope this makes sense?

A different approach. Crease Fade DC 1.3dm (150.0 KB)

This has three surfaces, with the crease on the edge between two surfaces. The crease is a tangency discontinuity until it fades out completely.

Nice patches David. I think you’ve nailed it, with my example I tried to do too much with one surface (fade in - crease - fade out). With your approach you’d have one set of patches for the fade in, one set of patches for the full crease and then another set of patches for the fade out. Beautiful.

Am I allowed to have another go at this?
New model below based on David’s approach.
surface crease2.3dm (203.6 KB)

1 Like

These are exactly what I was looking for! Thank you both davidcockey and mcvldt.

Forgive in advance me for the question I’m about to ask (I’m fairly new to Rhino and surface modeling) but, how did you make the creased surfaces, exactly? Did you use a loft?
Many thanks.

There are many ways you can create surfaces, all valid, but my preferred way these days (if I need to be strict with the UV point count of a surface) is to -

  1. Create a flat or ruled surface which is super simple (use ‘rectangular plane’,‘surface from 4 corner points’ or ‘surface from 2 edge curves’. Position them roughly in the right place (corners).

  2. Rebuild the surface using the ‘change degree’ command. Here you have to think very carefully about how many control points you need the surface to have to achieve the shape you want. This is why you need to understand the relationship between number of control points and degree of surface.

  3. Display the control points using the ‘points on’ command and move the points around until you have the shape you need.

  4. Use the ‘matchsrf’ command to curvature match the adjoining surfaces.

So, in my example you would create the surfaces numbered 1 and 2 first. Pull their points around until you have something you like (this is where you create the crease). Then you’d create surfaces numbered 3 and curvature match them into surfaces 1 and 2.

I hope that makes sense?

Ok, thanks a lot mcvltd for your time, the procedure is very clear to me now, however I’m not sure in how to make a sharp crease… by editing the control points I end up in having only “smooth bumps”.
I think I need to be able to have some control points to adjust the surface as desired, but also keeping a C0 continuity for the surface itself (maybe I’m missing some theory, so I think I’ve to study this more in depth meanwhile)

for a better understanding of the theory about surface topology and washout continuity here is a you-tube link,

it may not be possible to do these kind of manipulation with that ease in rhino but theoretically it is possible and VSR Shape modelling plug in may help.


1 Like

Nice video Rasim!

Rhynn, how about the explanation below? This is what Pascal was talking about earlier -


You will of course have to create your washout surfaces either end of the crease and blend back into the surrounding surfaces.

1 Like