algorithmic modeling for Rhino



KSD research group

AkadR. Dr.-Ing. Architekt
Christoph Langenhan

Technische Universität München
Faculty of Architecture
Chair for Architectural Informatics
Prof. Dr.-Ing. Frank Petzold

Development team:

Thomas Stocker

Dario Banfi

Jana Pejic

Thomas Kühner

Markus Dausch

Bishwa Hang Rai

Dominic Henze

Arno Schneider

Members: 13
Latest Activity: Jan 29

Download Dolphin

AgraphML Files

Dolphin 3.0 Plug-In

Dolphin template file


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 building information cloud 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 feely 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 situations digitally we propose to create semantic fingerprints of buildings, to be used to identify a building as we use actual fingerprints to identify of 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 of the graph are labeled regarding a fixed taxonomy [ROOM, KITCHEN, LIVING, SLEEPING, WORKING, CORRIDOR, TOILET, BATH, EXTERIOR, STORAGE, BUILDINGSERVICES, CHILDREN, PARKING]. The labels of the edges [DOOR, ENTRANCE, PASSAGE, SLAB, STAIRS, WALL, WINDOW] represent the relation between spaces. In order to use the information in “Grasshopper” the “Dolphin” components are distinguished in the categories “Analyzer”, “BIM Tools”, “Filter”, “Local Source”, “Statistics” and “Web Source”.


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” plug-ins like “Kangaroo”, “Spider Web”, “Space Syntax”, “Galapagos”, “Embryoviz” or “Sandbox”.

BIM Tools

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” ( and “bim+” from “Nemetschek” ( 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 “roomtype”, “roomname”, “window yes/no”, “enclosed room yes/no”, light, “privacy” and “connection type” (edges).

Local Source

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.

Web Source

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.


The Dolphin "coordinator" components allow the creation of AGraphML documents from a Rhino3D drawing, as well as querying the existing online repository of floorplans through a new central query server, the coordinator. The new components integrate seamlessly with the existing ones and most of them can be combined freely.


KSD research group

Chair for Architectural Informatics

AgraphML Plugin for Gephi

Please contact us, if you need support:

Discussion Forum

This group does not have any discussions yet.

Comment Wall


You need to be a member of Dolphin to add comments!

Comment by architect on April 16, 2018 at 6:40pm

any example file pls ?!


Members (13)






  • Add Photos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service