Well, avoiding duplicates is better than sifting through the rubble and deciding which to keep and which to discard. If the Merkat plugin is needed for that, I can’t help you. I would guess there is a way to internalize data from it? Do you already know about Member Index?
Yesterday’s version (above) used Volume ‘C’ (Centroid) for two purposes:
- to get an XY coordinate for each building and
- to sort each “column” of duplicates, choosing the one with the highest centroid
It was not only slow but may have failed on 44 “Open Breps” found among your list of 428, esp. in R6?
This version (below) is different in several respects:
- It doesn’t use Volume so is much faster and handles “Open Breps”.
- It deconstructs each brep to get a pseudo centroid for each face, sorts them by Z to use the lowest one as a basis for Member Index magic (columns of duplicates) and the highest one as the height of each building.
- It culls duplicate buildings for each “column” by height. (orange group)
The cyan group culls nulls (only one) from your list of 428 breps. Of the 427 remaining, 44 are “Open Breps”. Only 5 of those 44 of become “Closed Breps” when Cap Holes is applied to them, but that’s just FYI, the capped breps are not used.
This image (above) shows other things:
- The white group has all 427 breps, organized in 50 branches (columns).
- The green group shows only the tallest building in each branch. 50 branches/columns = 50 buildings.
- The orange group is more subtle. For each of the 50 branches/columns, it culls the buildings by unique height. So the total is reduced from 427 down to 113 buildings, still organized by “column” (branch).
- A different copy of Member Index is used to summarize the results as follows.
- Unique = 25 columns
- 2 duplicates = 11 columns
- 3 duplicates = 3 columns
- 4 duplicates = 3 columns
- 5 duplicates = 5 columns
- 6 duplicates = 1 column
- 7 duplicates = 2 columns
Off to the right is a copy of my ‘Tree/List Viewer’ tool connected to the orange group. With it, you can see each of the culled, unique height buildings (‘list idx’ slider) per column/branch (‘path idx’ slider)
Other than tallest or shortest, which criteria would you suggest for culling?