How to cull duplicates and keep one from a specific data stream


I have a question regarding the cull duplicate operation.

Let’s say I have a dome structure with a triangular structure, therefore with triangular flat panels, some of them are glass, others are opaque.

After several operations, I reach the point where I have 2 DATA streams (Glass and Opaque), I would like to check for coplanarity and if any, remove the duplicate located on the Opaque DATA stream, while keeping the glass one.

Any hint on how to proceed ? a component or sets of components ?

Thank you !

why would you have 2 sets of data when you only need 1? I think you can just pick the items from your dome that need to be converted into another material.

Once I pick the glass panels and assign the material, it doesn’t solve my problem as when I render, I will still have the Coplanarity issue. I need to assign the panels to 2 different layers. Am I not understanding your solution ?

The best one > attach relevant .gh file with internalized data.

For multiple co-planarity tests I usually project the origin point to each plane, thus obtaining a point containing the full information of the plane (normal and location), then make some duplicate or closestPT operation with those points.

Here is the file with the internalized Data. Please note the Dome is not on the 0,0,0, but a bit far on the -Y axis.
For some reason I couldn’t upload the file I keep getting “Sorry, it looks like something has gone wrong, the file you are trying to upload is 0 bytes. Please try again.”

I made a wetransfer: WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free

Thank you ! (386.9 KB)

somehow when I compress/zip it, it goes through !

this might be one way using set operations on the area centroids (392.9 KB)

1 Like

@inno thank you very much ! it worked ! Live to learn a new thing every day. I think in nearly 10 years of using grasshopper i never used the set components !


1 Like