Hi,
I thought a simple BooleanUnion or MergeFaces or Join would do the trick, but I’ve been struggling for some time… How can I keep only the outtermost Breps of these buildings? They originated from a shapefile with footprints that I extruded, however it seems that it was a one to many relation, so in some cases I got the same building with different heights.
Breps: breps_27112019.gh (2.0 MB)
I looked up in the forum, but couldn’t find simillar questions (sorry if they exist and I missed them…)
Help will be much appreciated Thanks!
Yes you’re absolutely right, but he “one to many” is also needed because I have to Google Earth check and choose which height is more appropriate for each building. However, in case I choose to go along with the maximum heights for the whole set, there must be a more elegant way than manual deletion.
Here is the gh definition (uses Merkat plugin), 18kB now area.7z (36.1 KB) area_27112019.gh (17.5 KB)
I didn’t notice the P.S - it’s simillar to one of my workarounds, however some of the buildings disappear.
Well, nevermind the plugin. I’ll figure this out. thanks anyway!
The forum software will actually prevent you from replying to the same post too many times in sequence. It explicitly suggests that the previous post be edited instead. So if I get more ideas and no one else has responded yet, I must either edit the previous post, wait for someone else to reply first or forget about it. I append to posts frequently so I suppose much of that content gets missed and is wasted effort. Bummer, that’s a lose, lose situation.
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.
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)