Cull surfaces with different orientation

Hi, im having a lot of trouble culling the duplicate faces in this object (SelDup doesnt work because the individual overlapping faces have opposite orientation). I need to cull them to then be able to accuratelly ofset the surface 1mm to each side

1 solo.3dm (4.2 MB)

It’s not the surface normal orientation that is the problem - SelDup will find those - but unfortunately, the underlying untrimmed surfaces are different, and even the outer borders have different start/end points and direction.

I don’t have any magic bullets for this one, except to somehow avoid creating them in the first place… A script might be able do a sufficient comparison to find dupes, i.e. same surface area, same bounding box plus same set of individual edges…

thanks, im really stuck here cause i created this surface using ggpackpolygons and there is no way around creating the double surfaces

do you have a script i can try?

I dragged this work-in-progress out of my library… If you explode your object, then run the script (say a tolerance of 0.01), it will find 592 “near-dup” surfaces… the script does need some fixing, but it will work with planar surfaces in your case.

Fixed the point check now, below is the new version. (7.3 KB)



Hey Mitch, I was monkeying with this as well - mine only got 590 and even then only if I compare at a pretty fat tolerance… .01, at the comparing areas step, when the things look to be spot-on the same… still poking…


Here’s my result - near-dups found are on a separate layer…

592_Near_Dups.3dm (5.8 MB)


thanks, i was trying with your script that i found in a previous post. can you convert it to rhino 5 so i can compare it to my result?. The final objective is to give thickness to the whole structure, any ideas on how i can do this? (it wont let me rejoin into a polysurface so the offsets of the individual surfaceces overlap). When i convert to mesh and join and offset the mesh it becomes a super heavy file where some of the faces are eliminated

Here it is…

592_Near_DupsV5.3dm (5.7 MB)

That’s going to be hard, in its current form as simple surfaces, you have a non-manifold structure - that is to say numerous places where more than two surfaces share the same edge. Rhino does not allow these types of structures (with good reason most of the time) as they are impossible to work on - for example you lose the concept of “sided-ness”, so you no longer know what’s inside and what’s outside, making it naturally difficult to offset as a single shell.

You could simply “thicken” each individual surface, but then the joints between them will be fairly nightmarish… I guess I might try that anyway, then mesh each individual thickened face, then find some mesh software that will actually union all the meshes. But it’s not all that easy… Maybe some of the more advanced geometry people have better advice here…


thank you very much!!