Bengesht is an assembly for Grasshopper which represents some of the milestones in my study/career as computational design enthusiasm.

Muqarnas / Geometrical functionalities:

The curves related components of Bengesht are initially created to simplify the process of modeling Muqarnas.

I was encouraged to start this project when I had been selected by Dr. Gholamhossein Memarian as his TA, to guide students through “Measurement & Recordings of Historic Buildings” course which is mainly about getting familiar with classic Iranian architecture through presenting a building with 3D and 2D documents. Observing the steps taken by my students, I broke down the process of modeling Muqarnas geometry into individual pieces, and their collection created the first version of Bengesht assembly.

HTTP Server / Web interfaces for Grasshopper:

To make the communication between web applications and Grasshopper possible, I developed HTTP server components. HTTP is a bidirectional protocol for serving web contents. Parameters can be passed from web application for Grasshopper script, and the outcome can be sent back.

The implementation of this functionality goes back to the time I was working at Next Office, developing web applications for the company. By understanding the possibilities of the web technology, I was motivated to bring this advantages to Grasshopper based workflows.

WebSocket / Grasshopper as a ROS node:

These components of Bengesht can handle (send/receive) communication with a server over WebSocket protocol. Using these modules, Grasshopper can be plugged into a ROS based network of parallel processes (Nodes). RosBridge is a ROS package which serves as a WebSocket server on the ROS side.

ROS.GH: Moreover, a set of the open-source parser is developed to simplify the generation of RosBridge messages.

These components are added during ITECH Research Pavilion 2016/17 fabrication when Grasshopper was widely used for solving geometrical problems and path planning of robots in real-time.