Introduction: Stackable Cups

This project is an extension on the tutorials of Stackable objects provided by Prof. Jennifer Jacobs. The initial geometry was designed manually using Rhino3D, and then similar objects were programmatically generated using Grasshopper, and finally sliced using Ultimaker Cura.

Step 1: Rhino

As we can see from the image, We first draw an open ended curve using multiple points as reference. This curve is built around a straight line which is around the Z-axis. We then draw an another line which will act as a base for the cup, which is explained later.

Step 2: Grasshopper

The main component is the Python scripting component, which has as it's input as the open ended curve we created in Rhino, the base line for generating the objects.
The revolve surface component converts the curve into its cup form, which is formed by rotating it 360 degrees around the z-axis.
Then, the scripting component created multiple versions of these cups with the same base, different scaling and transformation to generate multiple stacking cups.

Minor edits have to be made to the geometry of the initial curve so that multiple cups don't overlap with each other, and are neatly stackable.

Step 3: Cura

The final models are baked to create 3 separate cups. Ensure all the cups are in Union (i.e act as One unit by moving them around). Then the cups are exported into STL for the Cura software to slice. The overall printing time takes around 2 hrs 47 mins.