algorithmic modeling for Rhino
KSD research group
AkadR. Dr.-Ing. Architekt
Technische Universität München
Faculty of Architecture
Chair for Architectural Informatics
Prof. Dr.-Ing. Frank Petzold
Bishwa Hang Rai
Latest Activity: Jan 29
The goal of “Dolphin” for “Grasshopper” is to support the early stages of the design process using information technology in order to find architectural solutions as a source of inspiration, an explicit solution, or a means to better understand current design problems.
The “Dolphin” plugin allows the use of digital semantic building information in the parametric work environment of “Grasshopper” and “Rhinoceros” using the XML-based AGraphML exchange format developed by the “KSD research group”. The AGraphML format stores spatial and topological information that can be accessed through local sources and web-based sources. The information can either be downloaded in aGraphML files or accessed using a backend web services directly that handles spatial information in a graph database, geometric information on a BIM Server and meta-information in a content management system. All databases of this information system are freely available:
To encode spatial information in AGraphML, automatic and semi-automatic methods have been developed and implemented by the “KSD research group”. To formalize architectural configurations digitally we propose to create semantic fingerprints of buildings, to be used to identify a building as we use actual fingerprints to identify individuals. In order to map the spatial structure of architectural situations, graph-based approaches are being investigated to mathematically represent fingerprints for information such as space and their connections, alignment, orientation or urban integration. The nodes represent room types. In the latest version of Dolphin 4.0, their fixed taxonomy has been modified to allow custom room dictionaries, defined by the user. The labels of the edges [DOOR, ENTRANCE, PASSAGE, WALL, WINDOW] are used as the visualization of relations between spaces. In order to use the information in “Grasshopper” the “Dolphin” components are distinguished in the categories “Analyzer”, “Coordinator”, “BIM Tools”, “Filter”, “Local Source”, “Statistics” and “Web Source”.
As most changes from the version 3.0 to 4.0 of “Dolphin” plugin concern the “Coordinator” namespace, to be specific the “Semantic Graph” component, the updated description begins with this namespace and in a more detailed manner.
The “Dolphin” "Coordinator" components allow the creation of aGraphML documents from Rhinoceros 3D (Rhino 3D) drawing, as well as querying the existing online repository of floor plans.
The updated “Semantic Graph”, designed to understand and draw spatial configurations using Rhinoceros 3D (Rhino 3D), was improved for simplified transformation process of floor plans, increased flexibility, and can handle more complex data. The component transforms the spatial semantics into an aGraphML file, converting spatial configurations in graph structures that can be visualised in programs, like Gephi or yEd. Rooms are represented by outlines, their room names are assigned by using text and finally the accessibility type is visualised by different coloured Lines, which is read by the “Semantic Graph” component and written as an aGraphML file.
Circles, which were used to represent rooms in the former version of Dolphin, were replaced by Polyline Curves to accurately outline rooms, improve the control over the geometries and precisely detect its corner points.
In order to add another level of complexity, in the current version each room can be associated with a building and ways to interconnect these buildings. If at least one room lies completely inside the Polyline Curve outline, the updated “Semantic Graph” component considers a polyline curve as a building and assigns the building ID to the respective room. However, the placing of a room within a building outline, is completely optional for the component to work.
Dolphin 4.0 can detect room types using room names, and a user can have its own set of room types and room names using a personalized room dictionary. A room dictionary needs to be created to associate the used room names with room types. The room dictionary can be continuously expanded by each user, depending on their needs, and is set through a JSON file in the following manner. As shown in the picture, the whole text is set within curly brackets. The first word within quotation marks (String), e.g. “Toilet”, followed by a colon (:), is the room type, which list of words, e.g. “WC” and “00”, set within square brackets, are getting translated into.
Two buildings can be connected using the "Entrance" Edge Type, which will be discussed in the next section. It is also possible to connect two rooms which belong to different buildings. The current version allows to create more edge types by drawing lines between two rooms or two buildings for increased flexibility. Dolphin 4.0 expands the possible edge types of the “Semantic Graph” by three types, such as the Passage, Window and Entrance. The last listed type can only be used to connect two different buildings or two rooms of different buildings.
The table below shows all the edges, their colour representations and functions. Further, the boolean option of “WindowsExist” was assigned a colour representation to change its value to “true”, by drawing a Line within a room. The default value of the boolean option “enclosedRoom” is now “true”, automatically changing to ‘false’ with the use of the “Passage” edge type.
Creates an edge in the AgraphML representing, two rooms are connected with a door
Creates an edge in the AgraphML representing, two rooms are adjacent to each other
Sets the enclosedRoom property of both the rooms as False
Creates an edge in the AgraphML representing, two rooms are connected with a window to each other.
Sets the WindowExist property of the room as True
Either two rooms which have Exterior as the room type or two Buildings can be connected using this edgeType
Three “Analyzer” components have been implemented to analyze building information and visualize the information in “Rhino”. The first component, the “Node Analyzer”, retrieves the data of all nodes, the second one, the “Edge Analyzer”, imports all edge data and the third component, the “Graph Analyzer”, imports the coordinates of the graph. The output can be used by standard “Grasshopper” components to visualize the information. Furthermore, the information can be used with other “Grasshopper” plugins like “Kangaroo”, “Spider Web”, “Space Syntax”, “Galapagos”, “Embryoviz” or “Sandbox”.
Four “BIM Tools” component facilitate the interaction with BIM models to ease the design process. Presently the access is possible on two BIM servers, the “Open Source BIM Server” (http://bimserver.org/) and “bim+” from “Nemetschek” (www.bimplus.net). The download components comprise models from both servers as IFC files and the Grasshopper components check the results, enabling further processing in order to visualize building models with the “Geometry Gym” Plugin. The access to the “Open Source BIM Server” is more complex because a “Serializer” is required to find out which model specification should be used. The “BIM Visualiser”, lets the user select the building model out of a set of found models in the information cloud.
Two “Filter” components were developed to make it possible to define basic requirements and to automatically check, which conditions are fulfilled by which part of the floor plan. Basically two types of conditions are distinguished: the ‘simple conditions’ that are having direct access to the AGraphML data and the ‘complex conditions’ that have to derive the values from the aGraphML data to make a decision if a condition is fulfilled. The “File Filter” and the “Room Filter” can be used to filter and display the remaining files from a set of files or rooms from a set of rooms by “room type”, “roomname”, “window yes/no”, “enclosed room yes/no”, light, “privacy” and “connection type” (edges).
The “aGraphML Reader” loads several aGraphML files from one folder and the “File Checker” component tests if the single file has all required aGraphML attributes. The output is either a list of aGraphMLs or a single aGraphML.
Three “Statistics” components compute aGraphML data, like room type, togetherness, arrangement and sequence as well size, number and likelihood of connections to other rooms. The first component, the “Room Area Share”, considers the room sizes relatively to each other to make determine how the room size is comparable to a calculated average. For example if a bathroom is larger or smaller than an average bathroom. The second component “Room to Room Edge Occurrences” calculates and displays percentage probabilities of room connections (passage, door, wall, no connection), for example between bedroom and bath. The third component “Average Edge Occurrences” calculates the average number of connections.
Four “Web Source” components integrate the “neo4j” and the “mediaTUM” data stock in “Grasshopper” and “Rhino” to enable further processing. As a result a list of aGraphML files will be returned, which also could be reduced to a certain number of results regarding defined criteria. The “Textual Filter” enables the definition of search parameters for the request to “mediaTUM”, e.g. the definition of a certain architect or a project date. The “Spatial Filter” enables the definition of search parameters for the “neo4j” request, e.g. number of rooms or certain room type. The third and central component, the so-called “Building Searcher”, manages the searching through “mediaTUM” and “neo4j” in consideration of the “Search Credentials” component, that are specified by other components. Additionally in the “Building Searcher” component the number of results can be restricted.
Please contact us, if you need support:
Previous version: Dolphin 3.0 Plug-In
This group does not have any discussions yet.