Automation of repetitive tasks when designing an eco-friendly residential home

. The main goal discussed in this article is the creation of tools for the implementation of calculation tasks at the design stage. The proposed method helps to significantly reduce labor, time and money costs both at the design stage and in the subsequent construction of the building. To implement the task, two approaches were used in parametric modeling using two different tools in BIM modeling. With the help of Revit and ArchiCAD, as well as their extensions Dynamo and Grasshopper, solutions were created to speed up the calculations required in the process of implementing projects of varying complexity. The results obtained revealed the main differences in the implementation of one task in two different software packages. Moreover, each of the obtained solutions is flexible and can be used in other projects. Also, these solutions can be upgraded to implement calculations of other characteristics of design solutions in the project. Thus, the task was implemented and applied in the Revit and ArchiCAD project.


Introduction
Today, more and more construction companies switch to information modelling technologies in their workflow. Modern software systems for BIM modelling provide tools that make the process of designing buildings and constructions convenient. Specialists are already using algorithmic design tools, which help to perform a multitude of tasks, adjusting scripts for creating objects with certain input data, conditions, work criteria and restrictions.
Some of the most popular among such applications are the visual programming editors Grasshopper -a Rhinoceros3D plug-in and Dynamo -a Revit plug-in [1][2][3][4]. These tools are frequently used especially for modelling of complex architecture and separate space planning solutions. As a result, complex architectural solutions can be applied to design projects.

Goals and objectives
To make a solution in two different design environments -Revit and ArchiCAD -allowing you to calculate how many skirting boards are required for subsequent installation during construction. The research is based on the house plan and additional software tools are applied. Eventually, four steps should be taken: 1. Examine the project 2. Implement the task in Revit 3. Implement the task in ArchiCAD 4. Compare the obtained results and approaches to implementation

Materials and methods
Revit has significantly simplified the process of creating bills, specifications and project documentation, which is described in the article by N.V. Divin. [5]. Building designers tend to use corporate file templates customized to get the information they need from the model. The problem arises in cases when the information required by the customer cannot be obtained in already prepared building specification. Researchers examine this problem in papers [6][7], referring to the fact that built-in information processing methods are configured for data output only of those objects which are initially available in the Revit toolkit. To solve such problems, third party applications are used [8], which is not convenient for a building designer, BIM specialist, customer or other specialists. Such particular problems can be solved using the built-in Dynamo toolkit. This paper is focused on making a Dynamo script for the automated generation and output of the calculated results for the required number of skirting boards, based on the information model of an individual house. It is rather difficult to do such a dynamic calculation that would reflect all changes in the information model using standard Revit tools. The required information is necessary at the stage of interior decorations and finishing works as well as writing estimates. Moreover, the created tool, with additional customization of certain parts of an algorithm, can be used to obtain other necessary output data from the project. To make calculations convenient and prevent Revit project file from cluttering up, an automatic export of data to Excel file is implemented.
Dynamo is not a stand-alone program, it is a tool, built in Autodesk Revit since 2011. It is used to create scripts within a project. It implies that an engineer needs to set the parameters and relationships between them, based on which connections are configured for modelling 3D objects and construction documents. Constructions are carried out according to the input data entered by users before using the Dynamo script. Dynamo itself is a node-based editor, which means that parameters are transferred from one object to another via "connecting" wires, thus creating relationships between all objects within a script, written in Dynamo, based on which a model or specific documentation is generated inside Revit project.
To demonstrate the way the script works, the model of a 2-storey house ( fig.1.) with the following techno-economic parameters will be employed:   To implement the necessary calculations with the "Room" tool, first and second floor plans were divided into rooms ( fig.2.). The solutions generated in Dynamo can be divided into two parts: Part 1 -to get output of rooms perimeter. In the very first node "Code Block" it is important to specify objects, information about which must be derived for further use. In this case, information output about rooms is implemented. The necessary information will be recorded in the specification "Room_list" created by the script. Since the solution requires to get output of the perimeters of the rooms, the parameter "Perimeter" and name of the room in the second node "Code Block" are specified ( fig.3.). Thus, a separate specification "Vedomost_rooms" is created ( fig.4.). It is necessary for the subsequent export to an Excel file. The next step of exporting the output data from the specification is to export the data into a separate file ( fig.5.). A text document is inconvenient for subsequent calculations, therefore the formed data in it must be exported to a separate Excel file.
Data export to an Excel file ( fig.6.) -to export data to an Excel file, data from the file "Rooms.txt" is exported to the blank file "Room_List" in the File_Path node. For convenience, a "Perimeters" sheet in the node "String" is created in the .xlsx file and all the data about perimeters is collected starting from the cell A1 (set using two "Number" nodes, in which parameters 0 and 0 indicate the address of the cell A1).  First, it is important to specify that "Doors" is a separate specification in the "Code Block" node, and in this case the data needed is "Width" and "Name" of each door. Export to Excel file ( fig.8-fig.8.1.) is based on the above principle. For convenience, export will be made to the same file "Vedomost_rooms", but to another sheet named "Vedomost_doors". All the data necessary for the calculations have been transferred. Thus, the built-in toolkit in the Revit software package allows to output data, which is not provided by default. Thereby, it is possible to write a more accurate estimate based on the complete building / construction model.
Consequently, to calculate the skirting boards in Excel file it is important to copy perimeters of the rooms as well as the widths of the doors. Add the perimeters of the rooms, add the widths of the doors. Subtract the sum of the widths from the sum of the perimeters. Enter the required length of the skirting board. Divide the difference between the amounts by the length of one skirting board, thus obtaining the required number of skirting boards for the project. Round up in case there is a remainder ( fig. 9.). Fig. 9. Calculation of the required number of skirting boards.
The principle of automating calculations of the number of skirting boards required for interior decorations and finishing works of an individual residential building with the help of Grasshopper is slightly different. Let us transfer the project from Revit to ARCHICAD using IFC file format. Check interpretation of the model elements and unlock the layers, containing the objects required for calculations -in our case, this is the layer A-AREA-____-OTLN, which contains the elements of Zone type ( fig. 10.). Fig. 10. Layer adjustments after project export in ifc format.
In the ARCHICAD environment it is possible to output data of the elements to interactive catalogues. For instance, for the Type of an Element -Zone can be output to Zone Number, Zone Name, Zone Perimeter, Number of Doors, Width of Doors, Number of Corners, Amount of Angles etc.
The resulting scheme can be saved in .xlsx format and subsequently used for calculations in MS Excel. However, our task is to get the final output: the perimeter of each zone without the width of all doors in it, as well as the calculation of the number of skirting boards for each zone and the total number of skirting boards per project. Let us use Grasshopper and transfer the above list of data to MS Excel.
Using nodes Zone -Deconstruct Zone -Extract Zone Settings it is possible to get Number and Name for each zone, other properties are of no importance, but there is an opportunity to output additional custom properties with the help of Extract Property Settings ( fig.11.). Fig. 11. Searching properties in the Grasshopper environment.
In the ARCHICAD environment we will set up a new property "Perimeter", the value of which will be indicated by the formula with a parameter "the General Perimeter of the Zone". Furthermore, new property settings can be filled not only with such data as Number of Doors, Width of Doors, but with calculation of additional parameters, e.g. the perimeter without the width of the doors, the number of skirting boards. These calculations can be as well specified using nodes. For the project mentioned above, with the help of nodes we will calculate only the number of skirting boards for each zone and the total number of skirting boards, and the rest of the data will be generated through custom properties (Fig. 12). A similar script will be used for the 2nd floor. Let us calculate the number of the skirting boards, which will depend on parametrically variable length of one skirting board ( fig.13.).  Automating the calculation of the skirting boards in the ARCHICAD -Grasshopper bundle required more preliminary settings in the information model. However, it allowed to take into account doorways when calculating the skirting boards of each zone, as well as managed to unload the number of corners (a large number of corners in the hall is explained by its complex geometry and the presence of a floor-to-ceiling window). The width of the door that is taken into account in these calculations differs, because in Revit this parameter indicated the doorway. Some perimeters uploaded from Revit and ARCHICAD differ slightly.

Results
Thus, it can be concluded that the approach to calculate the same elements in a project differs due to the organization of the software. Dynamo is linked through data which is output according to specifications configured in the script. Subsequently the user is able to export the data in a convenient format to make the necessary calculations, therefore the script is essential for automating these processes, as well as saving time. In ArchiCAD, the approach differs in that the user can output the necessary data directly into the project, using the custom properties of the elements and formulas to make the necessary calculations. Therefore, in order to automate the process of calculations, as well as the simultaneous export of data, you still cannot do without a script created in Grasshopper.

Conclusion
In conclusion, it is worth considering that all calculations and recordings take place in real time in both cases, so there is no need to restart the project to get updated results, which saves time significantly. At the same time, the created solution is flexibly configurable, therefore it is applicable for calculating other materials.