Why can't I join two surfaces in RHINO?

Hello everyone, today I’m practicing the Join command, specifically joining two surfaces. I have three surfaces.
I can join surface 1 and 2, but I can’t join surface 2 and 3. I don’t understand why they can’t be joined or how to fix it. Can someone please explain why I can’t join them and how to solve this issue?
Thanks. ^^
Join3.3dm (602.6 KB)

1 Like

it might be that your tolerance setting was too tight,
you can still get it to join using JoinEdge.

but be aware that if you have bigger gaps that this command can produce pretty bad results further down the road. so best would be to produce actually results that are within the tolerance.

2 Likes

Try _MatchSrf

2 Likes

Thank you, it works very well. But I don’t understand why, even though I used the same method, there’s no problem with 1 and 2. ^^ Rhino is really confusing."

I’m afraid this might distort surfaces 2 and 3. ^^

If you prefer loose tolerance over precise surfaces then go ahead, fine.

As a mold maker and modeler in the footwear industry, let me give you a tip. A lot of the time, when I receive files from third parties, I run into the same surface issues. The solution is to increase the tolerance to 0.02 or even 0.025, because working at 0.01 or 0.001 precision on a model is a luxury. There are too many amateurs who model really poorly and then try to act like pros just to work faster. In the end, they blame Rhino or other software, but they never take responsibility themselves. Many of them model in other programs with much looser tolerances without realizing it.

I’ve seen plenty of situations where, in the CAD I use for NC — like Cimatron or similar — the file looks like a solid, but it’s completely wrong. It’s just that those programs are more forgiving of sloppy work. Many times I’ve imported files into Rhino and found surfaces that don’t join, intersecting surfaces, or obvious gaps between surface edges. The other solution is to use the JoinEdge command, as you were told. Don’t worry too much if the surfaces distort — that’s something only you would notice in CAD. Trust me, when you go to mill the part, nobody’s going to spot a 0.01 error, and honestly, that kind of error is irrelevant. Once the part is machined, especially in the footwear industry, it’ll be touched up by hand anyway — you’re not working in the aerospace sector.

5 Likes

Matchsrf can help here but its not very user friendly. You have to know what you are doing. But if you really are trying to learn how to use Join command it is well worth learning how to cajole MatchSrf to make it function do that join will work.

To avoid MatchSrf distorting your surfaces you need to use the “Match edges by closest points” option. It would be a good idea to set the Continuity option to Tangent also since your surfaces are not tangent.

After you use Matchsrf the surfaces will be closer but not quite close enough to join. At that point you can untrim the green surface and then use the trim command to trim the green surface to the blue edge. That will make the two edges well within tolerance.

This is just one of the many goofy workarounds you need to learn if you really want to learn to model accurately in Rhino.

2 Likes

What method did you use?

In the MatchSrf command, I clicked twice on the matching edges between the blue and green surface. Then ok and afterwards join. The result has one open edge loop.

PS: I don’t think JoinEdge is the right command for this since it just changes the edge.

I’m no expert but check the curves

Always starts with the curves

My bet 50 SEK on curves

Yes, but you turned the OP’s nice clean surface into garbage by using the “refine match” option in MatchSrf. And matching for curvature also distorts the surface significantly. The OP was correct in his concern that MatchSrf can distort surfaces.

Also I should have mentioned in my previous post that if Matchsrf is used with continuity other than Position the “Preserve isocurve direction” sshould be selected to avoid distortion by twisting the control point alignment.

1 Like

I get that MatchSrf changes the curvature the way I did it but I’m not sure which of the surfaces is nicer or cleaner or garbage…

The command has options and if no tangency or curvature is desired, don’t use it.

The definition of distort in English is → “pull or twist out of shape”

The OP indicated he did not want to distort the surfaces. If he does want it there are lots of options for that in Rhino.

1 Like

And the JoinEdge command does not distort the surface?

Yes that is correct JoinEdge does not change the shape of the underlying surface. It will change the edge definitions which means the edges are no longer within tolerance of the underlying surface.

Matchsrf can change the shape a very small amount. If the surfaces were machined on an extremely accurate machining center you might be able to notice the difference between using MatchSrf and JoinEdge. With the average CNC machine the difference in shape caused by your method and using JoinEdge is likely to be noticeable.

2 Likes

Fair enough. Thanks for the explanation.

Here’s an exageration:

1 Like

now use Mesh with a fine setting, you can also adjust the RenderMesh for it, the outcome will be the same.

1 Like