tangled canopy

6
A CANOPY STRUCTURE FOR AN ALLEY WAY THAT CREATES A DENSE BUT PERFORATED LIGHT FILTER AND PROVIDES MULTIPLE LEVELS FOR INCREASED OCCUPATION AND ENHANCED VIEWS NATHAN ALESKOVSKY PHASE 2 EXERCISE 4 04.13.2011

Upload: nathan-aleskovsky

Post on 30-Mar-2016

250 views

Category:

Documents


0 download

DESCRIPTION

ARC 682 - Media II: Syracuse University, Master of Architecture Program Assignment involving MAXscript, Grasshopper, and 3D Printing

TRANSCRIPT

Page 1: Tangled Canopy

A CANOPY STRUCTURE FOR AN ALLEY WAY THAT CREATES A DENSE BUT PERFORATED LIGHT FILTER AND PROVIDES MULTIPLE LEVELS FOR INCREASED OCCUPATION AND ENHANCED VIEWS

NATHAN ALESKOVSKYPHASE 2 EXERCISE 404.13.2011

Page 2: Tangled Canopy

WallA=box length: 100 width: 2 height: 32 --draw a wall 100 units long, 2 units wide, 32 units highWallA.pos= [-15,50,0] --position wall

WallB=box length: 100 width: 2 height: 32 --draw a wall 100 units long, 2 units wide, 32 units highWallB.pos= [15,50,0] --position wall

Plane01 = plane length:100 width:30 --create plane length 100, width 30 Plane01.lengthsegs= 100 --create 100 length segments on the plane Plane01.widthsegs= 30 --create 30 witdh segments on the plane, creating a square grid Plane01.pos = [0,50,0] --set the position of the plane to the origin

-- BEGIN FIRST SET OF CYLINDERSfor i=1 to 10 do( fn drawLineBetweenTwoPoints pointA pointB = -- define the function to draw one line ( global ss = SplineShape pos:pointA -- create a SplineShape named ss addNewSpline ss addKnot ss 1 #smooth #curve PointA addKnot ss 1 #smooth #curve PointB updateShape ss addModifier ss (sweep CurrentBuiltInShape:2) -- add sweep modifier to turn ss into a box tube (shape 2) addModifier ss (push Push_value: -3.5) -- add push modifier to reduce the radius of the cylinder addModifier ss (TurboSmooth()) -- add turbosmooth modifier to smooth jagged edges ) ptA = [15,random 100 0,15] -- choose Point A for the spline ss, on Wall A ptB = [-15,random 100 0,0] -- choose Point B for the spline ss, on Wall B

for m = 1 to 10 do -- for loop to create multiple lines ( newSpline = drawLineBetweenTwoPoints ptA ptB

addKnot ss 1 #smooth #curve [random 5 0,random 100 0,random 10 18] 2 -- add a knot in the middle after the line is made updateShape ss )

)-- END FIRST SET OF CYLINDERS

-- BEGIN SECOND SET OF CYLINDERSfor g=1 to 10 do( fn drawLineBetweenTwoPoints pointA pointB = -- define the function to draw one line ( global ssa = SplineShape pos:pointA -- create a SplineShape named ssa addNewSpline ssa addKnot ssa 1 #smooth #curve PointA addKnot ssa 1 #smooth #curve PointB updateShape ssa addModifier ssa (sweep CurrentBuiltInShape:2) -- add sweep modifier to turn ssa into a box tube (shape 2) addModifier ssa (push Push_value: -3.5) -- add push modifier to reduce the radius of the cylinder addModifier ssa (TurboSmooth()) -- add turbosmooth modifier to smooth jagged edges ) ptA = [15,random 100 0,0] -- choose Point A for the spline ssa, on Wall A ptB = [-15,random 100 0,30] -- choose Point B for the spline ssa, on Wall B

for n = 1 to 10 do -- for loop to create multiple lines ( newSpline = drawLineBetweenTwoPoints ptA ptB

addKnot ssa 1 #smooth #curve [0,random 100 0,random 26 35] 2 -- add a knot in the middle after the line is made updateShape ssa ))-- END SECOND SET OF CYLINDERS

-- BEGIN THIRD SET OF CYLINDERSfor j=1 to 10 do( fn drawLineBetweenTwoPoints pointA pointB = -- define the function to draw one line ( global ssb = SplineShape pos:pointA -- create a SplineShape named ssb addNewSpline ssb addKnot ssb 1 #smooth #curve PointA addKnot ssb 1 #smooth #curve PointB updateShape ssb addModifier ssb (sweep CurrentBuiltInShape:2) -- add sweep modifier to turn ssb into a box tube (shape 2) addModifier ssb (push Push_value: -3.5) -- add push modifier to reduce the radius of the cylinder addModifier ssb (TurboSmooth()) -- add turbosmooth modifier to smooth jagged edges ) ptA = [15,random 100 0,30] -- choose Point A for the spline ssb, on Wall A ptB = [-15,random 100 0,15] -- choose Point B for the spline ssb, on Wall B

for q = 1 to 10 do -- for loop to create multiple lines ( newSpline = drawLineBetweenTwoPoints ptA ptB

addKnot ssb 1 #smooth #curve [random 5 0,random 100 0,random 10 18] 2 -- add a knot in the middle after the line is made updateShape ssb ))-- END THIRD SET OF CYLINDERS

MAXSCRIPT

1

2

3

4

5

6

1

2

34

5

6

Page 3: Tangled Canopy

GRASSHOPPER

create rectangular grid

ground plane curvewall b curvewall a curve

identify points closestto the curve

calculate the distancebetween the closest point

and the grid points

divide the distance by thedesired component size

find the minimum of the divided distance or min

distance from slider

cap the result to create a solid

rotate the system vertically around the x axisto create wall b

rotate the system vertically around the x axisto create wall a

divide pi by 2 to get angle in radians

divide 3pi by 2 to get angle in radians

multiply pi by 3

move the system to the edge of the ground plane

move the system to the edge of the ground plane

create a single geometry from the previous operations

create an extrusion of the ploygon to a height of the

vector

calculate a vector in the Z direction with its distance equal to the result of the

distance of the point from the curve divided by the

component size

create a polygon whose radius is controlled by the min distance and placed on the grid points of the

rectangular grid

This script creates a series of geometries of a desired number of sides and arranges them along a curve drawn in Rhino. The script also extrudes the shape to a desired height based on the distance from the attractor curve. Additionally, the script distances the extruded shapes from each other also based on thier relative distance from the attractor curve.

Page 4: Tangled Canopy

RENDER IN CONTEXT

Page 5: Tangled Canopy

RENDER IN CONTEXT

Page 6: Tangled Canopy

3D PRINTING