Sreethu Sura - Module 6

Building Form:

Building is designed with Dynamo geometry instead of Revit mass elements for reducing the computational effort needed.

The building form in the last module Module 5, was taking lot of time for the analysis, so the following building form is used:


It is a twisted tower with a dome like shape on the top level, where the roof like area can be used to install PV panels just like in the Google Bayview office.

Google Office, Bay View, CA


The Roof was created used the following group of node functions in dynamo. First the user can set the top most point w.r.t to top floor (along with the number of sides for the profile, top profile and bottom profile rotation, number of stories and floor height). Later, tangents are drawn from the vertices of the polygon profile of the top floor and function is used to create a surface.


One challenge that I faced during the roof surface creation is since we need to sweep the surface area in a closed loop, dynamo could not create a surface between the tangents drawn at the first vertex and last vertex. So it was designed seperately.

To make use of the functions explained in Modules for solar potential analysis and line of sight, the surfaces are then seperated into each faces using the Topology.faces node

Project Location was to San Francisco (Module 5)


Number of stories, number of sides pf the polygon profile and base radius are the input parameters to create different design alternatives.


Evaluation Metrics

All evaluation metrics are given same weight. the scoring for each alternative will be the ranking on a scale of 0 to (number of alternatives-1) and the ranking assignment is as described below.

  • Surface Area:
    • Ranking: Minimum is the best

  • Gross Floor Area:
    • Ranking: Moreis the best, as it will increase the functional space. But if the gross floor are is not >1,200,000 sqft or <1,500,000 sqft it will be given the least rank (0).

[As mentioned in Module 5, volume of the building, surface area of the envelope and gross floor area are calculated. On top these 3 other evaluators are created in this assignment]

  • Total Cost of the building:
    • It was assumed that the unit area cost of floors increases linearly with $1 increase per feet and with cost of first floor being $500
    • Cost for installing PV panels and construction of roof was included ($1500 per sqft)
    • image
    • A custom python script was developed which performs dot product between two lists one with the unit area rates of each floor and other with areas of each floor
    • Ranking: Cheapest is the best
  • Exterior View Quality:
    • In a city like San Francisco, there will be surrounding buildings, less are the obstructions there will be from window views, more will be the user comfort.
    • image
    • So, first line of sights were created from the wall surfaces using the following group of nodes (as explained in video modules), later the percentage of these lines that intersect with some mass elements (random Revit mass elements) are calculated to evaluate the exterior view quality of the building
    • Ranking: Highest is the best

  • Solar generation potential of roof:
    1. image
    2. The concept taught in video modules was followed to find the cummulative solar insolation value of roof surface is calculated. Roof surface is only considered for this calculation as PV panels are mostly installed on roofs.
    3. Shading surfaces are the building surfaces facing toward our building form
    4. Ranking: Highest is the best

Ranking Implementation in dynamo:

  • Descending order: First List.SortByValue was used to sort the list and return the indices, later to assign ranking to the values in the original order, List.IndexOf was used to to assign the ranking
  • Ascending order: Descending order was reversed by subtracting the rankings obtained from previous step with the maximum rank (number of alternatives - 1). This was done using a python script
  • Special case: if the gross floor are is not >1,200,000 sqft or <1,500,000 sqft that the area is converted to zero and Descending order ranking system is followed
  • Average score is represented as percentage value
  • Data.ExportToExcel Node was used to extract all the analysis results

Insights from Results:

  • Cost is directly proportional to base radius, number of sides and number of stories (obvious)
  • Solar potential increases with number of sides of polygon profile
  • View Quality increases with number of sides of polygon profile and decreases with increase in base radius may be because of having wide buildings in the neighborhood

Best Solution

  • Final Standings is also provided (top 3 solutions can be referred in the screenshot of excel sheet given above), with the best alternative being the design with base radius 250’, regular quadrilateral (square) profile and 20 number of stories. Note: Even though the gross floor area is less than 1,200,000 sqft because of better performance in other metrics this alternative became the best solution.
  • The wall surfaces (rectangular panel with glazing) and roof surfaces (rectangular panel with solar panel option) of the best solution are panelized using Panel.PanelQuad and Quads from Rectangular Grid (different methods are used because the solar panels couln’t be created using Panel.PanelQuad node)
  • Exterior glazing panels frame width percentage can be controlled using these nodes:
  • Appearance of wall panels changes with it’s sun directness values.
  • Sun directness value calculation & change of panel appearances are done in the same way as in Module 4. (Elements.surfaces node is used to get panel surfaces instead of using Panel.PanelQuad, as the roof elements couldn’t be created by PanelQuad node as discussed before)