Air Traffic Control Tower Tutorial – Creating Structure


Categories: Tutorials

Tagged with: | | | |

final bake 2 Final Script Corrected






Tutorial created by: Lauren Bailey


This past semester I worked on utilizing Grasshopper in studio and applying all the new skills I had learned from the Grasshopper course. This tutorial contains five sections, each representing a different part of the air traffic control tower I had worked on. Grasshopper allowed me to work out the structural principles and problems I had been facing with my design while allowing me the flexibility to adjust dimensions and geometries as my design progressed. First we will create the tower structure, then move on to creating the enclosure for that. The second and third sections will cover how to create floor and roof plates for a unique circular geometry and how to structure it, and finally we will create the control cab using the principles discussed as well as a seemingly complex roof. The last section is focused on finishing up and an evaluation on this series of scripts as a whole.

Part 1: Tower Structure

This section sets the basework for what the control cab would sit on in my design. I began by creating four columns that would be the primary structure for my tower’s shaft. The tower would be a little over 60 meters tall and so I began by setting four coordinates (four separate but similar scripts) and extruding cylinders from those points.

1a 1 Script







From there I added another cylinder extrusion from those points to create a thicker base for my column that would support the structure all the way up to the cab. I did this four times, as shown below.

2 2 Script










It is important to group your scripts so they stay nice and neat and you do not forget what elements they modify. To do this, you select a script or portion of the script by holding down the left mouse button and dragging across the components, creating a rectangle. Right click outside of the area and select “Group” from the drop-down menu. You can also choose the color and name your groups.

Next, the structure needed some sort of a shell to create the form of the tower shaft. To do this I set a base point (based off of my columns) and entered in the X and Y coordinates. From there, I attached a series to the Z sector of my component. This determines the number of floors and heights between them. As required by code, my tower must have floors on the way up to the control cab, so the XY plane is added to create floor plates based on the series.

1 1 script








Now you should see a series of ascending floor plates. But they need some sort of geometry, not just points and rough grid outlines. Next add the polygon component and link the plane to it. This script is beginning to allow a lot of flexibility. For example, the polygon component allows changes in the type of polygon and how rounded the corners are (Rf = filet). This was essential for my design because sharp edges and corners are effected by wind more than smooth, rounded edges and corners. I also wanted my tower shaft to either increase in size as it ascended, or decrease in size. Because of this, a domain was created (bottom portion of the script). The script shown below and its components allow me to not only manipulate the geometry of the tower, but also the dimensions. Some examples are shown below.

2d2 script  2c 2b 2a 2e














Finally, the actual shaft shell had to be created. Based off of the outlines shown, I was able to loft all of the polygons (loft component). But once I did that, I realized that my coordinates did not align with my columns and the shaft shell needed to be rotated. This was added before the loft command so everything could be rotated all at once, including the floor plates. Finally, color was added to the lofted surface. To clean it up before baking, I went through and right clicked the components and turned the preview off in order to clean up the look and get rid of some points that were still necessary for calculations, but did not necessarily need to be seen.

3 2e 3a Final Image







The final script for the shaft shell:

Tower Final Script





Part 2: Creating Base Plates

Now that the columns and tower shaft had been created it was time to create the control cab and employee break area. My design dictated that these structures be two large cylinders that needed thick floor and roof plates to withstand the forces at that elevation. I began by working on the bottom volume by creating the floor plate. Once again, I started with a point and used sliders to make sure it was at the right elevation and offset from the tower. Then I added the ellipse component and created panels with the values of the x and y axes for the plate. A Bottom Plate










From there I created a second ellipse, slightly smaller and slightly lower than the original. This determines the geometry and thickness of the plate. I then lofted the two ellipses and also “capped” the geometry by creating surfaces for each of the curves, as shown below.

2 2











This is all nice, but I need to create the roof plate for my employee building now. Following the same steps as previously shown I added a second plate to my design.

3 3











This is another time that organization and grouping is crucial. Note that the two curves that I wish to attach my structure to are located near one another (the top ellipse of my bottom plate and bottom ellipse of my top plate).

Part 3: Cab Structure

The cab we just created is not yet complete! It must be structured. This is not a separate script, but rather a unification of the parts we created in the previous section.

I will then divide the curves I had previously highlighted both into 10 sections/points that represent the amount of columns needed. The second image shows a better view of what the divide polyline component looks like. I used a slider because throughout the semester the values changed and I needed increased flexibility in order to sculpt my roofs and their supporting structural systems. The final value I needed was 10.

4A 4B












Now we need to unite the two plates and create the columns. I chose to use the line tool and wrap cylinders around to form the needed geometry.

5b5 b









Both the divide polygon components are attached separately to the line command. I named this small section “Primary” because diagonal supports are needed as well. We still use the same points from both the divide polygons components, except this time we need to add a data component and shift list in order to connect the pairs of points in our desired formation.

5c5c 5 oVERALL








Here is a final look at the script for this section. The lower employee break area is now structured!

Final Script








Part 4: The Control Cab and Roof

Now that the employee area has been created, the control cab where the air traffic controllers work must be added. This form will be placed surrounding the thinner portions of my columns (the thicker support the floor, the thinner only support the roof). and will only need columns, not a truss-like structure due to the increased visibility required for this area. Thankfully it is quite similar to the previous section, only this will focus on the unique roof structure, created to increase efficiency and stability for my design.

11 script








First we create a pair of ellipses, just like the previous section. The bottom section is shown above and you can go ahead and loft and create surfaces from the curves to complete the floor plate.

Next the roof, the only major difference here is that a third ellipse is required for the top section. The roof we are aiming to create is thicker below, has a bit of a lip for rainwater control, and then gets significantly smaller near the top.

22 script











Go ahead and loft all three surfaces. Note that if you try to do it with one loft component it turns out looking quite strange and not like a roof at all. After some trial-and-error I discovered that in order to be successful, two lofts were required, one for ellipse 1 and 2, and the other for ellipse 2 and 3. Surfaces were added to curves 1 and 3.












Finally we add the columns by dividing the curves and connecting them first with lines, to help visualize, and then cylinders.

55 cript









The final script for this section should look something like this:

Final Script










Part 5: Finishing Up

After I had completed the structure and tweaked the sliders on many of my components to get the geometries and dimensions the way I wanted them, I then baked my creation. Baking allows the script to come to life and become an object/objects in Rhino. I simply selected the entirety of my script, then right clicked and selected the “Bake” option form the drop-down menu. The final script and product is shown below:

final bake 2final view Final Bake Final Script Corrected




This series of scripts proved to be quite useful and quite the learning experience over the past few months. It was first created before a meeting with a structural engineer as part of my design studio coursework, then expanded and manipulated over the course of a month until the design was technically correct and aesthetically interesting. However, the design has a lot of repeated components. I must admit I created this script on my own based off our coursework and a few tutorials, I did not look too deeply how to increase efficiency or link the different scripts better. Linking them in some way would definitely increase cohesiveness and unity of changes, I feel as though my “mess-up” and needing to rotate my tower could have been avoided. Keeping the script neat and tidy was a challenge as well, but overall I am quite happy with the end result and the solutions it helped me explore and create.

ATCT Grasshopper File: Lauren_Bailey Air Traffic Control Tower Script