Magnetizing Floor Plan Generator

Magnetizing Floor Plan Generator

Presented project can be considered as an exploration of various ways of generating floor plans for public
buildings. Public buildings were chosen because of their complex and non-standardized structure. The aim was to
try different approaches, choose the best methods and incorporate them into my own algorithm.

Project Team:
Egor Gavrilov (Author), Reinhard König (Supervisor), Sven Schneider (Supervisor), Martin Dennemark (Supervisor)

Introduction

For architects as well as developers and urban planners working on the floor plans or estimating the shape and dimensions of large buildings is always a challenge. This task requires some knowledge and what is more important – even with understanding of the process it is a very time-consuming task. One should take into consideration the arrangement of all rooms as well as adjacencies and connections of main spaces. Generally, for every different shape or position of the building’s footprint the whole new room structure should be created.

The statement was put on as a starting point: Each of the rooms in a building is somehow accessible from any other room. It means that the whole communication structure is interlinked and thus forms the core. It could be said that the first step of the generation would be developing an evacuation plan, which can later be converted into more intelligible communication network.

Every room is extended by a corridor, which goes along one, two or four of its sides. Rooms are placed one-by-one in such a way, that every placed room should be attached to the main corridor structure with its own corridor. Additionally, every room should be adjacent with all required rooms. This process continues until there is no suitable space left for the next room. After that the new iteration starts and a new variant is generated. Simultaneously previously computed solutions are developed with the help of quasi-evolutionary algorithm. Eventually, the generator produces a huge number of solutions and then the best one is chosen, according to the evaluation function (generally number of the rooms placed or the total area of the rooms placed provide the most comprehensible evaluation results).

Generation Algorithm

// PREPARE INPUT

  •  rotate boundary
  •  sort rooms by their connectivity
  • find first room

// ITERATION 1

  • Place 1st room
  • Find the room that is connected with 1st room -> place it
  • Find the room that is most interconnected with currently placed rooms -> place it
  • If the room can’t be placed -> stop iteration and start over
  • Generate couple of solutions in this way -> choose 5 best of them and remove others

// ITERATION N

New iteration: improve previous solutions and generate new ones:

  • If (iteration % 3 == 0) -> Take all previous solutions, remove last 1-5 rooms and try to place them differently again.
  • If possible to place more rooms than originally, then replace old solution with this one.
  • If (iteration % 3 != 0) -> develop new solution

// END OF ITERATIONS

  • Generate couple of solutions in this way -> choose 5 best of them and remove others
  • Choose the best solution and generate output from it
  • If needed, remove dead ends and convert halls to corridors

User interface

Ease of use was considered as a crucial feature since the beginning of a project. Therefore, a simple solution for managing a room program of a house was created for the grasshopper environment. It enables user to set basic parameters, such as room name, area, room connections, entrance location, type of space (room/hall).

Expreimentation

eCAADe2018 Workshop | Urban Analysis, Synthesis and Exploration with Grasshopper

eCAADe2018 Workshop | Urban Analysis, Synthesis and Exploration with Grasshopper

DeCodingSpaces workshop on Urban Analysis, Synthesis and Design Exploration in Grasshopper hosted by: eCAADe2018, Poland – Łódź, 18.September 2018

In this workshop, you will learn how to generate urban fabric variants, perform quantitative analysis on it, as well as optimize the generated variants and expore the cooresponding solution space. For this purpose you will be introduced to various components from the DeCodingSpaces Toolbox for Rhino/GH. You will learn how to analyse Street Networks effectively to compute real life phenomena such as the distribution of functions in a city or the movement patterns of citizens. Moreover, you will be introduced to the various methods for the synthesis of urban morphology (street networks, plots, and buildings) and how they connect to the analysis methods. Finally, you will also be introduced to design space exploration tool for beeing able to compare the generated solution systematically. The presented DeCodingSpaces-Toolbox for Grasshopper is a collection of analytical and generative components for algorithmic architectural and urban planning. The toolbox is free software released by the Computational Planning Group (CPlan). It integrates established urban analysis methods, extends them with new features and introduces new methods for the analysis and synthesis of urban morphology. In the first part of the workshop, you will learn to use the street network analysis components and how the computed quantities relate to real life phenomena such as the distribution of functions in a city or the movement patterns of citizens. In the second part, we will implement a dynamic urban simulation in Grasshopper. For this purpose, we will use the results from the network analysis and compute local attractivity values for different urban functions like the population or workplaces, which interact with each other based on the corresponding distances. In the third part, we will demonstrate functions of the DeCodingSpaces-Toolbox for the synthesis of urban morphology (street networks, plots, and buildings), which is directly connected to the analysis and the simulation parts. In the last part, we use a Design-Space-Exploration tool (DSE) that presents the generated solutions in various ways.

Presentation
Workshop files

Part 1 – Analysis

Isovist

01| 2D ISOVIST SINGLE POINT

Analysis 2d, 3d Isovist


Download Grasshopper file

04| 2D ISOVIST OBJECT VISIBILITY

Analysis 2d, 3d Isovist


Download Grasshopper file

02| 2D ISOVIST PATH

Analysis 2d, 3d Isovist


Download Grasshopper file

05| 3D ISOVIST

Analysis 2d, 3d Isovist


Download Grasshopper file

03| 2D ISOVIST FIELD

Analysis 2d, 3d Isovist


Download Grasshopper file

Street Network Analysis

01| CITY GRAPH STARTING EXAMPLE

Street Network Analysis


Download Grasshopper file

04| CITY GRAPH ONE WAY ROADS

Street Network Analysis


Download Grasshopper file

02| PARK EDGE WEIGHTING

Street Network Analysis


Download Grasshopper file

05| CITY GRAPH CENTRALITY VERTEX WEIGHTING

Street Network Analysis


Download Grasshopper file

03| CITY GRAPH BUS EDGE WEIGHTING

Utilities

01| NETWORK EDITING TOOLS

02| ANALYSIS GRID

03| CUSTOM OFFSET

Part 2 – Generation

01| STREET NETWORK FROM GUIDE LINE

02| STREET NETWORK FROM GRID

03| STREET NETWORK SYNTHESIS

Part 3 – Exploration

01| DESIGN SPACE EXPLORATION

Part 4 – Hands On, Generate Analyze & Explore

Weimar Urban Layout Generator

Impressions of the Workshop Results

http://infar-vm.architektur.uni-weimar.de/dse2/dse
The session ID is: YKIKFUCBTEGlqI6g

Pin It on Pinterest