Shouldn't Cull Duplicates Cull ALL points?

I am wrong in expecting the Cull Duplicates component to cull ALL points within a certain distance when in mode “Cull All”?

For some reason it is culling just two points… as if running iteratively, culling one point at a time, so the last point does not get culled because it is not closer to anything else.

Can you include an example?

Hi @rajaa. Thanks for the reply.

Sure, here you go.


cull dup.gh (4.9 KB)

Can you please “internalize” the points and re-post the file?

My bad, done.

In order for ALL points to be deleted, you can think of input points as a cluster where you measure distances between each point and the rest. If all distances are less than the tolerance, then they are all are deleted (deemed as duplicates).
In your example, the furthest distance in just over 28, and therefore you need a tolerance closer to 28 to delete them all.

1 Like

Thank you Rajaa. Sadly I already know this and it doesn’t really solve my problem. I was questioning the behavior of the component itself rather than trying to cull all my points.

If you add other points to the point cloud, say at 15units from an existing point, those will get culled too (if you set tolerance at 30units), I just want to cull the ones at 10units.

I can easily solve my problem for now using the Proximity component or creating all possible connection and measuring the lengths/distances, then evaluating the smaller length and culling based on if that value is above or below the threshold.


cull dup2.gh (11.4 KB)

I just don’t think cull duplicates should force you to use the maximum distance between a point cloud to cull all points. It is really impractical.

Seems there should be some new component about culling by distances. The way cull duplicates works now is correct. It’s really for duplicates and tolerance is really there to account for inaccuracy errors (usually 0.001, 0.01 stuff like that) it’s same logic as welding mesh verts (like in an RTree, you take a bunch of points in some volume and collapse them).

I put a request to add an option to pick distance method (min or max) for David to review.
https://mcneel.myjetbrains.com/youtrack/issue/RH-59039

1 Like