What command to find duplicates on a layer?

Hi
V5
I have 3 or 4 duplicate surfaces on a layer. what command I wonder to remove them.
I search on forum and see…reading another post the poster was told to select duplicates command remove then boolean would work.
sounds worth a try.
I can only find SelDup and SelDupAll not the full wording, I try for those , I see selections made, hit delete, yet I still am finding duplicate surfaces on that layer after those two.

so what is the fix , I did try to search, also nothing in help under find duplicates or remove duplicates or select duplicates. ?

Cheers
Steve

SelDup finds “perfect” or exact duplicates, like you would get by using the In Place option in Copy, or inserting the same block and exploding them.
Not just closely similar, but exact.

The command was created to help cleanup imported AutoCAD files which seem to have a lot of stacked duplicates.

Hi,
mine are from copy inPlace and duplicate layer and contents.
when I click a surface I get a choice list of 3 or 4 surfaces and as you move mouse down the list normally different items illuminate, the exact same surface illuminates no subtle changes between them.

Steve

If you know they are identical, select them all and unselect one, then delete. Even if they are not identical, you can inspect and adjust the remaining one if required.

Hi,
Using a built in Rhino ‘brain’ that knows they are identical is safer I feel than having to try and spot for an exact match with the mk1 eyeball.

If I knew exactly how something came about I could do so, but has one been nudged by 0.0001inch unknowingly for example, would it spot two the same shape but not exactly in the same position ?

It can be time consuming analysing a thin yellow line (my colour for selected) in all 4 views looking for any differences zoomed well in.

Steve

Hi,
V5
I have a standard size brick, I have cloned it and copied it hundreds of times, I am seeing it co exist with itself, selDup found a few, all done I think, then I select a brick and it has a choice, delete one and another is there.
SelDup again and nothing found yet I am now plucking out many, so what command will truly find duplicates in the same position ?
what if they are a gnats whisker out on each other ?
What should be simple is going to be a case of selecting each and every brick in what are hundreds.
Do they have to be on the same layer or same colour etc ? (these are)
here is the file, it has duplicates yet seldup says none.
duplicate bricks wont find.3dm (6.3 MB)

Steve

HI @Steve1,

Not sure what the issue with SelDup is - looks like it maybe doesn’t use the tolerance setting.

As a workaround, if you ungroup the buttress, then move each of the end groups away a set distance, you should be able to easily identify and select all the duplicates in the front collection for deletion:

Then move the ends back by your set distance and regroup.

Hi Jeremy - Correct - SelDup only looks for identical geometry in the database.

-Pascal

This could easily be solved with Grasshopper. The GH file attached has both your initial Breps and the unique bricks internalized.

cull_duplicates_5.gh (1.2 MB)

Hi,
Wish V5 had a tolerance slider as zooming in to electon microscope level the grouped brick dup on the corner brick was a gnats whisker different. We know that its a dup but Rhino is set to accept things at extreme tolerance, yet other times will fail on the same microscopic gap., actually here one could say it failed.
Could I in fact alter file tolerance and get it to spot them ?

Martin, thanks, good to know though yours truly has never ever lifted the lid on Grasshopper. An Alien language to me so no good for my immediate need. I need to clone myself to get time to get into Grasshopper, and textures, and all the video editing piled up here, rebuild a win7 tower as win10, install v7, learn it, massive sort out of house, and a ton of other things.

so folks, could I alter tolerance and where, to get SelDup to spot bricks a minute gap out ?

0.0026508 inches in this case
Steve

1 Like

No, as @pascal and @John_Brock explained, it was developed for a specific purpose and can only find exact matches.

The solution with Grasshopper is very simple.

Is this a reoccuring issue or a problem you need to solve once just now?

You can try this script if you like. Should work on any collection of closed polysurfaces composed of 100% planar faces (like boxes). Works by comparing the corner points of each object, if all corner points are within the given linear tolerance, it is considered a duplicate and selected. One of the dupes is always left unselected (like SelDup) - however, also like SelDup, you will not be able to influence which one it is - in this case it is the oldest of the duplicate objects object in the database which stays unselected. I tested it in V5/Windows, it seems to work OK.

Edit: here is a better/faster version than the original one posted…
SelNearDupBoxes.py (3.6 KB)

And just as an advice, it is always useful to plan ahead to avoid these types of situations - putting imported or copied stuff on different layers, groups etc. to make sure you don’t end up with an uncontrolled situation where you have near-dupes on top of each other that you can’t separate/distinguish easily. An ounce (gram) of prevention is worth a pound (kilogram) of cure.

2 Likes