Tuesday, May 7, 2013

Final Project Progress - Roadway Design

    I continued working with Generative Components this week, trying to enhance my adaptive roadway.  It took a while but I think I finally got the hang of GC, at least the simple features and the syntax for the more difficult functions.  I was able to successfully incorporate conditional statements (if else statements) and for loops within my transactions in GC allowing me much more complexity with my model.  Learning the syntax and the process for creating these functions however, took a lot more time than I had hoped.
    But it was worth it.  These functions allowed me to alter the roadway pitch to create a crown in the roadway or super-elevation around a curve.  GC decides when to do this by itself based on the curvature of the centerline of the roadway.  Furthermore, it allowed me to program into GC when to create columns under the roadway if the roadway rose up farther than 2 feet from the ground line (2 feet was a random number I had chosen but it can be changed).  After seeing the effect of the columns I realise that I have to add some transverse beams at the columns but that is for another day.
    The hardest part at this point is coming up with the correct ratios in order to obtain the correct pitch of the roadway and the number of generated cross-sectional lines used to loft the roadway surface.  Also, the tolerance variable of when to super-elevate the road is a little tough to estimate (ratio) correctly.  I attempted to ensure that my model was a 3D object so it can be 3D printed but I am not sure how the STL file came out.  The first attempt at 3D printing will tell a lot.
   Check out some of these attached images from my model.  Just to note, the roadway width and number of lanes are still controlled through variables, even though I left them constant for comparison purposes in these pictures.














Tuesday, April 23, 2013

Roadway Attempt in GC

   I continued my exploration in Generative Components this past weekend.  I have found that while I like the overall layout and functionality of the program better than others that I have tried, it is taking me longer to learn the particulars about GC (such as syntax, where features are, how to accomplish certain things, etc).  With this additional time spent in the learning curve, I was only able to get as far in GC as I had done last week in Grasshopper.  I once again created a roadway, made as a solid, and based on certain input variables that control the dynamics of the object (such as number of lanes in each direction, lane width, roadway thickness, etc).  I did further research into the Boolean functionality (such as "if" statements) and found that they are much easier to implement than in Grasshopper.  However, I found that it was more difficult for me to control the physical appearance of the object (such as color and dashed lines) than it was in Grasshopper, and I haven't quite been able to implement the visual aspects as much as I would have liked.  I plan on sticking with GC from here on out based on our discussion of what was upcoming for the rest of the semester.  I feel like once I get the hang of GC I will be able to create some pretty interesting models.







Friday, April 19, 2013

Generative Components Exploration

   I was able to spend a good portion of time today working with the Bentley Generative Components program and going through the tutorials.  As was said in class, this software is so far ahead of anything that I have ever seen it is unbelievable.  It is my new favorite software and I have very little idea how to use it.  It combines written code with the digital modelling aspects of Microstation, best of both worlds.  Plus I like the interface that it gives you including the easy 3D control and visualization in the modelling window.  I haven't found the advantages of the simple graphical code view yet (the one similar to grasshopper) but I am sure that I just haven't come across its usefulness at this point.  I also like the feature that allows you to view the entire transaction code in the transaction dialogue box, yet I can't follow the code (c#) quite well enough yet (just a matter of time).  I can't even begin to imagine the capabilities of this program.  I was working through trying to import point locations into Microstation from an excel file on my own time and finding that I needed to do a lot of research, but it seems if I use GC it should be easy.  You even get an excel looking database interface when working in GC if you are using certain features.  Plus there are lots of tutorials on this topic as it seems that GC was made with this in mind.
   After going through the first 4 tutorials, I realize there is still a lot to learn and it will take a very long time to get used to it (probably years to master if that is even possible).  Because of this, I feel like my capabilities in this program are currently limited, but I plan to try to see if I can create something on my own this weekend, at least as a trial (outside of tutorial help).  I will however urge everyone in the class to block out a large portion of time if you want to go through the tutorials correctly and start to learn just the basics of the program; it really is that complex (but worth it in my opinion).
    As a couple of tips, it is hard to keep remembering to save your transactions but it is a very important step.  Also, remembering to hold ctrl down when selecting points (or objects) as input into functions is important.  It also helps to keep a running list of your point and variable names, GC does this for you but it is difficult to access and figure out which point is which when you are in the script editor (you can choose a point but I was finding that I would forget which one to choose, and I couldn't select it in the model window with script editor open).  Furthermore, explore Bentley's online help documents in their communities website.  There is a lot of good help there.  With that said, it is hard to find and navigate through their website.  I would have never guessed that a company that can create such amazing software had what seems to be some trouble creating an easily navigable website.  After searching for some time you will find that they have very helpful information on there website though, such as this link providing a good source of written information from Bentley about some of the basic features in GC:
   Take a look at some of the images from my first couple of attempts with the tutorials.  The images don't even come close to showing the capabilities of the program but are interesting none-the-less.