Research Applications Developed

CAMBRIA: Design exploration by working set of alternatives and in parallel (as part of S. KolaricÕs thesis)

Platform: PC                            Programming Language: C++

CAMBRIA is an interactive system that demonstrates a path to directly working with collection of alternatives. The key principles behind it are: (a) view many alternatives at once, (b) edit alternatives in ad-hoc groups, and (c) maintain identity of parts across alternatives. We add two basic operations: pass variable where a variable in one alternative can be copied to another maintaining its identity; and pass value: the value of a variable can be passed to another alternative having the same variable. Composing these two operations produces several user-level commands such as clone (pass all variables from one alternative to others), parallel edit (edit one alternative; simultaneously pass variables and values to others). The prototype is still underdevelopment.

Time Travel in Parametric CAD (as part of Rodolfo SanchezÕs thesis)

Platform: PC                            Programming Language: Processing, Java, and RhinoScript

A system enables designers to visit previously made decision in design modeling using parametric CAD software, and presents opportunities for controlling backtracking, deferring, and their combinations. The project received funding from AeroInfo (a Boeing Campany).

Change Detection and Control in Parametric CAD (as part of D. NasirovaÕs thesis)

Platform: PC, Generative Components                               Programming Language: ActionScript and GCScript

A high-fidelity prototype demonstrates a set of debugging-like interaction techniques (watch, trace, inspect, probe etc.) on data flow graph interfaces to assist with change detection and model comprehension by enabling designers to identify data flow effects, parametric dependencies, and changes.

DiNA: Enabling least effort principle in design collaboration (as part of A. HuangÕs thesis)

Platform: HTML 5 compatible browsers                           Programming language: Php, SQL, Html 5, JavaScript

DiNA demonstrates basic use cases necessary for sharing information by the help of readily available devices; browsing information using flexible classification,, clustering, and annotation mechanisms defined by users and in usersÕ terms.

RaBBiT: Requirements Building for Building Types, (Alpha Spring 2004 – In Progress) [Download]

Platform: Platform independent                        Programming language: Java and OPSJ

RaBBiT is a prototype application that has been proposed as a proof-of-concept of my Ph.D. thesis. Its primary function is to facilitate design requirements specification in design. The proposed features of the RaBBiT are the following: (a) the ability to computationally capture reusable programming knowledge of building types based on a set of concepts that are general enough to accommodate various programming styles while remaining operational; (b) simplification of the designer- computer interaction to make the application usable, even programmable to a degree, for non-computer programmers; and (c) ability to generate design requirements as output that can be used by different generative design and decision support tools. The prototype of RaBBiT is a hybrid software system consisting of an object-oriented application that is highly integrated with a rule-based reasoning system and a direct- manipulation style user interface. (www.sfu.ca/~herhan/rabbit_help.htm)

ReXT: Requirement Extractor, Spring 2003

Platform: BentleyÕs ProjectBank and MicroStation/J.                                     Programming Language: JMDL and Java.

ReXT has been proposed to assist designers in interactively capturing functional and spatial information from existing CAD drawings of buildings. This information is part of the building design requirements that evolve and change from their initial forms in the design process. Most of these changes result in modification of the design and are embedded in evolving spatial configurations. Rext enables users to identify visible design components from the CAD drawings and convert them to design requirements, which then can be automatically compared with the initial design requirements and used for evaluating intended vs. current state of a design.

HVAC Tools, Fall 2001

CAD Platform: BentleyÕs ProjectBank and MicroStation/J.                           Programming Language: JMDL and Java.

HVAC Tools partially automates a very time-consuming task, the generation of scaled drawings of mechanical systems from highly abstracted and symbolic single-line drawings as they are typically supplied by HVAC consultants. By using HVAC Tools, an architect identifies the elements that describe the HVAC system components in a CAD drawing. Based on this information, the application generates an initial version of the desired drawing as a CAD file, depicting the HVAC components in their true shapes. From the created model, a list of components and their specs can also be produced.

Remodeler, Fall 2000

CAD Platform: BentleyÕs ProjectBank and MicroStation/J.                           Programming Language: JMDL and Java.

Supports the generation of design documents for remodeling projects through collaboration of multiple users. An initial set of CAD files describing the as-built state of a facility are collected in a ProjectBank project. Any designer involved in the project is able to use Remodeler to identify parts to be removed, demolished, added, and recycled. Remodeler builds internally a record of these elements from which drawings, schedules, specs and preliminary cost estimates can be automatically produced.