BIM Department
Apartment Layouts - plug-in for floor plan calculation
ENECA has developed its own solution for the issue by writing Dynamo script and then converted it into a full-scale plugin, which represents a set of actions for automating the necessary tasks to simplify the use.
Why do floor plans cause a lot of pain?

This case tells how we managed to reduce the project development time by 25% due to high-quality management, automation and experience.
When elaborating detailed documentation for residential buildings, an architect should prepare the floor plans. According to standard, they should include the type and area of the flats.

Living area is the total area of the residential room floors of the flat.
Example: For a studio apartment, the living area is determined as the total area of the flat with factor 0.75, and for a residential room including the kitchen equipment - with factor 0.85. (Extracted from SN 3.02.01-2019).
Studio apartment - is a flat of the total area not more than 50 m2 with a planning solution providing for WC, a bathroom or a bathroom/toilet combo; there are no partitions between the kitchen and a residential room, the premises are divided into several zones depending on their functions, one of the zones is used for eating and cooking.
Flat area is the sum of residential room, technical room areas, mezzanines and built-in cabinets,excluding the area of summer premises, cold store rooms, ante-rooms, as well as basements installed under loggias (balconies) of the first floors in multi-family residential houses.
Example: The mezzanine area is included in the flat area according to the mezzanine intention (residential, technical ) determined by the space planning decision made.
Total (design) area is the sum of flat area and flat summer premises area, cold store rooms, as well as the basements installed under loggias (balconies) of the first floors in multi-family residential houses calculated with the following factors:
· 3 — for balconies and terraces;
· 5 — for loggias and basements under loggias (balconies);
· 7 — for glazed loggias (balconies) and cold store rooms;
· 0 — for verandas.
In addition, when calculating the area of the room or mezzanine with an inclined ceiling, the area of the room or mezzanine 1.5 m high up to the inclined ceiling 30° towards the horizon; 1.1 m — with an inclination 45°; and 0.5 m — with an inclination 60° and more is taken into account. In case of intermediate values of the ceiling inclination, the height of the room or mezzanine is determined through interpolation. The area of the floor under the stairs should be taken into account, when the height to their outstanding structures is 1.6 m and more. When the height has a lower value, the area of the room and floor under the stairs is considered in the room area with factor 0.7. When the height has a lower value, the area of the mezzanine is considered in the mezzanine area with factor 0.7.
Without the automation means, an architect used to calculate the total and residential areas manually in Revit. When the design is constantly changing, a huge amount of time is spent on the re-check of these areas. Due to the human factor, a designer, when doing calculations, could forget to multiply the areas by particular factors.

Step 1 — Script

Having studied various ways of solving the problem, we decided to write a script in Python in Dynamo, as it was the quickest and most reliable solution. We took a script developed by ADSK as a basis and then processed and customised it. The main logic of the script is to read in the area parameter and flat room identification parameters, calculate the necessary areas and record them into the other parameters, which will be further entered in Revit using annotation families according to GOST. Thanks to Dynamo Player, the script had also the functions, which made it possible to reassign the factors, when necessary, by hand.

Indices calculated by the script:
· Living area, flats;
· Flat area;
· Total flat area, taking into account the factors;
· Flat type;
· Number of residential rooms.

The script automatically calculates the indices and fills in the room mark. If there are some changes in the design, it is necessary to check, whether the parameters are filled in correctly using the lists and restart the script.
To put that into perspective: It took about 18,5 hours to do a manual calculation in Autocad using VetCAD plugin for 29 4-7-storey residential blocks. If the calculation of the residential complex had been done in Autodesk Revit, due to the automatic calculation of the areas, the time would have been reduced by 2 times. It takes only a couple of seconds to calculate the floor plan using the automation means, but it’s necessary to take into consideration the time needed for filling in the premises parameters.
Taking that into account, it can be assumed that it would take 10 minutes for one block. In perspective, it takes about 20-30 minutes, considering the first filling-in of all parameters.

Step 2 — Plug-in

Finally, we converted Dynamo script for floor plans into a full-scale plugin, where the script launch and setting filling-in functions are divided. Due to that, the plugin can be started just using a hot key. It must bring convenience and time-saving to architects’ work.
The logic of the work remains the same but the parameters are filled in faster due to the translation into the other programming language. The majority of errors that could theoretically arise during the work have been processed.
Therefore, the plugin is notable for greater stability in comparison to the previous solution. I


The automation has enabled architects to calculate the main areas of all residential premises in one click and their amount according to standard, taking into account all the necessary factors. The script makes it possible to save a huge amount of time on the recalculation and verification of the areas, when the design is constantly changing.

More articles: