Introduction: MAT 238: Assignment 1

Assignment for MAT 238 to create a 2D ornamental pattern in Grasshopper and extrude it into a three dimensional form.

Step 1: Starting Out

To get started with Rhino3D and Grasshopper and become familiar with their interfaces and workflow, I followed the manual provided in class to create a 2D ornamental pattern. Although using the interface and understanding the interactions between Grasshopper and Rhino3D became pretty intuitive, I encountered quite a few errors when utilizing the Python script component. Although I followed the instructions exactly, the rendered image turned out quite differently than the one on the manual, as seen in the image.

**note: the mtype here is 3 whereas in the manual it is 0, but similar different results ensued despite the int value of mtype**

Step 2: Tracking Down Problems

There were some known bugs that I was swiftly able to fix and some unknown bugs I was not sure where they stemmed from. One of the trivial bugs was ensuring that the Python component was accepting the rx as an int input as otherwise it would lead to an error of accepting a float as input when it expected an int. An error that I was not able to solve was the output of the curves. Visually, the curves between points were being computed, but when I tried passing the curves values to the offset curve component, an error of no known numerical values were being passed. Unsure of why the values were not being passed, I reviewed the Python script and all of the input types to make sure they matched up.

After trying a few different things, the problem persisted and I decided to start over from step 1 to see if I missed a step. When I took the same exact steps up to connecting the points to the Python script, a new error appeared of the index being out of bounds before the outputted solution. That error did not appear before when I first reproduced the steps in the manual and as I took the exact same steps as before and looked over the script again, I was not what was the cause of it. I encountered similar bugs like these that I could only resolve by starting some of the steps over again so that they disappeared.

Step 3: Getting Results

After having to restart from step 1 a few times and playing around with the inputs, I ended with results similar to the manual. Besides the minor bugs, I found using Rhino3D and Grasshopper to be pretty straightforward. It is quite easy to create intricate and visually interesting models using only a few components.

Step 4: Exploring Grasshopper's Capabilities

After completing the manual, I wanted to further explore what Grasshopper had to offer and its other components. I found a great Youtube channel that provided tutorials on how to take full advantage of Grasshopper's utilities to create visually stunning artifacts. Following one of the tutorials that discussed creating Voroni Diagrams in a three dimensional space, I was able to create a model whose structure I found to be attractive and would love to incorporate in a design for this class. I did need to download a new extension called Weaverbird's Picture Frame as it has features that were useful in creating the final three dimensional design.

Step 5: Slicing the Model in Cura

I exported the Voroni Diagram model as a STL and imported it into Cura to be sliced using an Ultimaker S5 printer. The structure is visually complex but minimal in its structure, but even then it will take about an hour and a half to print this small model. That brings into perspective the amount of time I should expect designs I may want to create to take to print and how I should account for this lengthy amount of time in my design process.