MIT Sustainable Design Lab
UMI Plugin Play

Cody Rose and Christoph Reinhart

Building UMI plugins (working document) | Sample Code | umi

The urban modeling interface (umi) is a Rhino-based design environment for architects and urban planners interested in modeling the environmental performance of neighborhoods and cities with respect to operational and embodied energy use, walkability and daylighting potential. umi links Rhino to an SQLite database that stores relevant information on buildings in an urban model from floor areas and window-to-wall ratios to environmental performance parameters such as spatial daylight autonomy and monthly building energy uses for heating, lighting, cooling and equipment. In order to develop the largest possible spectrum of urban analysis metrics, umi has been written in a way that allows 3rd party developers to extract key data from an umi model, define new performance parameters and add results to the UMI database. Results can then be automatically read in by the umi dashboard. This website provides information for individuals interested in developing their own UMI plugins. Readers should already be familiar with C# and Visual Studio. To get started you should first go through the Building umi plugins document and then follow the video tutorials below that takes you through the steps of building a Visual Studio project for an UMI plugin. Sample code to get started can be downloaded here.

Please note that these tutorials only work with our internal umi version which can be requested at info@urbanmodeling.net.

umiAPI 01 - Starting an umi Module (5 min) This tutorial describes how to extract building variables from an umi file and apply them in a Rhino command. The example code used in the tutorial can be downloaded from here.
umiAPI 2 - Module Settings (12 min) This tutorial explains how to set and store custom settings in an umi module. The example code used in the tutorial can be downloaded from here.
umiAPI 3 - Creating A Simulation Tab (13 min) This tutorial explains how to create a simulation panel for an umi module. The example code used in the tutorial can be downloaded from here.
umiAPI 4 - The umi Database (6 min) This tutorial explains how to use the umi database to store simulation results within a bundle. The example code used in the tutorial can be downloaded from here.
umiAPI 5 Falsecoloring Results (4 min) This tutorial explains how to falsecolor the buildings in an umi bundle according to the results of your umi module. The example code used in the tutorial can be downloaded from here.