Sunday, April 23, 2017

ARCH653 Final Project

For my final ARCH 653 project, I had to (unfortunately) change my model to demonstrate the power of Dynamo. I am still modeling a bridge, but have changed it to the Gateshead Millennium Bridge, located in Newcastle, England. This is a pedestrian tilt bridge, which rotates to allow ships to pass through the River Tyne. What I will demonstrate is the ability for Dynamo to update parameters with a click of a button, as opposed to manual methods as seen in Project 1.

 Figure 1. Gateshead Millennium Bridge in its down position, allowing pedestrians to cross the River Tyne.
Courtesy of Wikiwand, 2015.

Figure 2. Gateshead Millennium Bridge in it's up position, allowing a ship to pass through via the River Tyne.
Courtesy of KSGenre, 2016.

I first had to recreate the basic family file to model the bridge, a simple task after Project 1. This was done by creating the arch and sidewalk components as adaptive components and then loading them into the main family file. Figure 3 below illustrates what the bridge should look like with only the cable components (this was done without Dynamo).

Figure 3. Bridge created in the family file that will be replicated with Dynamo.

Figure 4. Parameters in the family file.

Figure 4. Basic family file containing the arch and sidewalk components.

Next, was the most exciting part of the project: creating the dynamo files to perform tasks. Due to the complexity of the bridge, I created a Dynamo file for the family file (.rfa extension) and the project file (.rvt extension). Each group, from their respective files, was created in their own separate files first and then, once they all worked accordingly, I compiled them into a single file. The family file is able to control the angle of the bridge and the number of cables connecting the arch and the sidewalk. The project file reads a Microsoft Excel spreadsheet for ship passing times to determine if the bridge needs to rotate to its up position, to allow a ship through, or if it can stay in its down position. If the bridge needs to rotate then the gates on the deck will rotate to close, preventing pedestrians from crossing while the bridge is raised. Below are figures showing the Dynamo tasks through their data structure, followed by examples of how those parameters can be changed. Some of the components are not attached to avoid cramping the images. Please see the attached video for the complete models.

Figure 5. Changing the number of railing components added to the sidewalk.

Figure 6. Very few railing on the sidewalk.

Figure 7. Many railing components on the sidewalk.

Figure 11. Adding the cable components to the arch and sidewalk components.

Figure 12. A few cable components.

Figure 13. Many cable components.

Figure 7. Changing the angle of the bridge in the project file via the integer slider.
Figure 8. Bridge rotated to 93° in the project file.

Figure 8. Bridge rotated to 130° in the project file.

Figure 8. Reading the tilting schedule to determine if the bridge should rotate.

Figure 9. The bridge does not need to tilt and the gates remain open.

Figure 10. The bridge needs to tilt and the gates close.

Critique and Shortcomings
One of the most difficult parts of the project was getting the planes to rotate and locking the components to those planes such that they rotate as well. If any of the angles are set to an integer of 90, the component will lock to that reference plane and cannot be changed. The way my model is set up doesn't allow for the length of the bridge or the height of the arch to be changed within the family types command box. The view must be changed to wireframe and then the middle reference point can be moved and the components will update accordingly. Similarly, the length of the bridge and arch (the start and end points for their spans) can also not be changed within the family types command box. The biggest challenge I faced was in the project file. When the bridge needed to rotate with the cable and railing components, the bridge itself rotated but the components did not (Figure 11). A work-around (by no means a solution) would be to reopen the family file, change the angle in the command box to 150°, re-run the dynamo family file, re-load it into the project file and then run the project file again. I believe to fix this I would have to create a list of the angles of the components and have them linked to the arch and sidewalk faces.

Figure 13. Bridge rotates but the cable and railing components do not.

Because I used a new project, I did not have time to add more embellishments such as the glass panes at the edge of the bridge, water and benches. I hated to disappoint by using a new project, but I wanted to further demonstrate Dynamo's ability to change parameters and the designs aspects with a few clicks. Thanks for viewing my project. Take care and...
Gig 'em!

Cameron Crockett

Wednesday, March 22, 2017

Project 1

For my ARCH 653 project, I chose to design the London Millennium Footbridge, a pedestrian bridge in London, England that crosses the River Thames. The bridge first opened in June 2000, but due to it's unstable nature, it was closed and later reopened in 2002. This case study interested me because I am a pursuing my Master's degree in civil engineering and hope to some day design bridges. Unfortunately, I was unable to find exact specifications for the bridge, therefore I had to estimate the approximate size of some of the components. In this blog, I will detail the main design aspects of creating this beautiful bridge.

Figure 1. London Millennium Footbridge.
Courtesy of Adrian Pingstone, 2005.

Naturally the first step in creating the bridge was to define the levels for the components. However, because I did not have the exact specifications I defined them over the course of the project.
The first thing I did was create the columns by placing ovular shapes at different levels and extruding them using the Creating Form command (see Figures 2 and 3).

Figure 2. Unformed bridge components.

Figure 3. Formed bridge components.

Next, I created the walkway. While this step was very straightforward, creating the components which were hosted by the walkway proved to be rather formidable. The railings and glass panels were created using adaptive components. I was unable to find a way to array or repeat the components to the bridge, therefore I manually implemented reference points and dimensioned them accordingly. The components were then input manually at each reference point - a lengthy process.

Figure 4. Walkway with no components.

Figure 5. Walkway railing component.

Figure 6. Walkway glass panel component.

Figure 7. Portion of the Walkway component with reference points to host appropriate components.

Figure 8. Portion of the Walkway component with components added.

The cables were created using adaptive components and creating a spline through the end points, to allow the cable to adapt to its host. The components which hold the cables are square and ovular extruded shapes. Slots which allow the cables to go through are voided circles placed after the ovular component was extruded.

Figure 9. Cable component.

Figure 10. Cable Holder component unformed.

Figure 11. Cable Holder component formed.

Figure 12. Assembled Cable and Cable Holder component.

Other various components which were used in design of the bridge are shown in their respective forms below. 
Figure 13. Landing Pad component.

Figure 14. Non-bridge Walkway component.

Figure 15. Ramp component (Note: the out of straightness is caused by a conflict with the glass panels of the walkway component).

Figure 16. Retaining Wall component.

Figure 17. Stair adaptive component.

Figure 18. Concrete Barrier component.

Figure 19. Parametric relationships used (Note: some equations were calculated after placing the components into the main project file).

Figure 20. Large spacing via changing the Column Spacing parameter.

Figure 21. Close spacing via changing the Column Spacing parameter.

Figure 22. Conflicting overlap between two components (Note: this problem will be elaborated in the Critique and Shortcomings section towards the end).

Figure 23. Misalignment between two components (Retaining Wall component and Walkway component).

Figure 24. Millennium Bridge completed model.

Figure 25. North end (looking south) rendered view on the bridge.

Figure 26. South end (looking north) rendered view on the bridge.

Figure 27. North end (looking south) rendered view.

Figure 28. South end (looking north) rendered view.

Critique and Shortcomings
Unfortunately, because the bridge required many components to be loaded into the main project file, creating parametric relationships was not possible. During the process of creating the components the array/repeater tool was often unavailable for my creation of the components, which forced me to perform repetitive tasks manually. Parametric relationships mainly only exist between the columns and the height of the bridge. Some parametric relationships are not completely robust. That is, changing one component may cause conflict with another component. Because some of the aforementioned components are not all straight, dimensions, and thus relationships, could not be established between all the components to allow for a fully robust model.
Another short coming is that I was unable to get the walkway component to curve, as does the real bridge. The middle is considerably higher than the north and south ends, but when trying to curve the bridge, the entire structure would move as one instead of only part of it. If I were to re-do the project, I would have started with an adaptive family for my bridge (instead of a mass model) and split the bridge such that the middle portion curved upwards. I could have also still used a mass family, but made more segments of the bridge, as opposed to a single long one, so that I could use the x-ray tool to make parts of the bridge higher than others.
Perhaps a building would have been easier, but I wanted to try something different and (somewhat) more challenging. Thank you for viewing my project and I hope you have enjoyed it. Take care!
Gig 'em!

Cameron Crockett