How to smooth out a complex surface?

I’m cleaning up a file and I just came across something that I don’t know how to do in Rhino:


Now, in Alias I know at least two different methods on how to deal with this without re-doing the surface, but either that’s not available in Rhino or too crudely implemented in Rhino.

So, anyone have any tips?

smooth-blending.3dm (120.3 KB)

(PS. Yes, I realize the blend trim is horribly ugly/potentially wrong and I should re-do and re-trim the entire surface, but I’m interested in this specific use case that I currently don’t know how to deal with in Rhino.)

Hello - MatchSrf for curvature should suck those middle points down.
(Odd that RemoveMultiKnot changes it from a 6 point to a 5 point surface… I do not think I’ve ever noticed that before- I guess there is a multiknot in the long direction as well. But, RemoveMultiKnot, MakeUniform and MatchSrf (Curvature/tangency) on the higher edge makes a decent surface.)


add few BlendCrv and then it works better

This is a classic scenario where two blend surfaces meet together. Very nice.
Here is what I did while trying to make the transition as close as possible to G2, despite the fact that the original adjacent surfaces were not G2 to each other.

  1. I used the green curve to build the red extruded surface. I used the latter to trim two of the existing surfaces.

  2. Then, I built a “Sweep 2 rail” surface (Chain edges; Rebuild cross sections with 5; Tangency on either side) which I rebuilt with “Rebuild surface UV” with 10 rows of control points to make it simpler.

  3. I turned the Zebra analysis on and used the Gumball to manually move the control points along their normal direction.

  4. Lastly, I applied “Match surface” numerous times to each edge and manually added extra rows of control points according to my liking.

PS: I purposely didn’t used the “Refine match” option at step #4, because that lets you edit the surface if you wish so. However, if you are happy with the current result, just apply “Match surface” with “Refine match” according to your desired tolerance setting. I created 3 versions just in case.

smooth-blending BG.3dm (5.2 MB)

smooth-blending BG 2.3dm (6.7 MB)

smooth-blending BG 3.3dm (7.4 MB)

Ok, but how did you handle the short edge transitions?

Because the surface has so many control points along the long edge, and match can only do up to three control points, the transition is very ugly at the end (here is where I’d want the smooth blending feature that affects additional rows of control points).

I guess I could re-build the surface down to only 4 control points across its entire length, match the short edges, and then match the long edges with refine on to re-create all of the other control points… but boy, that doesn’t keep much information from the original surface (although it works in this particular case). :slight_smile:

How did you make the blend curves uniformly affect seemingly all of the control points across the entire surface?

Thanks, but I specifically said “without re-doing the surface” and that “I should re-do and re-trim the entire surface” later. :stuck_out_tongue:

Also, why on earth are your files 5mb+ in size and why are there three of them? :slight_smile:

I made the blendCrv first, using the Edge option in the command line, then I used Sweep 2

Ah, in other words, you also re-made the surface, instead of adjusting the existing one that I asked about. :wink:

remaking it with just two curves is quicker than trying to modify a surface with poor information. but I don’t know maybe you can find a magic solution for all your needs.


It still feels to me as if Rhino has literally hundreds of hidden commands to deal with surfaces. Can you blame me for asking if there were any that could help me here?

excuse me for mixing in once again, that is a good point, since documentation is not the very best, but sufficient once you know where to look.

still your numerous interventions pointing out some differences or weaknesses compared to alias makes one think you are actually only here to complain about rhino, rather than to actually ask for help. i appologise if that just seems so and you are actually really just looking to get ahead.

1 Like

You seriously think that I would troll this forum for almost a year?

If you follow me that close, you should have seen me mention that Autodesk removed Alias from our existing subscription without making any pricing adjustments, which is one of the reasons for us moving to Rhino.

Many, many times when I’ve posted asking about features, people have either presented me with solutions or even custom scripts. I guess this just wasn’t one of those times.

It’s no big deal, as I already said in my opening post re-trimmed and re-did the surface anyway. I was just honestly curious if there was anything I missed, especially since Rhino is much more about handling multi-span surfaces than Alias is.

following your posts for a long time i honestly never got rid of that feeling. but again its just a feeling and should underline why one may react a bit snubbed. nevertheless there are thankfully more sovereign people who might not even question intentions and professionally offer help.

i understand that and definitely something you should proceed with.

Hello that short surface is matched for tangency, so I’d make sure to match the long one for tangency as well. RemoveMultiKnot, makeUniform, MatchSrf (tangency) the long edges, ‘MatchSrf’ (tangency) the short edges with ‘Preserve isocurve direction’. Things do not seem to me to be set up well to do much better than that with the existing surfaces. Your middle row of points will not sit down nicely unless you match for curvature in the long edge, but that does not play well with the short surface being only a tangent arc.



You want the surface to be modified without a modification? :slight_smile:
The two adjacent surfaces on the left side have only G1 tangency, so it’s impossible to make a true G2 curvature there. Your surface has extra control points in the middle (good for Match surface with G2 on either side), but at the same time the adjacent surfaces are such that they will force you to use G1 instead. Combining G1 and G2 flow always leads to mixed results. If you are happy with G1, then the solution offered by Diego Krause is good for you. :slight_smile:

I made 3 different versions, in order to show you how that area could be improved with a visually smoother flow. The 3rd one is the best, according to my understanding. However, for a true G2 curvature I recommend to modify the adjacent surfaces.