Generative Design for Building Information Modeling [Extended Abstract]

Generative Design for Building Information Modeling [Extended Abstract]

1 Generative Design for Building Information Modeling [Extended Abstract] Guilherme Barreto Instituto Superior Tecnico´ [email protected] Abstract—Generative Design (GD) is an algorithmic-based approach to design that allows the generation of forms and shapes through algorithms. It has been vastly explored with the Computer-Aided Design (CAD) paradigm, but not to the same extent with the Building Information Modeling (BIM) paradigm. Therefore, we propose a solution that allows the exploration of GD using the BIM paradigm, taking full advantage of its capabilities. The solution is an extension of Rosetta, a GD environment that supports a wide range of back- ends, namely, OpenGL and CAD applications. We expand Rosetta’s abstraction layer with modeling operations capable of producing models on another BIM application, ArchiCAD, having into consideration portability between the already supported back-ends. Finally, we evaluate our solution in terms of its adequacy, portability, performance, and support for ArchiCAD-specific operations. Index Terms—Programming; Generative Design; Computer-Aided Design; Building Information Modeling; Portability; ArchiCAD. F 1 INTRODUCTION of repetitive and monotonous tasks; the improvement of the process to create complex geometry; and faster Computer-Aided Design (CAD) applications consist exploration of alternatives to the original design [8]. mainly of drafting and modeling systems, used for GD stimulated the development of tools that allow blueprints, elevations, and sections of buildings. How- its exploration for CAD applications. Some examples ever, most modern CAD applications also support the of such tools are Grasshopper, Visual LISP, and Rhino- design of 3D models. When compared to the traditional Script. Due to the recent adoption of BIM tools, some pen and paper approach, these applications provide a applications were also developed to support it, such as more efficient working process in architectural design Lyrebird, Rhino-Grasshopper-ArchiCAD and Dynamo. and better documentation [1]. The shift to CAD also The majority of these tools rely on visual metaphors, stimulated the desire for more complex structures, due that offer a beginner-friendly experience. Although very to facilitating their conception [2]. appealing for developing small programs, visual pro- More recently, Building Information Modeling (BIM) gramming languages can have scalability issues, making applications have been replacing CAD tools. These, as them difficult to understand, use, and modify [9]. Fur- defined by the United States BIM Standard [3], are a thermore, some tools can become obstacles themselves, digital representation of a building, rich with informa- due to performance issues when dealing with more tion that can be used throughout a building’s life-cycle. complex and larger programs, that typically make the The CAD and BIM paradigms are very different, and user interface unresponsive. using the latter involves some significant shifts in design We propose a solution that allows the exploration of methodologies. For example, while CAD tools mostly GD with BIM using a programming environment that is deal with geometry, BIM tools are capable of producing fit for beginners, but that can also be used for complex an accurate virtual model of a building containing not programs: Rosetta. This environment uses DrRacket, an only geometry, but also relevant data needed to support educational Integrated Development Environment (IDE) the construction, fabrication, and procurement activities [10], [11], and supports several programming languages, needed to realize the building [4], [5]. such as Racket and Python, that can be used by both Although CAD and BIM applications revolutionized beginners and experienced users. the architectural design process, there is still improve- ments to be made and Generative Design (GD) is one of them. GD is an algorithmic-based approach to design 2 RELATED WORK that allows the generation of forms or shapes through algorithms [6]. Using GD, instead of designing a build- In this section we analyze several tools that already ing, one designs the system that designs the building explore GD for the BIM paradigm, and discuss how they [7]. The advantages that it brings are: the automation influenced our solution. 2 2.1 Grasshopper ArchiCAD (R-G-A) connection [15]. To achieve this con- Grasshopper is a plug-in for Rhinoceros 3D (a CAD nection, Grasshopper added several components that application), which provides a visual programming lan- represent the elements of ArchiCAD. These components guage based on functional blocks that can be connected receive the necessary geometrical information that is into a sequence of actions [12]. By using this simple and needed to create the corresponding ArchiCAD objects. interactive way to program, Grasshopper becomes an For example, to create a column, the component receives enticing application for beginners. the column’s begin and end points as inputs. Despite this, Grasshopper also suffers from a seri- Nevertheless, this solution suffers from the same prob- ous disadvantage: lack of scalability. As programs grow lem described before: lack of scalability. Therefore, there in complexity they become harder to understand and will be repercussions on the readability and maintain- change [9]. Figure 1 shows an example of how the ability of programs. readability and maintainability of the program can suffer 2.2 Dynamo when the problem at hand is complex. To mitigate this disadvantage, Grasshopper allows the Dynamo is an open source GD application that has two creation of small Visual Basic (VB), C#, or Python scripts working modes: it can run in a stand-alone ”Sandbox” by using a specific code block, which can have multiple mode, or run as a plug-in for other applications such inputs and outputs [13]. Despite the ability to create as Revit or Maya (a computer animation and modeling small textual scripts, this feature does not eliminate the software). Similarly to Grasshopper, it provides a visual scalability problems, because these are still bound to programming language, designed to be accessible not Grasshopper’s visual language and cannot be used as only to programmers but also to non-programmers [16]. large-scale programs. By using nodes and wires, users can create programs in Dynamo. The nodes are objects that perform an operation, such as storing a number or creating geome- try. Through wires, it is possible to create relationships between the nodes, meaning that they link the output of a node to the input of another node, thus creating the data flow of the program [16]. Dynamo also supports the creation of small scripts using Python. These scripts are represented by code blocks in the visual diagram, that can have both inputs and an output. They are still connected by wires as other normal blocks. Although the addition of small textual scripts gives more flexibility to the tool, those only work as blocks in Figure 1. A Grasshopper program that shows how the the visual diagram. Therefore, Dynamo suffers from the readability and maintainability of a program become an previously mentioned drawbacks of Grasshopper. issue when dealing with complex problems. (source: www.digitalcrafting.dk) 2.3 ArchiCAD API Graphisoft – the company behind ArchiCAD – provides an Application Programming Interface (API), which is 2.1.1 Lyrebird mainly used by professional programmers to develop Grasshopper alone does not support BIM tools, therefore plug-ins for ArchiCAD. The API is based on C++ and it cannot explore that paradigm. However, it can be gives developers control over some of ArchiCAD’s func- extended with plug-ins, such as Lyrebird, that connects tionality, such as element creation and manipulation. Grasshopper to Revit (a widely used BIM application). Although this API is the primary way of accessing Lyrebird adds a single component to Grasshopper, that ArchiCAD through programming, it is not fit for begin- the authors “hope has enough inputs and options to ners, since it requires the usage of a language that is handle everything without being overwhelming” [14]. It not beginner-friendly. In addition, it requires knowledge is this component that receives as input all the informa- of concepts that might be foreign to beginners, such as tion regarding the objects to be created on Revit, such as memory management, transactions, and polymorphism. origin points, curves, and orientation, etc. Furthermore, As an example of how complex the API can be, to create the component also specifies the Revit Family that is to a simple slab the user must take into consideration the be used, for instance, wall, slab, and handrail, among following: manage a session to create the element; load others. default values for the element; change the desired at- tributes; and manage memory allocation for the element 2.1.2 Rhino-Grasshopper-ArchiCAD and its geometric properties. Later in the document, we More recently, on September 2015, Graphisoft announced show how our solution can substantially simplify the the public beta version of its Rhino-Grasshopper- creation process of a slab, or any other element. 3 2.4 Geometric Description Language To better understand what each of the analyzed tools Another tool that Graphisoft provides is Geometric De- is capable of doing, we show in Table 2 a more detailed scription Language (GDL), a scripting language for ob- look at the supported operations of each tool. ject creation, that grew out of Beginner’s All-purpose Application Textual Language Geometric & BIM Operations Symbolic Instruction Code (BASIC). It provides com- Grasshopper Small scripts: Supports geometric operations mands such as BLOCK, EXTRUDE and TUBE, among VB.net, C#, provided by Rhino (CAD appli- others, that allow the creation of 2D and 3D objects [17]. Python cation). Lyrebird No Supports the creation of some GDL is mostly used by manufacturers to create ob- BIM objects in Revit. jects that represent their products and have the correct R-G-A No Under development, but construction information. It is also useful to introduce already supports instantiation and manipulation of BIM objects that do not have a specific operation in Archi- objects.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us