I created a new building in dynamo with three rectangular profiles that twist. The original building height was 800 ft.
I created two new evaluation parameters. The first looks at the percentage of the floor area that is located within 10 ft of the edge of the building. This parameter aims to see how much of the floor area will be located near windows and have better natural lighting and better views of outside. The node logic for this is shown below.
This custom node takes in the surface of the building, height, story height, and gross floor area of the building as inputs. First, the curves are generated from each floor in the building. Next, these curves are offset by -10 to get the curves of the inside area of the building. This area is subtracted from the total floor area and divided by the total floor area to get the fraction of the floor area that is located near the windows.
The second parameter is related to this first parameter. I calculate the floor area; however, the area near the windows has a higher value than the area inside by 20%. Whether this building will be residential or commercial, apartments or office spaces will have more value if they have better access to views which is why I decided to calculate the total value this way. The node logic for this is shown below. Also, it should be noted that this was added to the first custom node as I needed a lot of the values from the previous custom node shown above.
In this node I adjust the input values to increase by 20%. I then sum the values of the outside area and inside area for each floor. I sum each of these values to get the value based on floors for the entire building.
I chose to flex the number of sides of the polygon used to create the building as well as the top rotation. The input values used to test are shown below.
The function apply node was then used to test these different values and the results were exported to excel.
Next, the results were evaluated to determine the optimal building.
The minimums and maximums were generated from each column, and weights were assigned to the columns. Only the percentage near the window and total value were weighted in this analysis. The custom node compute combined evaluation scores was used to generate the scores, and the results were exported to excel. List manipulation was used to add the testing parameters to the beginning of the list, and the combined scores to the end of the list.
The results are shown below in the table.
The best 3 scenarios are highlighted. It should be noted that there were building that scored higher than the selected ones, but they did not meet the building requirements. For that reason, the next three were chosen based on the height and floor area requirements.
The best building choice is shown below.
This was chosen as the best because it had the largest combined score that met the building requirements. This means that it had a large percent of floor area that was near windows. Also, this provided the most value because it had a larger floor area in general as well as a larger proportion of that area near windows.