Why two surfaces can't join

I have 12 polysurfaces and 4 surfaces, all of which are aligned closely according to their edges to form a solid. Every time I try to join two surfaces or polysurfaces, it gives me a message saying, “Can’t join that surface.”

Can anyone explain what I’m doing wrong?

Would be good to have the model, hard to tell from the image - but I suspect that either

  1. the edges are still not close enough to join within tolerance despite how it looks, or
  2. one of the surface edges at the join is not really open - it may be doubled back on itself.

If you turn on naked edge display, what do you see?


Found 165 edges total; 18 naked edges, no non-manifold edges.

Again, still can’t tell without the model… what happens if you use the the command _JoinEdge on, say, the hole on the left side? Does it tell you that the joining tolerance is larger than the document absolute tolerance?


It’s probably the way that I’m modelling. Can I send you the model file for you to take a quick look at?

Sure, or post it here… if it’s not huge just drag and drop the 3dm file into your response, or export a subset of the file and do the same… If you don’t want to post the file publicly, you can send it via private mail…


Here it is. Please have a look. Lamp knob B.3dm(926.4 KB)

Well, the main problem is inaccurate modeling. All of the areas which will not join are further than the file absolute tolerances from each other. It also seems like this is an odd size, too small to be in mm, to big to be in inch, maybe it’s supposed to be cm? Was this modeled all in Rhino or parts in something else?

The only way I know to fix it will be to remodel some parts to make sure they fit together correctly, using proper object snaps etc…



I remodelled it. No more problems. Take a look.
Lamp knob B.3dm(756.3 KB)

I am having a similar issue. Two perfectly touching surfaces won’t join. What to do? Happy to send in model for analysis. analyze tool shows edges but not sure what to do about it. Thanks!

Both surfaces need to be within tolerance along a common edge.

What do you mean by “perfectly touching”? Are you saying that they intersect?

Use CrvDeviation to check the the maximum gap between adjoining edges. The gap needs to be less than the absolute tolerance set in DocumentProperties > Units.

If the “perfectly touching surfaces” are touching in the sense that they are planar to each other than Join won’t work unless two adjacent edges, one from each surface are within absolute tolerance of each other.

Post an example file here and someone will diagnose the problem.

i´m having a similar problem trying to join (or merge?) a couple of opened surface edges.
I have been trying all what I found helpful but I still can not find a solution.
Do someone know how I can fix those curves without having to reshape the lines?

Thanks in advance!

Hyperloop_05.06 (1).3dm (8.0 MB)

Hello - on the complex, very dense polysurface, it looks to me like you have attempted to close the object by using JoinEdge rather than Join. If so, please see Help on that command - stay away from it unless you know what you are doing. I’d Explode that object RebuidEdges or simply UntrimBorder and then go round and match the edges up properly, say by using MatchSrf.

Hyperloop_05.06 (1).3dm (1.7 MB)

The other objects can be closed up using RemoveAllNakedMicroEdges and in the case of the larger naked edge, look closely and you’ll see there are multiple faces in the same location.