12.13.2010

final project

Using the parametric plugins for Rhino, design a small pavilion, and represent it through drawings and a model.

This project utilized Grasshopper to produce a geometry that allows for a large degree of variability. The only input geometry required are a closed, linear polyline (defines roof of structure), a ground plane, and a small square (defines boundary for aggregated part). Locations of tubular column structures, number of components per grid square, size and shape of component, and as well as other parameters are all variable based on inputs in the grasshopper definition, and linked to the rest of the geometry so that changes will be updated across the entire structure.

Final presentation board provided below:



[rbd]

10.31.2010

project_04: data structures

This exercise focuses on the management and utilization of data strings in grasshopper for the construction of a parametrically controlled geometry. Combining, and building on techniques discussed in class, this project produces a twisting, elliptical variation of the Shukhov tower.

image_01: Shukhov Tower

In order to produce the diagonal columns between rotated ellipses, each elliptical curve was divided into segments. The coordinates for the endpoints of each segment were then extracted and managed as data branches. These coordinates were then used to inform the endpoints for alternating series of connecting lines, which were then joined. Additional lines needed to be added to connect the points at the end and beginning of each series.

image_02: grasshopper script

image_03: tower baselines (incremental rotation = 20 degrees)


These lines were then used as the base geometry for a network of three dimensional pipes.


image_04: pipe tower (incremental rotation = 35 degrees)

[rbd]

project_03: part to surface

This exercise utilized the grasshopper plugin for rhino as a tool for constructing a three dimensional surface as the aggregation of a variable three dimensional part. The geometry was then printed in ABS plastic.

A series of curves were constructed manually to define a variable surface in section.

image_01: surface defining section curves

These curves were then linked to a grasshopper definition that would loft them to create a surface, which would then be divided in two directions into a set of boxes. The number of divisions is defined by a set of number sliders to provide variability.

image_02: grasshopper script

image_03: lofted subsurfaces

These boxes define the boundaries for a set of subsurfaces which are used to output a string of data related to the area of each box. A logic command is used to compare the area of each box to another value set with a number slider. The binary output of this logic command informs which of two parts will then fill this box when aggregating the surface. Smaller boxes along the surface will contain a part with a hole in the middle, whereas the parts filling the larger boxes in the depressed center of the surface will have no hole in the center.

image_04: set of parts for aggregation

image_05: parts mapped to surface

After the geometry has been generated, it is exported as a mesh to be printed in ABS plastic. The final physical model can be used as a desktop object for collecting and organizing small items.

image_06: ABS plastic print

[rbd]

10.04.2010

project_02: patterning

This project serves as an introduction to the parametric capabilities of the Grasshopper plug-in for Rhino through the creation of a two-dimensional, variable pattern. The system should allow for progressive variation of parts within a field given changes to specific parameters.

The following image, the album cover for Animal Collective's 2009 release "Merriweather Post Pavilion," served as the inspiration for this assignment:

image_01: Animal Collective - "Merriweather Post Pavilion"

The pattern field was treated as a square grid of concentric ellipses that are each rotated independently about their centroid based on location in both the X and Y axes. Lines were added connecting the vertices so that when exported to Illustrator, the shading effects present on each ellipse could could be applied without additional drawing. The geometry was produced using the following grasshopper script:

image_02: grasshopper script

The script begins by establishing a series of cross-refenced points to create a grid. Grid spacing, and number of points is variable based on a set of number sliders. Next, coordinates in both the X and Y directions are extracted from the grid and scaled based on grid spacing to give a series of indices that is the same length as the number of points in the grid. The indices for X and Y direction are then added together and the resulting array of values will inform the degree of rotation at each point. Another number slider is used to control the degree of each incremental rotation (this is scaled by pi/180 to produce a value in radians for the rotate command). Ellipses centered at each point are added, and allow for variability in size based on a set of number sliders. A second set of ellipses is added as an offset of the first set, with the offset value controlled by an additional number slider. Focal points of concentric ellipses are connected by lines that are then extended by the offset distance so that they intersect both ellipses. Finally, commands informed by ellipse location rotate ellipses and connecting lines about their centroids. This rotation is incremental based on the input degree value in the previous slider multiplied by an integer value specified by the location of the ellipse in the X and Y direction.

image_03: variability in ellipse size (radius 1 and 2) and offset distance


image_04: variability in rotation angle (15 deg, 60 deg, and 30 deg)

After determining the desired parameters (grid size/spacing, ellipse size, offset distance, and incremental rotation angle) the geometry could be exported to illustrator for applying color fill:

image_05: final pattern with fill

[rbd]

9.27.2010

project_01: paneling

This project explores the use of the paneling tools plug-in for rhino as a means to digitally generate a surface structure as an aggregation of smaller units that can then be directly translated into a series of parts for physical assembly.

image_01: boundaries for surface construction

image_02: creation of hyperbolic surface

image_03: point array over surface domain

image_04: point array offset along z-axis

image_05: series of units constructed and attractor points selected

image_06: units arranged within array as a variable field defined by the two attractor points

image_07: individual units unrolled as flat surfaces for laser cutting and assembly

image_08: assembled surface structure

image_09: unit variability within model

[rbd]