Impermanence and Parametric Modeling


The main concept of the BHD Star Cineplex, designed by Tram Anh Nguyen, is reflected through her perception of design in regards to impermanence. A direct correlation can be drawn from this concept to parametric design. Parametric design is a way to evaluate and refine a design through adjustment of various parameters that affect the final result of the model. Changeability is the goal of any parametric model. Seen through a wider lens, parametric modeling captures the lifespan of a design through the passage of time. And through the point of view of impermanence, one can investigate mutability, materiality, temporality and its effects on aesthetics through parametric design.

The parametric model for this project consists of a base pattern for the façade: a layered array of primitive shapes, such as a hexagon, triangle, and cube. These basic shapes can be designed and evaluated at various scales to create a pattern within the parametric model since inherently, patterns themselves are adaptable. Using these methodologies of mutability, the aesthetic value of these basic shapes is developed through the patterning of the façade.

In order to hone in on the materiality of the façade’s structure, the model can be run through Karamba, a structural analysis plugin for Grasshopper, which can determine the most optimal cross section of the individual structural members that comprise the modular design of the façade.

How temporality effects design can be visualized using Ladybug, an environmental analysis plugin for Grasshopper. By conducting Sunlight Hours studies, the building’s lighting usage can be optimized by knowing which areas on the façade receive the most sunlight within a six hour period, during the summer and winter solstices.

The flow of the design process, augmented by parametric design, and the idea of impermanent devices go hand in hand. Both are subject to the oscillations and transience in nature. The BHD Star Cineplex holds true to these philosophical concepts with its distinctively multilayered yet simple design process.


Parametric Patterns – Scaling


The module is scaled and arrayed within the model to produce variations of the facade pattern. By moving the number slider, the scale factor of both the inputed reference curves are changed. These scaled curves are then arrayed according to the scale factor. For example, if the original pattern is an array of 15 hexagons in the X axis and 9 in the Z axis, a scale factor of .5 would reduce these numbers by half. The result would be a pattern which much more dense.


Initial Sunlight Hours Studies




Some screenshots of initial studies done with Ladybug’s Sunlight Hours analysis tools. Since this first set of studies, the pattern has increased in scale, which would change the amount of sunlight that reaches the facade during the day.

Note: Analysis done for the winter and summer solstices, during a 6 hour analysis period.

Creating Beam Stuctures with Karamba

In order to find the most optimal cross section for the structural members that comprise the facade, I used a modified version of Junghwo Park’s example file from Karamba’s website.  The example file and tutorial video can be found here.


Overall beam optimization results from Karamba






Karamba Example File

The main component used is the Optimize Cross Section component which determines where in the model structural members need to be thicker or thinner.


Rhino + Revit Interoperability Workflow Using Live Objects


Like a honeycomb structure, an interoperability workflow weaves software together to make an efficient system. In this example, we’ll create a live floor element in Revit from a surface in Rhino.


1. Read surface by layer name and sort by elevation in Grasshopper
2. Extract parameters (curves, level names, number of floors, and elevations) and send to Flux
3. Create a level and floor element in the Flow Tool
4. Merge level and floor element in Revit



Steps 1-2



We’ll start off with a rhino model that contains surfaces in a designated layer.
A single surface is read by index, its parameters extracted, then sent to Flux
(where the magic happens).


• Dynamic Pipeline – Set to ‘read by layer name only’
• Number slider – Select surface by index
• Flux Project – Select project
• To Flux – Send data to Flux (flow control mode: constantly)

GH_07• Area centroid
• Deconstruct Point – Extract elevation (unit Z)
• Sort List – Sort surfaces by elevation
• Brep | Plane – Extract closed planar curves
• Insert Items – Construct list of text/numerical values for level names and number (individual ID)


Step 3



• Create Level
• Create Floor – Requires closed input curves in a single list
The order of operations is levels first, floors second. That’s so the floor knows which level
it lives on!



Step 4



Using the handy Revit plugin, merge the level, and then, you guessed it, the floor.


N.B. If you’re feeling lazy, simply connect the data parameters to its respective
To Flux component and send all data at once 🙂



Sharing Shortest Paths with Flow Tool

I wanted to try out how easy it would be to convert the Grasshopper file used to create points from a text file, created with Processing, into Flux’s flow tool.


Text file cleaned, splitted, and pointed


Points to Lines

The main difference from the Flow Tool and the Grasshopper file is that the Polyline component creates the five distinct lines from the text file, while in the Flow Tool, that block is not available, and so the paths are individual lines.



One advantage is that you can easily share the result with anyone using a link to the data key.