Sunday, April 21, 2013

ARCH 689 Project 2: TGV Station


After presenting Project 1, I received input on the grasshopper script to streamline the process. The sliders of the X, Y, and Z scale and the amount of structure are still included in the script, but the process in order to get to the final model has changed.









The control points used to create the NURBS curves in grasshopper are still in place, except I am only using half of them. Since the model itself is so symmetrical in nature, I am only building up half the model and mirroring it across its x axis. Doing this has made the grasshopper script smaller and a bit easier to understand.


























Still using the base skeleton to create initial curves, I extract the control points from the curves and use these points to create NURBS curves for the outer and inner wings as well as the base structure using the NURBS node in grasshopper. The reason I used NURBS curves was because I needed to be able to move the control points in order create a scaling parameter.
















































From these curves, I began with the outer wings. I first divided the outer two wing curves by a number controlled by the structure slider. I then created lines between the divided points of the two lines and divided each of those lines by 8. I divided by 8 because I need to create a line offset 1/8 the distance of the outer curve to become the new outer curve for the lofted surface between the curves I couldn't loft between the resulting offset curve and inner curve because they both began and ended at the ground plane, while the model shows a surface that begins at the ground plane and ends a certain distance from the ended of the curve. This distance was calculated to be about 20 percent, so I needed to create a node that would cull out about 20 percent of the points starting from the end of the curve that would give me the base points for the resulting curves.

















I created a python script node to do just that. It is extremely simple, but cuts out a lot of the code in the previous grasshopper script. It calls for the length of the list of points of the given divided curve and uses a sequence variable to extract the points in the range of given variables. I assigned numbers to start and end point variables and converted the variables to rounded integers by assigning those start and end variables to another x and y variable. I then outputted the values giving me 80 percent of the points on the line. I then lofted between these new curves to create the outer wing.





































Next was the vertical structure. I began by extracting the mid points of lines created by connecting the inner and outer curves. These lines were divided by 8 and I extracted the midpoints of each line using the LIST ITEM NODE to create the base points of the vertical structure. Since the structure didn’t run throughout the entire length of the structure, I used a python script node to create a node that would cull out points. Using the same premise of the script used to cull out 20 percent of the points before, I adjusted the start and end parameters to reflect vertical structure of the TGV station. I then simply projected lines created by the points outputted by the python node onto the base tunnel surface and created a loft between the lines.
















The next step was to create the inner wings. What made it difficult to create these wings were that they also contained skylights. To do this, I created a lofted surface between corresponding lines but used the sub-surf node to divide the surface and explode and extract the vertices I then used these vertices and through the use of various list item nodes, I was able to create paths that resembled that of the TGV's skylights. I finally used the surface split node to split the surface at the paths and used the cull node to delete the unwanted surfaces.















Finally, I used the pipes node to visualize the structure much like the TGV on the curves created by the script and joined all of my lofts. I then mirrored the piping and the joined lofts across a plane created by the control points corresponding to the center of the model creating a final product closely resembling the TGV Station.






Monday, March 25, 2013

Arch 689 Project 1: TGV Station (Update)

Limited drawings are available for the building, so I began by creating nurbs curves using control points to roughly trace the skeleton structure of the project. Here's the model after running grasshopper. After creating the basic form, I added parametric sliders to add structure and change the y, z and x scale of the form.


Here's an example of what the final model does when interacting with the parametric sliders.  

 

I will now go through screen shots of grasshopper and rhino to show you what I did to create the model. Click the link or go to the bottom of the post to watch a video going over the process.

Santiago Calatrava's TGV Station in Grasshopper

As you can see, the only components visible in rhino are control points I used to create nurbs curves that mimicked the skeleton of the model.


The scale sliders use the control points of these basic nurbs curves to control the scale of the form hence the multitude of inputs into the nurbs curve node. From these nurbs curves, I was able to begin creating the basic form of the model. I began with the outer wings  I couldn't simply create a loft between corresponding nurbs curves because they both began and ended at the ground plane, while the model shows a surface that begins at the ground and ends about two-thirds the distance of the imaginary curve. To do this, I divided the corresponding curves by a number parametrically controlled by the structure slider. I then selected certain points using the list item node as well as the split list node. These points created the skeleton of the final lofted surface for the outer wings. In addition to this, I also created the structure needed for piping offset from the surface as well as create the beginning of the vertical structure using a series of divide and split list nodes.




As I stated before the beginnings of the vertical structure were created int he previous "outer wing group." I simply projected lines created by find the midpoints of the before mentioned lofts. Only this time, the portion of these lines were selected to project down to the base tunnel surface because in the model, there is an are without vertical structure in both the front and back of the model.


The next step was to create the inner wings. What made it difficult to create these wings were that they also contained skylights. To do this, I created a lofted surface between corresponding lines much like mentioned before, but used the sub-surf node to divide the surface and explode and extract the vertices  I then used these vertices and through the use of various list item nodes, I was able to create paths that resembled that of the TGV's skylights. I finally used the surface split node to split the surface at the paths and used the cull node to delete the unwanted surfaces.



Finally, I used the pipes node to visualize the structure much like the TGV used and joined all of my lofts to create a easily bake able final product.




Santiago Calatrava's TGV Station in Grasshopper

Arch 689 Project 1: TGV Station

I selected Santiago Calatravas TGV Train Station as my case study to develop a method of creating a parametrically controlled model created in grasshopper.