Are you a Corner?

Right now, I’m selecting a list of walls in order and then getting a sub-list of the curtain panels in each wall. What I’m trying to figure out next is how to know where the end of one might overlap with the next. I probably shouldn’t assume they are always going to be at a 90-degree angle. Is there a cluster of nodes I’m not aware of yet. Any general advice to point me in the right direction appreciated.

Try getting the panel lines’ endpoints and finding the ones which are near the Polygon.Corners points from their Wall lines.

1 Like

I use an approach like below when finding corner blocks in Rhino using Grasshopper (rebuilt in Dynamo). We usually use tree structure to sort blocks by Z height, but its a lot harder in Dynamo to node this (I’d do it in Python if I had to probably). In principle I’m asking each panel for its closest two panels, checking the angle between the vector to them both and asking if the angle is less than a number close to 180 degrees. We know that for most corners this angle should be much less, but if the wall continues linearly to the nearby panels it would be about 180 degrees.

This is a bit different as in Rhino the concept of a ‘curtain wall’ doesn’t really exist, blocks are placed and the grids are implied rather than available for me to take advantage of.

If panels are all quite regular, it will reliably find the corners, but if there are smaller pieces sometimes it will miss 1 of the 2 pieces, see below:


CORNERS.dyn (40.0 KB)


Wow! That’s amazing! thank you so much Gavin

1 Like