{"id":12853,"date":"2022-11-30T10:08:29","date_gmt":"2022-11-30T09:08:29","guid":{"rendered":"http:\/\/www.keris-studio.fr\/blog\/?p=12853"},"modified":"2022-11-30T10:10:15","modified_gmt":"2022-11-30T09:10:15","slug":"abita-grasshopper","status":"publish","type":"post","link":"https:\/\/www.keris-studio.fr\/blog\/?p=12853","title":{"rendered":"ABITA+ Grasshopper"},"content":{"rendered":"<h2>Abita+ GH<\/h2>\n<p>Abita+ GH is a generative apartment planner for grasshopper. It automatically creates solutions from investor&rsquo;s briefs<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/ABITA-EXPLOR-3D.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12875\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/ABITA-EXPLOR-3D.gif\" alt=\"\" width=\"1692\" height=\"944\" \/><\/a><!--more--><\/p>\n<h2>Historical background<\/h2>\n<p>The first version of Abita+ dates back to 2001. Concepts are, in the computer world as in other domains, concepts that are discovered and forgotten, then rediscovered in the belief that they are innovative or original. At the dawn of the 20th century, to explore architectural solutions, there were three ways. The first was to mimic analogical tools and methods. This is the virtual drawing board such as AutoCad for example. The intellectual process is the same as for hand drawing, it is only the ease of corrections, re- editing and duplication that make it a very productive tool. The second path, less known and somewhat forgotten, is that of declarative modeling. In this method, the idea is to start with the expected result and work backwards through the inductive chain. For example, I declare that in the morning I want to have sunshine in my room and automatically a set of solutions in a set of constraints will indicate how this is possible. The main issue with this method at the time was the semantic aspect. It was difficult to choose descriptors, to have the right vocabulary, to solve what the human brain is capable of doing so well, to discriminate, sort, and prioritize information so that nuance is not complexity.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/g-abita-plus-abita-images-proprietes-jpg.jpeg\" alt=\"G:\\ABITA-plus\\abita\\images\\proprietes.jpg\" \/><\/p>\n<p>For example, if I say I want a big living room, will my mental image be similar to my neighbor\u2019s or not? The concept of semantic descriptors leading to graphical solutions has recently resurfaced with extraordinary force after a long silence. By the time we write these lines, the power of these tools will have surpassed our wildest dreams. The third category in which we present what we present in this article is that of generative tools (sometimes called genetic). Many solutions are proposed quickly, whereas the human brain would take time to elaborate on just one. The decision is then made in the optimization of solutions through successive refinement until the most satisfactory solution is found. Contrary to some quick assumptions or comments, it is not a matter of finding the optimal solution, which would see all cursors pushed to their maximum, but of responding to a balance of options that prioritizes certain parameters over others.<\/p>\n<h2>Abita+ version 1<\/h2>\n<p>Abita +\u2019s first version was created between 2000 and 2001. The concept was submitted to a national innovation competition, which we won, and which provided us with a substantial financial budget to develop the application. The principle is as follows: we take a promoter\u2019s investment brief and propose a large number of feasibility that correspond to his brief. See also <a href=\"https:\/\/www.keris-studio.fr\/blog\/?p=12016\">https:\/\/www.keris-studio.fr\/blog\/?p=12016<\/a><\/p>\n<p>The input data are as follows<\/p>\n<ul>\n<li>&#8211; Percentage of each type of housing: 1 room, 2, 3, 4 to 5.<\/li>\n<li>&#8211; Surface for each type of housing: between 30 and 15m\u00b2 for one room<\/li>\n<li>&#8211; And finally value for each type of housing.<\/li>\n<\/ul>\n<p>This is summarized as follows<\/p>\n<table>\n<tbody>\n<tr>\n<td>Type<\/td>\n<td>Value<\/td>\n<td>Surface Mini<\/td>\n<td>Surface Max<\/td>\n<td>Quantity Min<\/td>\n<td>Quantity Max<\/td>\n<\/tr>\n<tr>\n<td>T1 (one room)<\/td>\n<td>70<\/td>\n<td>30<\/td>\n<td>45<\/td>\n<td>0<\/td>\n<td>100<\/td>\n<\/tr>\n<tr>\n<td>T2<\/td>\n<td>80<\/td>\n<td>45<\/td>\n<td>60<\/td>\n<td>0<\/td>\n<td>100<\/td>\n<\/tr>\n<tr>\n<td>T3<\/td>\n<td>100<\/td>\n<td>60<\/td>\n<td>65<\/td>\n<td>0<\/td>\n<td>100<\/td>\n<\/tr>\n<tr>\n<td>T4<\/td>\n<td>50<\/td>\n<td>75<\/td>\n<td>85<\/td>\n<td>0<\/td>\n<td>100<\/td>\n<\/tr>\n<tr>\n<td>T5<\/td>\n<td>40<\/td>\n<td>85<\/td>\n<td>100<\/td>\n<td>0<\/td>\n<td>100<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>It means that we need more T3 than T2 and T5 will be the most difficult apartments to sell because of it\u2019s size.<\/p>\n<p>Then the idea is to sketch a very basic contour with the structural layout in order to have a very basic shape to start with.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/g-abita-plus-abita-images-etape01-gif.gif\" alt=\"G:\\ABITA-plus\\abita\\images\\etape01.gif\" \/><\/p>\n<p>It is then possible to enhance the drawing by adding more cells or by sculpting the contour. To help the process, we try as much as possible to follow a structural pattern. For instance in France, a concrete structure will have a distance of a beam every 6.4 which matches with an underground carpark.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/g-abita-plus-abita-images-etape05-gif.gif\" alt=\"G:\\ABITA-plus\\abita\\images\\etape05.gif\" \/><\/p>\n<p>The cells codification will follow this logic:<\/p>\n<table>\n<tbody>\n<tr>\n<td><img loading=\"lazy\" decoding=\"async\" width=\"31\" height=\"31\" class=\"wp-image-12856\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-3.jpeg\" \/><\/td>\n<td>By default a cell is free, i.e. it will be as- signed to the surface of an apartment.<\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" decoding=\"async\" width=\"29\" height=\"28\" class=\"wp-image-12857\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-4.jpeg\" \/><\/td>\n<td>The possible common areas are cells that can either be assigned to circulation or to an apartment.<\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" decoding=\"async\" width=\"29\" height=\"27\" class=\"wp-image-12858\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-5.jpeg\" \/><\/td>\n<td>The imposed common areas are necessarily circulation areas.<\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" decoding=\"async\" width=\"28\" height=\"26\" class=\"wp-image-12859\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-6.jpeg\" \/><\/td>\n<td>The entrances\/exits correspond to the entrance and exit areas.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>We can see on the following image, one solution out of a hundred with 2 one room apartment, one with two rooms, and 2 with three rooms. As it is ranked in the 79th position with a score of 81,5 %, it means this reseult is average, but still could be chosen for several other reasons.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"412\" class=\"wp-image-12860\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-7.png\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-7.png 600w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-7-300x206.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>The application allows a maximum of 100 floors but will not follow a logic optimization of HVAC\/ATU. Services like garages for bikes, technical rooms are also not being taken into consideration but could be coded as common areas for example.<\/p>\n<h2>A drop of theory<\/h2>\n<p>The functions provided by the application will take the form of \u201cfunctional blocks\u201d for Grasshopper, with the following characteristics, modelled on the first Abita+ project<\/p>\n<ul>\n<li><em>&#8211; \u201csolver\u201d block: allows to solve the feasibility problem.<\/em><\/li>\n<li><em>&#8211; input: shapes, layouts and coordinates of the surfaces in which to work, with their type (free cell, possible commons, imposed commons, entrances\/exits) as well as the processing parameters (the possible types of housing, with for each their value, minimum and maximum surface, and minimum and maximum quantity). It should also be possible to manage the floors;<\/em><\/li>\n<li><em>&#8211; output: a list of solutions, where a solution is defined by a set of surfaces corresponding to housing.<\/em><\/li>\n<li><em>&#8211; block \u201csurface\u201d: allows to define an entry surface with the type of surface (free cell, possible common possible, imposed common, entries\/exits);<\/em><\/li>\n<li><em>&#8211; block \u201cparameters\u201d : to define the calculation parameters.<\/em><\/li>\n<\/ul>\n<p>Originally, the Abita+ solution (considering only the Solver.exe and Visualizer.exe programs) was based on the following principle:<\/p>\n<ol>\n<li><em>creation of a file in .abi format to describe the geometry of the problem (i.e. the definitions of the points, elements, and floors as well as the parameters for solving the problem) ;<\/em><\/li>\n<li><em>use the program Solver.exe to process the previous file and generate a new .abi file, also containing the geometry but also the different solutions of the problem, with their values;<\/em><\/li>\n<li><em>use the program Visualizer.exe to visualize this last file and display graphically the different solutions proposed by the solver.<\/em><\/li>\n<\/ol>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/ABITA-logos.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12877\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/ABITA-logos.jpg\" alt=\"\" width=\"453\" height=\"226\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/ABITA-logos.jpg 453w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/ABITA-logos-300x150.jpg 300w\" sizes=\"auto, (max-width: 453px) 100vw, 453px\" \/><\/a><\/p>\n<p>The new version, Abita4Rhino, is used as a set of Grasshopper components in the Rhino software. The simplest scenario for the user is as follows:<\/p>\n<ol>\n<li><em>create a set of surface elements in Rhino, then import them into Grasshopper ;<\/em><\/li>\n<li><em>build the geometry of the problem (points, elements, floors) using the functional blocks provided by Abita4Rhino by Abita4Rhino ;<\/em><\/li>\n<li><em>solve the problem using the \u201csolver\u201d block, using the code of the AbitaPy project;<\/em><\/li>\n<li><em>retrieve the list of calculated solutions and choose one of them as output of the block;<\/em><\/li>\n<li><em>export the solution in Grasshopper, then display it in Rhino.<\/em><\/li>\n<\/ol>\n<h2>Application<\/h2>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-8.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12861 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-8.jpeg\" alt=\"\" width=\"1280\" height=\"708\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-8.jpeg 1280w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-8-300x166.jpeg 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-8-1024x566.jpeg 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-8-768x425.jpeg 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-8-672x372.jpeg 672w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/a><\/p>\n<p>The solver was recorded in Python 3.7 from a C++ code made 20 years ago. Only a few standard Python libraries were used: typing, ply, random, math, and statistics. However, since Grasshopper only runs in version 2.7 (IronPython) we have translated the solver from Python 3.7 to Python 2.7.<\/p>\n<p>An overlay was done with Grasshopper, a programming environment linked to the Rhino Rhino architecture software.<\/p>\n<p>There is a set of nine \u201cUser Objects\u201d, which are Grasshoppers boxes that behave a bit like a package, named AbitaPy2.<\/p>\n<p>We will now review the workflow step by step. First thing first, we need to draw a basic shape that will represent what is possible to build on site. Then, we define bearing walls, entrances and required circulations in the project. This gives \u201ccells\u201d in which the project will sit. The next figure shows a very basic layout that we will use for the explanations. The layout is drawn in Rhino or could be described in Grasshopper. Each cell shall be described by it\u2019s vertices and we will feed the Solver with a list of points describing Polygons.<\/p>\n<p>The Solver will need the Points Pxx, for instance P0 0.00 10.00 where 0 and 10 are X,Y coordinates and then a list of descriptors.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-10.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12863 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-10.jpeg\" alt=\"\" width=\"801\" height=\"310\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-10.jpeg 801w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-10-300x116.jpeg 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-10-768x297.jpeg 768w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><\/a><\/p>\n<p>Anyway. In grasshopper, we can prepare the polygons as a list of points, check that the first point is not repeated as the last one, of so, it has to be removed, and we can feed the first component. A first set is created with what is called \u201cFree Surface\u201d than a second set of \u201cPossible Common\u201d which are spaces that can be either for apartments or for circulation, then \u201cForced Circulations\u201d and finally \u201cEntrances\u201d.<\/p>\n<p>Then final description can look like this one :<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-11.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12864 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-11.jpeg\" alt=\"\" width=\"799\" height=\"564\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-11.jpeg 799w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-11-300x212.jpeg 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-11-768x542.jpeg 768w\" sizes=\"auto, (max-width: 799px) 100vw, 799px\" \/><\/a><\/p>\n<p>Then all Elements will feed the Floor Component. As we can have several floors, we can manage with the floors, the same way.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-12.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12865 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-12.jpeg\" alt=\"\" width=\"899\" height=\"761\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-12.jpeg 899w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-12-300x254.jpeg 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-12-768x650.jpeg 768w\" sizes=\"auto, (max-width: 899px) 100vw, 899px\" \/><\/a><\/p>\n<p>We get a message saying that the floor is created at level 0 with in this case 18 elements. We then have the possibility to visualize every separate parts of our layout, the \u201cShow Problem\u201d Component.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-13.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12866 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-13.jpeg\" alt=\"\" width=\"1053\" height=\"625\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-13.jpeg 1053w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-13-300x178.jpeg 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-13-1024x608.jpeg 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-13-768x456.jpeg 768w\" sizes=\"auto, (max-width: 1053px) 100vw, 1053px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-14.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12867 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-14.jpeg\" alt=\"\" width=\"801\" height=\"268\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-14.jpeg 801w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-14-300x100.jpeg 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-14-768x257.jpeg 768w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><\/a> The color code helps to visualize the different areas.<\/p>\n<p>In this example we set Green as Free Spaces, meaning available for the apartments, Yellow as spaces that can be attributed either to apartments either to circulations and Purple, Entrances.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-15.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12868 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-15.jpeg\" alt=\"\" width=\"957\" height=\"998\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-15.jpeg 957w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-15-288x300.jpeg 288w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-15-768x801.jpeg 768w\" sizes=\"auto, (max-width: 957px) 100vw, 957px\" \/><\/a><\/p>\n<p>We then write the .abi file which describes the geometry and attributes.<\/p>\n<p>In order to illustrate the structure of the .abi file we\u2019ve created a very light example with 2 zones :<\/p>\n<table>\n<tbody>\n<tr>\n<td>A1<\/td>\n<td>-1<\/td>\n<td colspan=\"4\" rowspan=\"4\"><\/td>\n<\/tr>\n<tr>\n<td>A2<\/td>\n<td>-1<\/td>\n<\/tr>\n<tr>\n<td>A3<\/td>\n<td>100<\/td>\n<\/tr>\n<tr>\n<td>A4<\/td>\n<td>0.00<\/td>\n<\/tr>\n<tr>\n<td>T1<\/td>\n<td>70.00<\/td>\n<td>30.00<\/td>\n<td>45.00<\/td>\n<td>0<\/td>\n<td>1000<\/td>\n<\/tr>\n<tr>\n<td>T2<\/td>\n<td>80.00<\/td>\n<td>45.00<\/td>\n<td>60.00<\/td>\n<td>0<\/td>\n<td>1000<\/td>\n<\/tr>\n<tr>\n<td>T3<\/td>\n<td>100.00<\/td>\n<td>60.00<\/td>\n<td>75.00<\/td>\n<td>0<\/td>\n<td>1000<\/td>\n<\/tr>\n<tr>\n<td>T4<\/td>\n<td>50.00<\/td>\n<td>75.00<\/td>\n<td>85.00<\/td>\n<td>0<\/td>\n<td>1000<\/td>\n<\/tr>\n<tr>\n<td>T5<\/td>\n<td>40.00<\/td>\n<td>85.00<\/td>\n<td>100.00<\/td>\n<td>0<\/td>\n<td>1000<\/td>\n<\/tr>\n<tr>\n<td>F0<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>P0<\/td>\n<td>0.00<\/td>\n<td>0.00<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>P1<\/td>\n<td>4.00<\/td>\n<td>0.00<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>P2<\/td>\n<td>4.00<\/td>\n<td>5.00<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>P3<\/td>\n<td>0.00<\/td>\n<td>5.00<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>P4<\/td>\n<td>7.00<\/td>\n<td>0.00<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>P5<\/td>\n<td>7.00<\/td>\n<td>5.00<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>E0<\/td>\n<td>4<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<td>2<\/td>\n<td>3<\/td>\n<\/tr>\n<tr>\n<td>E1<\/td>\n<td>4<\/td>\n<td>1<\/td>\n<td>4<\/td>\n<td>5<\/td>\n<td>2<\/td>\n<\/tr>\n<tr>\n<td>X1<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The Axx sections fixes the number of iterations and the number of solutions we\u2019re aiming. This can be changed with a specific component. The Txx section describes the apartment\u2019s typology. As we said before, T1 is one room and in this example it goes from 30 to 45m\u00b2. The Fxx section describes the number of floors. Here we have only one. The Pxx section lists all points with coordinates X and Y. The Exx section lists the polygones, the first number gives the number of vertices and the other numbers give the list of points from the previous list. 0 refers to point P0. The Xxx section says that the polygon 1 is Entrance.<\/p>\n<p>Ones done, the .abi files is sent to the Solver.<\/p>\n<p>Ones solutions are calculated, we can visualize them<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-16.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12869 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-16.jpeg\" alt=\"\" width=\"800\" height=\"286\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-16.jpeg 800w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-16-300x107.jpeg 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-16-768x275.jpeg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>with the solution explorer which is called \u201cShow Solutions\u201d. With the cursor we scroll through the given solutions.<\/p>\n<p>Using Grasshopper allows to design the way we<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-17.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12870 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-17.jpeg\" alt=\"\" width=\"801\" height=\"515\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-17.jpeg 801w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-17-300x193.jpeg 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-17-768x494.jpeg 768w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><\/a><\/p>\n<p>want to represent the results. Here we chose 3D by outlining the surfaces boundaries and extruding them.<\/p>\n<p>As it\u2019s editable geometry many information can be extracted as surface, dimensions, linear of openings and so on.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"288\" class=\"wp-image-12871\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-18.jpeg\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-18.jpeg 800w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-18-300x108.jpeg 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-18-768x276.jpeg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<h2>Discussion<\/h2>\n<p>Abita+ is a generative tools for sketching. It does not give the one and only solution but helps to find one good solution among at least a hundred. As it is Grasshopper integrated, it offers a wide range of possibilities.<\/p>\n<p>First, the starting geometry can be derived from a previous evaluation made with solar or visual constraints that can be realized in Grasshopper. The resulting geometry will be then imported into Abita+ to evaluate the number of apartments we can obtain.<\/p>\n<p>We can also do it the other way round, evaluating the solar gains (for example) from a given solution by Abita+, but it gives more meaning in terms of stainability workflow to star with the environmental constraints to elaborate the layout.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1050\" height=\"582\" class=\"wp-image-12872\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-19.jpeg\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-19.jpeg 1050w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-19-300x166.jpeg 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-19-1024x568.jpeg 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-19-768x426.jpeg 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-19-672x372.jpeg 672w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-19-1038x576.jpeg 1038w\" sizes=\"auto, (max-width: 1050px) 100vw, 1050px\" \/><\/p>\n<p>One other output would be to use the Galapagos component in Grasshopper to browse into the results with more complex criteria. The first version of Abita+ had a tool to evaluate the results in terms of performances. In this new version, this is dedicated to Grasshopper\u2019s components, existing ones and those to come.<\/p>\n<p>This version still bears some errors and strange results sometimes come out. In the \u201crules\u201d given to the algorithm, each apartment shall have a connection to the circulations and to the outside wall. In this version, it sometimes not follow the rules. A new version will be developed soon to track those bugs.<\/p>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/ABITA-SOL-EXPLOR.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-12878\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/ABITA-SOL-EXPLOR.gif\" alt=\"\" width=\"616\" height=\"452\" \/><\/a><\/p>\n<h2>The future of design.<\/h2>\n<p><a href=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-20.jpeg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12873 size-full\" src=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-20.jpeg\" alt=\"\" width=\"1652\" height=\"941\" srcset=\"https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-20.jpeg 1652w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-20-300x171.jpeg 300w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-20-1024x583.jpeg 1024w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-20-768x437.jpeg 768w, https:\/\/www.keris-studio.fr\/blog\/wp-content\/word-image-12853-20-1536x875.jpeg 1536w\" sizes=\"auto, (max-width: 1652px) 100vw, 1652px\" \/><\/a><\/p>\n<p>Abita+ is not the only tools to automatically design apartments or to optimize space allocation. Our version was first release in 2001, but further solutions prompt during those 20 years. Architect Mazlin Ghazali produced impressive examples of parametric design for architecture with self organizing spaces in 2007 (https:\/\/<a href=\"http:\/\/www.youtube.com\/watch?v=EhjUli4cYEg&amp;ab_\">www.youtube.com\/watch?v=EhjUli4cYEg&amp;ab_<\/a> channel=MazlinGhazali)<\/p>\n<p><iframe loading=\"lazy\" title=\"Associative Design\" width=\"474\" height=\"356\" src=\"https:\/\/www.youtube.com\/embed\/EhjUli4cYEg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Voxopolis is another pionner example among many that brings an elegant solution for self organizing spaces. Voxopolis (<a href=\"http:\/\/ cerojugadores.com\/archives\/978\" data-wplink-url-error=\"true\">http:\/\/ cerojugadores.com\/archives\/978<\/a>) is a research project integrated in the MAS CAAD (Master of Advanced Studies, Computer Aided Architectural Design) in Zurich that studies the construction of the city from logarithmic operations based on the theory of zero actors. This project was described in 2013.<\/p>\n<p>Computational Design spread in many major software. Following Grasshopper principle, we have Dynamo in Revit which is fully integrated to the Autodesk\u2019s flagship. Archicad proposes it\u2019s own module called Paramo which is not as developed as Grasshopper, but surely will be. Interestingly Blender has launched Geometry Nodes which is also a node based design tool. Many examples refers to parametric architecture.<\/p>\n<p>We won\u2019t list all solutions we\u2019ve seen, but two of the most advanced could be the one produced by Finch Architects in Austria (<a href=\"http:\/\/finch3d.com\">finch3d.com<\/a>) and SpaceMakerAI <a href=\"http:\/\/www.spacemakerai.com\">(www.spacemakerai.com ).<\/a> SpacemakerAI offers a wide range of tools including spatial allocation of apartments based on investor\u2019s briefs but also, climate studies, thermic performances and more. Is it replacing architects ? Obviously not, but it changes the design process by introducing at a very early stage stainability by helping complex evaluations like sun paths, shadow casting, thermic optimizations and so on.<\/p>\n<p>Close future will incorporate Artificial Intelligence in the Design WorkFlow, that\u2019s what we need to be ready for.<\/p>\n<h2>Acknowledgment<\/h2>\n<p>The development of Abita+ was originally made in C++ by Michel Ferry (MFRDC) under the Laurent Lescop\u2019s specifications. The original interface has been developed by <a href=\"https:\/\/www.mgdesign.fr\/#\/\">MGDesign<\/a>. The Grasshopper version has been developed under the supervising of Myriam Serviere, Vincent Tourre. The development team is Alexandre Boulanger, Alexis Delage, Anne- Sophie Jourlin, L\u00e9na\u00eblle Le Roy et Louis Pautrat.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Abita+ GH Abita+ GH is a generative apartment planner for grasshopper. It automatically creates solutions from investor&rsquo;s briefs<\/p>\n","protected":false},"author":2,"featured_media":12879,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,190,25,448,87,8,174],"tags":[525,528,57,527,526,511,175],"class_list":["post-12853","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-3d","category-architecture-2","category-etats-de-lart","category-grasshopper","category-linkedin","category-methodologie","category-simulations","tag-abita","tag-appartement","tag-architecture","tag-automatic-planning","tag-brief","tag-generative-design","tag-grasshopper"],"_links":{"self":[{"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/12853","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12853"}],"version-history":[{"count":4,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/12853\/revisions"}],"predecessor-version":[{"id":12881,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/12853\/revisions\/12881"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=\/wp\/v2\/media\/12879"}],"wp:attachment":[{"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12853"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12853"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.keris-studio.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12853"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}