Large Assignment 2 – Justin Nelson

Design Process

The process to create my vessels was mainly explorative. Testing each line of code within the python scripts to see how it will affect the overall look. For each print I wanted a completely different pattern. The first vessel was a square pattern with an altered number of squares at each of the four radiuses. The second I was going for a draped cloth look around the vessel. Lastly, the third vessel was a simple triangle ribbed with slight twists along its perimeter.

Vessel 1
Vessel 2
Vessel 3

Design Process

Creating objects via programing and 3D printing allows highly customizable consistent designs. If the programmer is able to mentally picture point (x, y, z) coordinates and groupings there isn’t something they can’t create. Improved accuracy and use of rhino built ins makes things much easier to manipulate and create. A couple major advantages I noticed was object rotating and surfacing. Designing something in rhino, it was tough to get the exact twist or surface created. Programming made things more exact, letting me twist things along the precise z axis or surfacing the outside more consistently. In summary, there are countless freedoms programming allows when creating objects. Interested to see in what other ways programming has an advantage.

Creative Agency

Vessel 1
I began by forming four rings with two radiuses each. The first radius gave the starting diameter, the second radius allowed me to manipulate the length of each block. The input n for each ring varied the amount of blocks per ring. Using these three inputs I was able to lay the points out in such a way that attaching them with a line made one ring. I performed this process 4 separate times for each ring. Once all rings were created I made a descending amount of blocks per ring and shaped them into the vessel you see above. After properly surfaced I baked and printed.

Vessel 2
I started by forming 4 rings with two radiuses each. First radius gave the inner bound while the second gave the outer bound. The input n gave the amount of reference points to be used during the creation of surface. As the function iterated through n times a random number generator would give the theta angle increment between 0-3 degrees. Each iteration would also have a random generator to increate or decrease radius 1 and 2 by +/- 3. Once points were created, InterpCurve was used to connect them. Once rings were created the vessel was surfaced baked and printed. The randomness gave a cool cloth like look to the entire vessel.

Vessel 3
Just like the previous there were 4 rings created with two radiuses each. The first radius gave the starting diameter while the second gave the outer diameter. The input n gave the amount triangles per ring forming the cool ribbed texture. Using these three inputs I was able to lay the points out in such a way I could connect them with a line. Once each ring was created they were shaped to give the vessel shape, then surfaced baked and printed.

Each of the vessels took on their own challenges especially vessel 2. Since it mainly used randomness to generate, it was tough to get it to surface properly. I had to keep messing with the settings to generate one that was entirely solid. During the creation of these vessels I felt the design process was vaguely traditional. The programming made it more intimate in the design generation, but the overall pattern of creation seemed universal.

Grasshopper

6 thoughts on “Large Assignment 2 – Justin Nelson

  1. Justin,
    You had great creative agency and intent behind each vessel, they printed out very clean and I think the black filament suits the them very well. Did you run into any issues printing out some of the rings and curves on any of the vessels? Also, given some of the intricate details you created, did that slow down the printing process at all for you? Or did you have to adjust any of the speed/temperature settings? It’s amazing how simple math functions can generate some of the most unique designs, especially in your vessel where you even tie in the use of randomness. Looking forward to future projects and models you come up with!

    1. Desiree,

      Yes, I did run into some issues with surfacing on the last print. I originally had a greater distance between radius 1 and radius 2 along with a heavy twist. This created a bunch of holes in the print, so I had to scrap them and adjust the settings. In my slicer I slowed down during overlaps, this was to try and make the seam un-noticeable. Other than that the printer ran on full speed the rest of the time!
      It is really impressive how math alters the looks of these vessels, thank you for your comment!

      Justin

  2. Hi Justin,

    Your second design looks great, especially with the black filament used. I also liked the explanation and breakdown of your design process, particularly how you determined the f(theta) for your designs. Looking at how you arrived at your design for the second vessel kind of explains why it looks so good, and that’s because of the careful consideration of each point along its perimeter. Great design!

    Best,
    Jyrus

    1. Jyrus,

      Cool name by the way, very unique. Thank you for your comment, the randomness on the second vessel was really hard to get right, but once you get it to surface properly it looks great. I hope to explore more random functions later in the semester. Again, thank you for the comment!

      Justin

  3. Hello Justin,

    I agree that design with Grasshopper and python allows (moreso because it forces) you to be more precise with your parameters for Rhino commands, which was absolutely bothersome when designing solely using Rhino.
    I found the way you created the blocks described in vessel 1 to be interesting, particularly as rotations on each circle could provide some interesting changes to the overall shape. For each vessel, did you change how each line is drawn using a parameter (i.e. using InterpCrv vs. PolyLine)?

    1. Nathan,

      Thank you for the comment, I really appreciate it. I completely agree that when sole using Rhino it can be a pain to get exactly what you want to develop. Grasshopper may be a little glitchy at times but its ability to make python code come alive is incredible.
      Yes I did try using different patterns when appending points to the arrays, I found that the order you draw it is the best order to append. I also did try InterpCurve and PolyLine on all of these! I really liked the straight lines on the first and second vessel, but using InterpCurve on the last one just made it look so cool.
      Again, thank you for the comment. I really enjoyed your presentation today, your prints were incredible.

      Justin

Leave a Reply