Articles

arrow_forward

Scripting

April 15, 2024

Procedural Housing Floor Plan Generation

Sofia Malmsten

CEO & Architect

Automatic floorplan generation

Floor plan design is regarded as on of the major tasks within architecture and housing development. It is a challenge of creating appropriate shapes and locations of rooms, and the process normally requires parallel design steps across different scales. The task can often be complex and results in a time consuming process.

Numerous methods and algorithms have found application across different sectors of the AEC (Architecture, Engineering, and Construction) industry. For instance, various web applications such as Planfinder, Finch3d and Spacio now exist that utilize apartment libraries to determine the most suitable layout for a given space. Typically, these applications rely on manually crafted floorplans. Another avenue being explored involves the use of Generative Adversarial Networks (GANs), though challenges persist with acquiring sufficient training data.

Procedural methods

An alternative to manual floorplan creation involves employing procedural algorithms, akin to those used in the gaming industry, to generate apartment libraries. This investigation explores the adaptation of procedural techniques to support the creation of floor plans within architecture.

The focus is on generative design — a process where architects formulates rules and constrains, and a software generates possible solutions. By defining rules for floor plans the algorithm generates multiple possible room configurations inside a given apartment boundary.

An algorithm is developed in C# and the final product is a script executed in Grasshopper. Either a random selected layout can be used and further developed by an architect or all of the generated solutions can be evaluated and compared. Based on defined evaluation criteria the optimal solution for a given boundary can be selected and then further developed.

Algorithms

The user input for the algorithm is the boundary of the apartment, the façad, an access point and a list of required rooms. The boundary is represented by a poly line in the XY plane and the access point is a point on the boundary represented by an x and y coordinate. The room list represents a list of objects with certain properties presented in the previous chapter

The output is N amount of alternative floor plan layouts (with different adjacency graphs/room placements). The algorithm and the outputs should not be seen as the final result of a floor plan but rather as an investigation and inspiration for further design development

Inputs: apartment shape, facade perimeter, access point

Results

The procedural algorithm is fast and multiple alternatives for a floor plan can be generated in milliseconds. Either a random selected layout can be used and further developed by an architect or all of the generated solutions can be evaluated and compared. Based on defined evaluation criteria the optimal solution for a given boundary can be selected and then further developed.

The result shows that the algorithm can generate floor plan layouts for a wide range of different apartment shapes, independent of building style and typology. It works for apartments in lamella structures, point houses and also for complex quarter structures.

Apartment with different sizes, shapes and room topologies have been selected in order to proof the spread of usability. Interested in knowing more? Contact us for more info! 

Output: several apartment layouts

Output: several apartment layouts