WK1: Necklaces

by kobernik in Craft > Art

453 Views, 1 Favorites, 0 Comments

WK1: Necklaces

Screen Shot 2020-04-05 at 7.27.31 PM.png
Screen Shot 2020-04-05 at 7.34.56 PM.png

I started this project by following the week 1 tutorial. After creating two points, I connected those points to a python script that reads in a series of slider parameter values and uses for loops to procedurally build up a list of points.

These points were then transformed into a list of curves by applying a minimum distance threshold.

The curves were then offset and capped using [OffsetCrv], then transformed into planar surfaces using [Boundary].

The planar surfaces were extruded using [Extr] with a set height, and the final volumetric geometry was boolean union'd together with [SUnion].

Supplies

Rhino, Grasshopper, Pufferfish

Adjustments to Find the Amulet

Screen Shot 2020-04-05 at 7.44.05 PM.png

I continued making adjustments to the python code to generate patterns and settled on a pattern that reminded me of a necklace.

Fabricating the Amulet

Screen Shot 2020-04-05 at 7.53.26 PM.png
IMG_3704.JPG

Baking the Grasshopper procedure was straightforward.

Importing to Ultimaker Cura was easy and rewarding to see the gcode toolpath preview.

The amulet is sturdy, satisfying to hold, and will make a fetching necklace.

Enter the Spiral

Screen Shot 2020-04-07 at 1.59.18 AM.png
Screen Shot 2020-04-07 at 2.40.39 AM.png
Parametric Spiral in Rhino/GH

I was curious about integrating a spiral pattern, so I looked up some processing code examples, and added a pattern that would generate a spiral.

The rx slider controls number of rotations, the mod slider controls spiral size.

if(j % 6 == 0):
        count = i*ry + j; 
        count *= 0.02;
        nx = (pt2.X/2) + (count * mod/10) * math.cos(count);
        ny = (pt2.Y/2) + (count * mod/10) * math.sin(count);
        pt.append(rs.CreatePoint(nx, ny));

Combining Spiral and Lattice

Screen Shot 2020-04-07 at 2.42.14 AM.png
Screen Shot 2020-04-07 at 2.46.41 AM.png
Screen Shot 2020-04-07 at 2.47.23 AM.png
Screen Shot 2020-04-07 at 2.50.32 AM.png
IMG_3716.JPG

I was curious what the geometry transformation pipeline would spit out if I superimposed patterns, so I combined the spiral pattern with a lattice pattern.

# Spiral generator
#
if(j % 6 == 0):
    count = i*ry + j;
    count *= 0.02;
    nx = (pt2.X/2) + (count * mod/10) * math.cos(count);
    ny = (pt2.Y/2) + (count * mod/10) * math.sin(count);
    pt.append(rs.CreatePoint(nx, ny));

# Lattice generator
#
if((i + j/2) % mod == 0 or (i - j/2) % mod == 0):
    pt.append(rs.CreatePoint(x-pt2.X, y-pt2.Y, 0.0))

The result was satisfying. Because both patterns are dependent on the "mod" input variable, tweaks to this slider result in significant changes to the overall composition.