MAT 238: Stackable Objects

by alexrasla in Workshop > 3D Printing

218 Views, 0 Favorites, 0 Comments

MAT 238: Stackable Objects

IMG_1284.jpg
IMG_1285.jpg

In this assignment, I designed a 3D model that could be scaled and stacked onto itself, similar to Matryoshka dolls.

Creating Curves and Surfaces

Screen Shot 2022-04-08 at 11.05.04 AM.png
Screen Shot 2022-04-08 at 2.36.47 PM.png
Screen Shot 2022-04-08 at 2.38.43 PM.png
Screen Shot 2022-04-08 at 3.21.27 PM.png

For this assignment, I wanted to diverge from creating an open curve that was revolved around the y-axis, and wanted to focus on the idea of creating a non-circular stackable object. To implement this type of stackable object, I first decided to create a closed curve that could be filled to create a surface. Then, I duplicated this surface, made it smaller, and placed it on the inside of the original curve (but slightly raised). Next, I extruded the surface to my desired object height and use the Loft operation to fill the volume between them. I also created two surface bases (one from the smaller one and one from the bigger one) and filled the volume between them using the Loft operation as well.

Object Printing Attempt

Screen Shot 2022-04-10 at 9.44.29 PM.png
Screen Shot 2022-04-10 at 9.50.08 PM.png
Screen Shot 2022-04-10 at 9.50.20 PM.png
IMG_1283.jpg

Once I developed this object, I attempted to print it to see if it would produce my desired result. However, after 2 attempts, it failed to create a hollowed out interior, and thus wasn't stackable. After attempting to debug my model and re-Loft and re-Extrude surfaces, I decided to take an alternative approach.

Alternative Approach

Screen Shot 2022-04-10 at 11.29.15 PM.png
Screen Shot 2022-04-10 at 11.30.54 PM.png

After struggling with my initial model, I decided to pivot my design technique. My alternative idea was to form a solid from the bigger curve, a solid from the smaller curve, and then subtract the two volumes. To do this, I took my original curve, used the ExtrudeCrv function to create a surface with a height from the original curve, and then capped the ends to create a solid volume. I performed a similar operation on the smaller curve, resulting in two solids of the same shape but different sizes. Using these two solid volumes, I stacked them on top of each other and performed a BooleanDifference between them. This caused the bigger volume to be hollowed out by the smaller one, thus ensuring the solid was filled between its surfaces and was stackable.

Printing Working Objects

Screen Shot 2022-04-10 at 10.45.50 PM.png
Screen Shot 2022-04-10 at 11.37.07 PM.png
Screen Shot 2022-04-11 at 5.47.37 PM.png
Screen Shot 2022-04-11 at 6.02.07 PM.png
Screen Shot 2022-04-11 at 3.00.09 PM.png
Screen Shot 2022-04-11 at 6.51.42 PM.png
Screen Shot 2022-04-11 at 6.50.28 PM.png
Screen Shot 2022-04-11 at 6.05.41 PM.png
Screen Shot 2022-04-11 at 6.43.46 PM.png
Screen Shot 2022-04-11 at 6.43.49 PM.png
Screen Shot 2022-04-11 at 6.44.03 PM.png
IMG_1285.jpg
IMG_1284.jpg

Once I achieved this working 3D model, I decided to print it and test whether or not it produced the desired result. Thankfully, it ended up producing an object with a hollow interior that could be stacked. Thus, I used Grasshopper and python code provided in the assignment to create my scaled duplicates. I slightly modified the code to take in two point objects that were used to scale the object instead of using the starting and ending point of the curve (since my object was not based off an open, rotated curve). Once I was able to fine-tune a set of objects that were stackable, I printed two smaller objects from my original print. My object was able to scale correctly up to 4 objects, but when trying to create more than 4, the objects would not be stackable, as can be seen in the screenshot. I suspect this is because there is a very minor offset in the object (likely caused when performing the BooleanDifference between the smaller and larger object). Nonetheless, I was able to print 3 stackable objects.