In this post I will be focusing on regenerating the different parts of Yas hotel's canopy using Dynamo (visual programming for Autodesk Revit). The process of - digitally - regenerating the canopy's different elements is divided into the following (points A-E will be using Mass Model templates. As for point F, the modeling process will be performed using an Architectural Project template):
A. Main supporting structure (Generated in Dynamo)
B. Glass panel's structural steel frame support:(generic adaptive component)
C. Glass panel's steel frame(generic adaptive component)
D. Glass panel (generic adaptive component)
E. Steel Joint (generic adaptive component)
F. Panel Deviation (Architectural Project Template)
The modeling process of the sections above is an approximation of the actual design (by Asymptote architecture), and are recreated to address the following project objectives:
A. Demonstration of a fully functional parametric BIM-based model.
B. Demonstration of the detailing process, and data accessibility and managing using visual programing in BIM applications.
C. Address issues noted in the previous post through data restructuring.
D. The benefits of using visual programming tools - such as Dynamo - in BIM-based parametric modeling applications.
Before proceeding into the modeling process of the different architectural and structural parts of the canopy, I have included a general overview of the definition developed in Dynamo (below). Each of the different node clusters shown are designed to perform a specific task and are all linked to each other to create a complete functional parametric system.
The modeling process first started by referencing the canopy's Revit geometry in Dynamo. For the purpose of this study, a section of the surface was extracted to generate the deferent architectural and structural parts mentioned above.
Image 4: Shows the referenced section of the canopy's surface and the U and V quad points in Dynamo.
Following this step is generating the canopy's main architectural and structural parts.
A. Main Supporting Structure:
The process of generating the canopy's structure was made in two steps. The first step was extracting the surface boundary lines (top and below), create the structural member profile, position the profile (in this case a circle) in a perpendicular manner to the surface's punditries, and finally using the "sweep" node to create the solid form.
Image 5: Shows the process of generating the first part of the canopy's main structural support.
From the image above we notice that, opposed to the original Revit model, the structural support in this case can be parametrically repositioned (control its distance from the surface) while maintaining its relationship with the other structural parts.
Furthermore, to ensure that the sweeping operation is done correctly, the profile (circle) had to be perpendicular to the surface's boundary lines. Therefore a point at parameter was created on these surface's curves and were used to reorient the profile's normal direction. Furthermore, a number slider is used here to control the profile's normal angle.
Afterwards, the solid (structural member) was repositioned with a specific distance from the surface to avoid any geometry overlap. This was achieved by reversing the curves' (surface boundary acting as the sweeping path) vector direction.
As for the second step in the process of modeling the surface's supporting structure, the surface's UV quads (points) were utilized to guide the process. However, the structural members had to respond to any changes made to the glass panels (adaptive components); they basically support these panels. So, the graph below shows how this step was achieved through connecting specific glass panel data, and surface UV points to guide and generate these structural members. Noticeable is the extensive use of data restructuring and list management.
Image 6: shows the second step in generating the supporting structural members.
After completing both steps, the generated geometry is then imported into the Revit file.
Image 7: Shows the complete steel structure (highlighted) and the Dynamo definition for importing the geometry into Revit.
Image 8: Shows how the curves guiding the structural support is controlled (distance from the original surface) to avoid geometry overlap. This was done through reversing the glass panel's surface points (point at parameter) normal direction.
B. Glass Panel's Structural Steel Frame Support:
In this process of regenerating the glass panels, the approach was to deconstruct the unit into three parts: the structural steel frame (placed directly onto the main steel structure), glass steel frame (placed directly onto the glass panel and tied to the structural steel frame through joints), and finally the glass panel. The glass steel frame and glass panel are linked together and are parametrically controlled (rotation angle) with the same variables.
Following the main structural support is the glass panels' structural steel frame. These frames will be located at each quad on the surface and fixed directly to the surface's main structural steel frame through steel joints.
Images 9: Shows the structural steel frame (generic adaptive component) with adjustable frame thickness.
Image 10: Shows the definition for creating the structural steel frame. Noticeable here is the ability to extract the adaptive component's parameters; the goal of this operation is to create a fully functional parametric model controlled in Dynamo.
Image 11: Shows the structural steel frame placed directly on the canopy's main steel structure.
C. Glass panel's steel frame: (generic adaptive component)
The steel frame utilized for this application is exactly the same as the previous generic model (structural steel frame), however, its role and behavior in the model differs. The previous structural frame was guided by the surface's UV quads, as for this one, it's guided by the glass panel's geometry and parameters.
Image 12: Shows an isolated view of the glass panel and its steel frame.
Image 13: shows how both the glass panel and glass panel's steel frame were referenced in Dynamo along with their parameters.
D. Glass panel:
The purpose of deconstructing the adaptive component into three distinct elements was for data structuring and managing purposes, which helped in providing further control over the model.
The glass panel in this case served as a guide for the placement of the steel joints. First, the panels' "face" was extracted. Afterwards a point (at parameter) was placed on its surface to get the normal direction at that location and to mark the position of the steel joints.
Image 14: Shows how the glass panel was referenced, its face extracted, and generating a surface normal to guide both the main structural frame (previously explained) and steel joints afterwards. Furthermore, one of the advantages of this approach is the ability to maintain the panel's parametric features, such as rotation. Unlike the previous post, where the panels' parametric ability were disabled for the model to properly function.
Image 15: Shows all three parts of the glass panel in their proper location on the canopy's surface (Revit model).
C. Steel Joint (generic adaptive component)
Following is generating the steel joints. These generic adaptive components are meant to tie the glass panels (complete set) with the surface's main structural frame. The joints were first designed in Revit and then referenced in Dynamo. Their location, as mentioned previously, are based on the glass panel's surface normal. However, the normal - which was converted into a point by using (Vector. AsPoint node) - will only provide a single point for the adaptive component to snap onto. Therefore, the vector points were translated (copied and moved) with a specific distance from the original surface to create two points for the adaptive component to snap to. Each joint is perpendicular to one of the glass panel's faces when populated onto the canopy's surface. The result of this process is having joints pointing outwards in a uniform manner based on the panel's normal direction at these specific locations and properly positioned.
Image 16: Shows the steel joint (generic adaptive component).
Image 17: Shows the Dynamo definition for creating the steel joints and marking their location on the surface with proper normal orientation.
Image 18: Shows the surface and the two points marking the location of each of the steel joints.
Image 19: Shows the joints in the Revit model.
F. Panel Deviation for fabrication:
After the model was complete, the geometry was imported - from a Mass Model template - into an Architectural Project template for visualizing panel deviation. The purpose of this step, as part of the detailing process, is to extract all the relevant information that would help in creating the proper construction and fabrication documents.
Image 20: Shows the panel deviation analysis definition.
The following images illustrate the behavior of the elements mentioned above when their parameter values are changed. The purpose is to illustrate the system's flexibility and functionality ranging from the overall form to the smallest details.
Images 23: Show how the change of two single values affect the overall system - and all its minor parts. Values controlled here are the UV divisions, and they start from 10 divisions in the U direction and increase to 70, and 6 in the V direction and increase to 9 divisions. The end values produce 630 panels (complete glass panel set) and joints (one joint per panel).
Image 24: Shows the complete model with 700 panels and joints (70 divisions in the U direction and 10 divisions in the V direction).
3. Further Investigation (future work):
Regardless of the system's functionality, some specific parts have to be further investigated. During this process of detailing previous issues in the Revit model were addressed. However, with further detailing other issues start appearing, they do not interfere with the model's parametric behavior, but will affect the proper construction and fabrication documents.
With Dynamo, and with a level of digital geometry, computational logic, and data flow understanding these problems can be traced and resolved. The example below shows one of the areas for future investigation.
Image 25: Shows geometry overlap due to panel tilting, specifically, the glass surface and panel structural steel frame. This does not cause any issues related to the functionality of the parametric model. However, the model shows this issue that needs to be resolved prior to construction or digital fabrication.
The sewing panels on the surface appear once the glass panel's tilting angle is increased. The reason is that the projected points (in the generic adaptive model and control the ends of the glass panel) are following the adaptive points' normal direction. To further explain, if the adaptive component is placed on a flat surface the glass panel's geometry will not be affected, because the adaptive points' normal is facing directly upwards. However, if the adaptive component is placed on a double curved surface, then the normal direction of the adaptive points will follow the surface's curvature, thus affecting its original normal direction that is guiding the projected points that control the glass panel. This change in normal direction will not consider any adjacent geometry and will case the panel to skew and overlap other geometry. Images below explain the issue.
Image 26: Shows the glass panel on a flat surface, notice the projected points are directly moving upwards, parallel to the adaptive point's normal direction.
Image 27: Shows another view of the glass panel (elevation). Notice the movement of the projected points, vertical along the adaptive point's normal.
Image 28: Shows the glass panel on the surface with tilting angle at zero.
Image 29: Shows the glass panel when the tilting angle is increased. The highlighted lines shows the angle difference between the adaptive point's original normal and its change once populated on the surface. The reason is that the adaptive points are following the surface's curvature, which affects their normal direction, thus skewing the glass panel.
The solution for this issue is not be addressed by fixing the adaptive component, but by creating a guide that is generated on the original surface to control the direction of the projected points.
The detailing process shown above illustrates greater control and understanding of the geometry, however it included intensive data managing and restructuring to achieve the desired outcome. Furthermore, understanding of digital geometry and computational logic will greatly help in the process of tracing specific issues and propose proper solutions. The solutions and design decisions made here are a few of many possibilities. My goal was to minimize the use of nodes to achieve the required end result to save computing time and power.
The modeling process using Dynamo helped in achieving a fully functional parametric model. Each of the elements are dynamic and adaptive, and are linked to each other, so that a single value change will insure that all other parts respond accordingly to the change.
Visual programming and parametric design using BIM exceeds conventional geometric manipulation to include material properties, which adds an additional feature to the whole parametric modeling process and experience.
5. Project Video:
I would like to thank once more Dr. Wei Yan for this exceptional learning experience.