Merge non planar surfaces

I am currently repairing a provided STP file. In this process I find a lot of surfaces that could be joined into one. If those were coplanar surfaces, I know what to do. But since those surfaces are not planar, I am stranded. Yes, I could completely rebuild those but I was wandering if Rhino offers a faster on click solution. I tried several surface match, merge, connect and rebuild commands but I am not getting the results that I desire.

Attached is an example, just in case.

Any suggestion would be wonderful!

example.3dm (105.9 KB)

1 Like

It is definitely not a good idea to try and merge those kind of objects into one single surface. Why do you need to do this?


all you have to do is to use ShrinkTrimmedSrfToEdge then it will merge.

why not merge them? there is no reason that those have to be seperable.
After merging those two into a truely single surface, I will have a much cleaner model, less likely issues with rounding edges etc.
Those surfaces surely where a single surface before but caused by bad editing or repair aka modeling work, were split in two.

Richard, thank you. this is exactly what I was looking for!!!

Actually, I have to swing back. Yes, this cleans up my surfaces,BUT when I explode this “new” surface i will still end up with two seperate surfaces. I want one clean, native like surface again.

did you use MergeSrf after ShrinkTrimmedSrfToEdge? the round corner will not merge of course.
be sure you dont use the option smooth on MergeSrf, if yo use a mac you can get the option by activating the command before you select the surfaces. it merges up here non explodable.

I assumed from your original post that you want to merge all the surfaces you posted in your file into a single surface, hence my response.

If it’s just the top surface, which appears to be a fillet, you can attack it in a number of ways. One would be to simply use extend surface to extend the opposite edge of the surface that is closest to the corner to the other end, and just delete the second surface. You can also, as Richard pointed out, ShrinkTrimmedSrf>To Edge on both then use MergeSrf.


I used MergeSrf after ShrinkTrimmedSrfToEdge but it changes the surface edges. It pulls away the edge from the corner fillet when I do

I assumed there is an equivalent function such as “MergeNonPlanarSurfaces” as you have for MergeAllFaces

The difference is that the top (horizontal) surfaces are both degree 2 x 1 so they can be merged without any geometry change, whereas with the vertical pair, one is degree 2 x 1, but the other is degree 2 x 3. In this case, after shrinking, you can safely use ChangeDegree to change the upper part’s V direction degree from 3 to 1, then MergeSrf will work without changing the trim area. Or, you could simply delete the upper part, ExtendSrf the lower part beyond the corner fillet and use the corner fillet edge to trim off the excess.


this happened because you had smooth enabled. turn it off before you merge them.
here the file how it will look if you follow the explanation.

example.3dm (25.9 KB)

If Smooth=No, then you create an internal non-G2 joint (or even a kink if the surfaces are not tangent), structure which could cause problems with downstream programs and also meshing. I usually recommend to avoid this situation if possible.


all mergeable surfaces are linear to each other, smooth OFF will not do anything negative here. one can of course also rebuild all of it into 2 surfaces merging at one boarder creating one surface only.

but i dont recommend that, its too much work. in fact i dont even recommend merging those surfaces at all, i dont see many problems just leaving them as they are. if its just for a visual clean up switching off the isocurves and surface edges would do either.

@nhnk01 if you want to invest a little more work in some quality instead, those spherical patches are pretty distorted i would rebuild them. explode them delete the round corner and rebuild the rest to degree 3 by 3 in both directions, then use a blend curve with option tangency on both boarders or duplicate that edge. then sweep2 with option tangency on both rails. this created the best joinable result. not curvature continuous but still better than the munched up edge you had before. thats of course some work but it might bring you more quality if you want.

RichardZ and Mitch,

you guys are sensational. Thank you a ton for your help and suppport.
All your suggestions are extreamly helpfull and work great.