Building Information Modelling
Generative Design has been slowly invading the AEC industry in the last decade. There are many tools available to make Generative Design easy for users. I made a simple Generative Design project using Refinery. Refinery is a GD tool made by Autodesk which can be used on Dynamo. While Dynamo is a Visual programming tool used in Revit. Since I am using Revit 2020 I used Refinery, whereas Refinery functions are built-in in the Revit 2021 software. A detailed instructional version of this project has been uploaded on YouTube and the link has been provided below.
Floor Area and Cost Optimization using Generative Design
I had a plot area and I needed to construct a building on it. I wanted decide the dimensions of the building based on the costs incurred and the rent-able floor area obtained after construction. So I considered variable dimensions of the building, i.e, length, width and height. These were my Input variables. Since my design decision was based on cost estimation and rent-able floor area, these two parameters were my Outputs.
I had written a basic Dynamo code for taking the input variables on number sliders, visualizing the building as a cuboid, visualizing the boundary wall and also to calculate the output values.
The output values were calculated using Python Script. I made a node called 'Column Calculation' in which I took the height, width and length of the building as inputs. The output of the 'Column Calculation' node is a list of the following values: number of floors, length of the building, width of the building, number of columns, number of columns along length and breadth. This way I could get the column layout of the building for cost estimation.
This list of output values was taken as the input in two Python Script nodes: 'Cost Estimation' and 'Total Floor Area'. The 'Total Floor Area' node was used to calculate the total floor area and this node was defined as an Output for the Generative Design study. The 'Cost Estimation' node was used to calculate the required lengths, areas and quantities of slabs, beams, columns, footing and walls. The rates for building materials was given and the final cost was obtained within the node.
The Dynamo file (.dyn) was exported for generative design and a study was created. The input that should be varied were selected and output constraints were given. The goals determined were to minimize cost estimation and maximize floor area. The population size, number of generations and seeds was used as default.
Generating this study gave a number of design solutions and data. The details of each solution are available on the right side of the window. There are several options to visualize data of the designs generated.
For a detailed instructional video of this project have a look at the YouTube video uploaded and linked below.