Final Project- Dynamo

Summary


This project is actually the continuation of the previous project explained in the first blog however this time the project has been carried out using visual programming in Dynamo. The methodology used to create the solid mass has essentially been the same in a way that first of all a cuboid shaped mass was created. This mass was then cut from the corners to give us the desired shape of the building. This step was followed by the creation of communication rings and opening in the podium. Next, curtain panels were applied to the surface and their color was tied to the sun path. The creation of such curtain panels could not be achieved using typical techniques in Dynamo therefore new techniques were developed.

Explanation

1) Creation of Mass:

The following images explain the steps taken while modelling the mass in Dynamo. The nodes important to mention are:

Solid.By.Loft
Polygon.ByPoints
Curve.ExtrudeAsSolid
Solid.Difference
Curve.PointAtParameter
Surface.BySweep
Ellipse.ByOrigin.Radii

Inputs for form creation
Creation of Cuboid



Creation of Cuboid



Cutting the cuboid at Corners using Solid.Difference Node


Placing points on parapet for creation of communication rings

Creating Rings using Surface.Sweep
Creation of Circumscribed Rectangle



Geometry of  Podium's opening
Opening of Podium using Solid.Difference




Final Mass created in Dynamo


Application of Curtain Panels

Problem in Dynamo

Perhaps the most difficult part of this project was the application of curtain panels on the mass surface through Dynamo. Although the mass seems quite simple and one expects Dynamo to easily apply the curtain panels but in actual its quite the opposite. The commonly used node "Quad.Panel" which is available in the package "LunchBox" does not seem to work on triangular surfaces. In fact, Quad.Panel requires a quadrilateral surface to create panels. Moreover, the panels it creates on the quadrilateral surfaces are also not consistent in size in some cases.  

Solution Approaches:

To address this limitation of Dynamo, two different approached were used. Although they are not  perfect solutions but they do serve the purpose to greater extent. The approaches are:

1) Creating Curtain Panels within Curtain Panel

In this approach, a triangular panel is first created and a solid surface is formed inside the boundaries. This surface is then divided in U and V grids and another curtain panel of rectangular shape (formed in a separate massing environment and then uploaded into the working environment) is applied to the grid. The triangular panel resultantly created is then applied to the triangular face of the building using coordinates of the corners already available.
Rectangular panels within triangular panel
Final Result of Application of Curtain Panel

Final Result of Application of Curtain Panel



Cloud rendering. As can be seen the rendering with such an approach is not very clear at all


2) Manual creation of Panels

The second approach was to manually create curtain panels on the 8 surfaces of the mass. To achieve this purpose, the concept of unit vectors was used. As we already had the X,Y,Z coordinates of 3 corner points, unit vectors were derived using the unit vector formula. These vectors gave us a direction in which further points were created. Both Dynamo and Microsoft Excel were used in this regard. The coordinates of corner points were exported to Excel where the desired calculations were carried out to find the coordinates of other points according to our choice of grid. The coordinates were then imported back from Excel to Dynamo and converted into points. The figures below show the technique used for generation of points on surface
Unit vectors giving a sense of direction
Points generated on perimeter using unit vectors


Unit Vector for generating points inside the triangle
Points generated inside triangle in layers from bottom to top

A glimpse of Excel Calculations

A glimpse of Excel Calculations

Exporting Coordinates from Dynamo to Excel 
Importing Coordinates from Excel to Dynamo


Points generated on one surface using 10 by 7 grid




Points Generated can make perfect rectangular panels except at the edges 
Points converging at the top









Problems with Manual Creation of Curtain Panels:


At time when creation of points on the surface seemed like a breakthrough, formation of curtain panels from these points posed another serious problem. There was a need to group the points in numbers of 4 such that each point would represent the coordinates of the corners of panel . For first two panels the points had to be grouped in the order given below in figures:


Points required to be grouped for first panel



Points required to be grouped for second panel

In our case, neither were the points generated in this order nor was there any way to order them in this fashion using excel or Dynamo. The number of points in each layer from bottom to top kept changing with changing geometry of the mass. With such a variation, a logic could not be established to pick points in the order shown above. Such a logic might have been possible with Python or other high level languages but due to lack of time for project the idea of creating an ideal rectangular grid was dropped. However, because a curtain panel was necessary for the building, a simple triangular panel was chosen which would divide the whole face of the building into 4 smaller triangles. Due to less number of panels on each face, the points for these panels were ordered manually and fed into adaptivecomponents.byPoints node. This is how the paneling process was carried out at the end.


Panel Points for Simple Triangular Panels


Simple Triangular Panels

 

Coloring of Surface Using Sun Path


Apart from applying panels to the building's surface, the color of these surfaces can also be tied to the sun path. This is done by creating vectors normal to the surfaces and measuring the angle these vectors make with the sun. As the location of the sun changes, the angle between the normal vectors and sun change and thus the color of the surface. For color input, we either use RGB values or we upload a colorful image and extract the colors from it.

The nodes used in this process are:
Color.ByARGB
Color Range
SunSettings.SunDirection
Surface.NormalAtParameter
Surface.PointAtParameter
SunSettings.Current
Vector.Dot


Generation of Normal vectors and Getting Sun Data

Selecting Color Range

Applying Extracted color to surface



Colorful Surface of the Building
Sun Path effecting colors




Video







Comments

Popular posts from this blog

Midterm Project