Portfolio

Page 1

WORK



professional work school work personal work

03

Audemars Piguet, Royal Oak Exhibit Fabrication

11

Portland Water Resource and Education Center

21

blowfishLAMP

27

Mount Sinai, Lobby Feature Wall Fabrication

35

Oslo National Museum

SITU Studio

building

SITU Studio

object

41

visuaLatency

45

Virgin Atlantic JFK Clubhouse Furniture

51

Lents Community Urban Agriculture

57

computerVision

63

Lodge Mountain Rest Stop

w/ Jeffrey Maas

SITU Studio

meta



SITU Studio | SITU Fabrication 2012

This project was completed while working for SITU Fabrication in Brooklyn, New York. SITU engineered and fabricated the six Fragments designed by Sebastien Leon Agneessens & MA3 which house a number of historic Audemars Piguet watches in addition to a watchmaking studio. The Fragments were built to be disassembled, crated and re-assembled at different cities around the world.

My role in the project included full documentation and detailing of the design through all phases of fabrication. This included developing a Grasshopper definition to help generate structure and fabrication documentation. I collaborated with the fabrication team on a daily basis to troubleshoot the construction and assembly process. 03


fragment aluminum structure and plywood facade framing completed

beginning the installation of walnut siding


walnut siding installed, finishing trim and fascia of the ‘Watchmaker Fragment’

05


Installation Sequence

LED ROPELIGHT PREATTACHED TO BASE FRAME METAL LAMINATE TOEKICK PREATTACHED TO BASE FRAME 4" x 4" x 1/4" ALUMINUM TUBE BASE FRAME

ALIGNMENT BRACKETS BOLTED TO BASE FRAME RECESSED CASTERS PREATTACHED TO BASE FRAME

1 1/4" x 1 1/4" x 1/8" ALUMINUM TUBE

METAL LAMINATE PANEL WITH Z-CLIP PREFITTED AND ATTACHED

4" x 4" x 1/4" ALUMINUM TUBE BASE FRAME ALUMINUM RIB PREFITTED WITH Z-CLIP

base assembly at corner showing wall attachment and lighting

06

wall framing is installed and bolted to the base

installation of roof assembly with bolted connections to wall


FULLY ASSEMBLED DISPLAY CASE SLID ONTO ALUMINUM RIBS

METAL LAMINATE PANELS HUNG ONTO ALUMINUM FRAMES WITH PREFITTED Z-CLIPS

ALUMINUM FRAMED AND CLAD BOX CONTRUCTION SLIDING ALUMINUM PLATE ACCESS PANEL CNC-MILLED HDU FOAM DISPLAY LANDSCAPE

1/2" - 3/4" THICK SOLID WALNUT STRIPS GLUED AND NAILED/SCREWED TO PLYWOOD FRAME CNC MILLED PLYWOOD FRAME STEPPED TO RECIEVE WALNUT STRIPS PREFITTED Z-CLIPS ASSEMBLY TO ATTACH WOOD PANELS

PREFITTED ALUMINUM STOPS FOR BOX ALIGNMENT

installation of the watch vitrines with brackets

attachment of the exterior wood panel assemblies

door panel removed for access to inside of fragment

07


08




David Gabriel, COLAB Architecture 2011

As an intervention on Portland’s Waterfront, the project finds itself as a threshold building.This is translated conceptually into the building as a place for collection which is realized formally through simple moves. Breaking the building into three forms allows penetration through without limiting the flow along the current esplanade. These forms are then held together by a fragmented roof that opens up outwardly to accept and collect people, but then closes down internally to make a more intimate space. It is here at this intimate space that a compluvium is inserted, this becomes not only the beginning of a water habitat but also the organizing factor of the entire project. It is here that people collect to learn about water in the city and to re-establish their personal connection with the natural element. 11


ST. HELENS SCAPPOOSE

VANCOUVER

PORTLAND MILWAUKIE

LAKE OSWEGO GLADSTONE

WEST LINN

OREGON CITY NEWBERG

WILSONVILLE

BUTTEVILLE

CANBY

DAYTON

KEIZER

SALEM

INDEPENDENCE

PROGRAM EXHIBIT

4000sf

OUTDOOR EXHIBIT

4000sf

OUTDOOR CLASSROOM

4000sf

INDOOR CLASSROOM

2400sf

LOBBY

2400sf

LABS

3200sf

OFFICE

2820sf

CAFE

2000sf

OUTDOOR CAFE

1500sf

RAIN GARDENS

1200sf

GREENHOUSES

6800sf

ALBANY

concept models; walnut, plaster, acrylic; indian rosewood, plaster; twigs, resin, plaster

CORVALLIS

HARRISBURG

12

TOTAL EUGENE

SPRINGFIELD

34320sf


4 5 Exhibit

3

Exhibit

Education

Education

2

1

1 2 3 4 5

Compluvium Perpetually Wet Pools Seasonal Wetlands Grasslands River

Research

concept diagram - collection

program - water circulation

program - water story

Research

program - pedestrian circulation

entry from south

13


20

21

22

2 1

19

17 15

10 3 6 18 4 16

GROUND FLOOR PLAN

15

SCALE: 3/64” = 1’-0” 0

5

15

N

35

4 9 7 12

17 5

12

7

12 12 12 5 8 17

13

9

10

11

6

14

14

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

café pier gallery entry/reception lab anaerobic reactor lab prep break conference mechanical copy shared office director’s office experimental greenhouse classroom living machine greenhouse lecture hall impluvium perpetually wet pool grasslands seasonal wetlands wilamette river

REFLECTED CEILING PLAN SCALE: 3/64” = 1’-0” 0

5

15

35


3/16” = 1’-0” model; milled foam, molding paste, veneer, 1/8” birch plywood

15


facade study model; plaster, milled foam, stainless hardware


lecture hall

facade tectonic model; plaster, milled foam, stainless hardware



looking south from bridge looking southeast from wetlands

looking north from under compluvium



Professor Nancy Cheng 2011

The blowfishLAMP is an exploration of biomimetic design that embeds aspects of biology, engineering, and computer science, challenging the concept of a typical luminaire while creating a fixture that simultaneously responds to, and augments its environment. Inspired by Diodontidae, a family of fish commonly referred to as “blowfish�, the design attempts to engage the morphology and behavior of a biological organism through an orchestration of parametric modeling, pliable materials, and response to environmental feedback. The imbricated membrane pattern was mathematically rationalized using parametric modeling software and was selected, in conjunction with the membrane material, for its characteristic flexibility.The integration of technology, coordinated with the material quality and method of assembly, allows for a kinetic organism that responds to external stimuli. 21



top plate lamp socket lamp luminaire

stepper motor PIR motion sensor Arduino UNO bottom plate


m o delin g

Using Gr asshopper, a par ametr ic definition was wr itten to mimic the balloon like action, and spiny lamina of the blowfish. The definition applies the scales to a user defined cur ve , and outputs cut files labeled for fabr ication and assembly.

fabr ic atio n

The imbr icated scales are laser cut from seven sheets of 18” x 24” polypropylene paper (yupo), while the top and bottom plates are laser cut from a 15” x 8” x1/4” tr anslucent acr ylic sheet.

24”

= 4’ x 6’ of material

18”

x1

x3

x3


as s e m b ly

The scales over lap and inter lock, creating str ips that tab to the top and bottom plates. As each str ip is tabbed into place the luminaire becomes more str uctur ally sound

ins ta lla tio n

A passive infr ared sensor mounted to the bottom plate detects r adiant heat from living or ganisms in proximity to the luminaire . This data is tr anslated via digital signal to an Arduino Duemilanove , which in tur n tr ansmits the signal to dr ive a stepper motor. The rotation of the stepper motor is tr anslated linear ly, spooling and unspooling a cable , which dr ives the contr action and expansion of the luminaire .

//Controling a stepper motor //with a PIR motion sensor. //Start Arduino sketch...

int dirPin = 2; int stepperPin = 3; int numSteps = 1600; int MS1 = 13; int MS2 = 9; float MS1val = HIGH; float MS2val = LOW; int SLEEP = 12; int timer = 500; int PIRalarmPin = 0; int PIRalarmValue = 0; int alarmValue = 0; int alarmValuePrevious = 0; int ledPin = 11; void setup() { Serial.begin(9600);

pinMode(dirPin, OUTPUT); pinMode(stepperPin, OUTPUT); pinMode(MS1, OUTPUT); pinMode(MS2, OUTPUT); pinMode(SLEEP, OUTPUT); pinMode(ledPin, OUTPUT); pinMode(PIRalarmPin, INPUT); delay (2000); } void loop(){ Serial.println(“new”); PIRalarmValue = analogRead(PIRalarmPin); Serial.println(PIRalarmValue); delay(10); if (PIRalarmValue < 100) { alarmValue = 0; Serial.println(alarmValue); } else { alarmValue = 1; Serial.println(alarmValue); } if (alarmValue == 0) { digitalWrite(ledPin, HIGH);

Serial.println(“motion”); delay(10); stepper(true,numSteps); delay(500); alarmValuePrevious = 0; } else { digitalWrite(ledPin, LOW); Serial.println(“no motion”); delay(10); stepper(false,numSteps); delay(500); alarmValuePrevious = 1; } void stepper(boolean dir,int steps){ digitalWrite(dirPin,dir); digitalWrite(MS1, MS1val); digitalWrite(MS2, MS2val); digitalWrite(SLEEP, HIGH); delay(100); for(int i=0;i<steps;i++){ digitalWrite(stepperPin, HIGH); delayMicroseconds(100); digitalWrite(stepperPin, LOW); delayMicroseconds(100); } digitalWrite(SLEEP, LOW); }

//End sketch.



design SITU Studio | SITU Fabrication 2011/2012

This project was completed while working for SITU Fabrication in Brooklyn, New York. SITU engineered and fabricated a feature wall for a residential tower designed by Pelli Clarke Pelli Architects. The wall is 17’ tall by 40’ long and is made of 30 walnut faced panels that define a twisted and wavy surface.

My role in the project included full documentation and detailing of the design through all phases of fabrication. Using Grasshopper to streamline design and fabrication documentation, I was able to oversee the project through fabrication while collaborating with and supporting the fabrication team throughout the entire construction process. 27


walnut veneer

3/8” birch plywood, CNC milled

3/4” birch plywood ribs, CNC milled

1” birch plywood vertical ‘through’ rib

1” birch plywood ‘partial’ vertical rib

3/16” MDF reveal, CNC milled

3/4” birch plywood ‘back’, CNC milled with dados to receive ribs

28


1/4 of wall, showing structure

1/4 of wall

29







Professor Don Genasci 2010

Given a delicate history of the site that is close to six acres in size and a program that approaches one million square feet, the Olso National Museum presents itself as a study in both urban design and form. How does a structure of this size fit into the urban fabric of Oslo without overpowering the historic Train Station turned Nobel Peace Center? The concept is simple: allow the palimpsest of the history of the site to exist, while allowing the grid to penetrate,and create internal city blocks. From this the form is generated and then manipulated to allow the building to step down to a central plaza which faces the Nobel Peace Center. Two of the blocks become the museum while the other blocks are given over to future mixed-use development. The blocks of the museum allow shifts between the two, creating a central circulation space. This circulation space allows a coherent navigation between the forms of the museum, providing access to both the internal program and the varying levels of terraces and roof decks. 35


projecting streets

fourth floor

third floor vestbanen memory

second floor

form geometry

ground floor


section through exterior circulation space and gallery

aerial perspective

longitudinal section

museum

plaza

Nobel Peace Center


rendering of plaza looking towards entrance


vertical circulation ramps



in collaboration with Jeffrey Maas 2011

As designers of the physical environment, we are obsessively interested in the interaction of human occupation and space. This interaction is the basis for architecture, and both drives and derives interaction and emotion--it is through solely this interaction that meaning of the space is created in its users. Thus, it is this interaction--or more directly, the exposition of this interaction--that visuaLatency presents Inspired by Neil Spiller’s visualization of information relationships, our system captures and records spatial usage over time, compiles it and visualizes it for the users of the physical environment in real time. visuaLatency is a lens—built on the open-source program Processing and projected into physical space—to see the past hour of spatial use instantly. From this visualization, one can begin to interpret space use patterns and their own relationship to the space—even begin to hypothesize towards the origins of various emergent patterns. visuaLatency was exhibited in the Univeristy of Oregon’s Portland Library and Learning Commons for four months in 2011. 41


/* visuaLatency is an installation by Geoff Sosebee and Jeffrey Maas. Written by Geoff Sosebee and Jeffrey Maas with help and support from Sam Jeibmann and the members of the Processing.org Forum. Start Processing Sketch */ import fullscreen.*; FullScreen fs; int wi = 640; int ht = 480; String filetype = “.tiff”; int[] R = new int [wi*ht]; int[] G = new int[wi*ht]; int[] B = new int[wi*ht]; int variance = 1; int numFrames = 150; int currentFrame; int preFrame; int opacity = 4; PImage view; void setup() { size(wi, ht); background(0,0,0); frameRate(5); currentFrame = 1; preFrame = 0; view = new PImage(width, height); loadPixels(); noCursor(); fs = new FullScreen(this); fs.enter(); } void draw() { for (int y=0; y < view.pixels.length; y++) { R[y] = 0; G[y] = 0; B[y] = 0; } int m = minute(); int mL = m-variance; int mH = m+variance; for(int z=0; z < 60; z++) { if((z < mL) || (z > mH)) { blendImage(z); } } for(int i = 0; i < view.pixels.length; i++) { int r = R[i];

int g = G[i]; int b = B[i]; view.pixels[i] = color(r, g, b); } view.updatePixels(); image(view, 0, 0); if(currentFrame == numFrames) { String mo = nf(month(),2); String d = nf(day(),2); String h = nf(hour(),2); String mi = nf(minute(),2); String s = nf(second(),2); save(“output_”+mo+d+h+mi+s+filetype); } frameNumber(); } void blendImage(int z) { int frameToProcess = z; PGraphics displayFrame = createGraphics(width, height, P2D); PImage newFrame = loadImage(frameToProcess+filet ype); newFrame.loadPixels(); for(int i=0; i < newFrame.pixels.length; i++) { displayFrame.beginDraw(); displayFrame.loadPixels(); color newFColor = newFrame.pixels[i]; int nr = (newFColor >> 16) & 0xFF; int ng = (newFColor >> 8) & 0xFF; int nb = newFColor & 0xFF; R[i] += (nr)/opacity; G[i] += (ng)/opacity; B[i] += (nb)/opacity; } displayFrame.endDraw(); } void frameNumber() { if (currentFrame < numFrames) { currentFrame ++; } else { currentFrame = 1; } if (preFrame < numFrames) { preFrame ++; } else { preFrame = 1; }


import processing.video.*; Capture cam; int wiDth = 640; int heiGht = 480; int[] R = new int[wiDth*heiGht]; int[] G = new int[wiDth*heiGht]; int[] B = new int[wiDth*heiGht]; float threshold = 60; int opacity = 45; int framerate = 2; int startFrame; int currFrame; int totalFrames = 60; int totalCount = 0; int[] previousFrame; int numFrames = 98; PImage timeIMG;

void countSave() { int m = minute(); if(totalCount == totalFrames) { totalCount = 0; } saveFrame(“/Volumes/visionLatency/mergeDisplay/”+m+”.tiff”); currFrame = 0; background(0,0,0); for(int i=0; i<pixels.length; i++) { R[i] = 0; G[i] = 0; B[i] = 0; } totalCount ++; } void frameDifference() { cam.read(); cam.loadPixels(); for (int i = 0; i < cam.pixels.length; i++) { color currColor = cam.pixels[i]; color prevColor = previousFrame[i]; int cR = (currColor >> 16) & 0xFF; int cG = (currColor >> 8) & 0xFF; int cB = currColor & 0xFF; int pR = (prevColor >> 16) & 0xFF; int pG = (prevColor >> 8) & 0xFF; int pB = prevColor & 0xFF; int diffR = abs(cR - pR); int diffG = abs(cG - pG); int diffB = abs(cB - pB); float diff = dist(cR, cG, cB, pR, pG, pB); if (diff < threshold) { pixels[i] = color(0); } else { pixels[i] = color(#ff1493); } int r = (pixels[i] >> 16) & 0xFF; int g = (pixels[i] >> 8) & 0xFF; int b = pixels[i] & 0xFF; previousFrame[i] = currColor; R[i] += r; G[i] += g; B[i] += b; } updatePixels(); }

void setup() { size(wiDth, heiGht); background(0,0,0); for(int i=0; i <= totalFrames; i ++) { save(“/Volumes/visionLatency/mergeDisplay/”+i+”.tiff”); } cam = new Capture(this, width, height, framerate); previousFrame = new int[cam.width*cam.height]; timeIMG = new PImage(cam.width, cam.height); loadPixels(); startFrame = 0; currFrame = startFrame-1; } void draw() { if (cam.available() == true) { cam.read(); frameDifference(); for(int i = 0; i < timeIMG.pixels.length; i++) { int r = R[i]/opacity; int g = G[i]/opacity; int b = B[i]/opacity; timeIMG.pixels[i] = color(r, g, b ); } timeIMG.updatePixels(); image(timeIMG, 0, 0); currFrame ++; if (currFrame == numFrames) { countSave(); } } }

stills of display



design SITU Studio | SITU Fabrication 2011/2012

This project was completed while working for SITU Fabrication in Brooklyn, New York. SITU was hired to engineer and fabricate two couches for the Virgin Atlantic JFK Clubhouse designed by Slade Architecture. SITU was to do all fabrication with the exception of upholstery. The two couches take on an egg-like form and are designed such that the seat pods are removeable for re-upholstery.

My role in the project included engineering and full documentation of the fabrication drawings and processes. The structure of the couches was engineered to be a radial waffle structure that provided varying degrees of structure where needed. Using Grasshopper I was able to streamline the design process, generate cut sheets and fabrication documentation. This allowed me to take the project through prototype phase in a very short period of time. 45


radial seat ribs

orthagonal seat ribs

radial body ribs

orthagonal body ribs

46


partial rib structure

partial rib structure with seat

47





Professor Howard Davis 2010 Lents Central is a place that supports community agriculture, by providing the necessary tools to facilitate education and community. At a point in the city where several modes of transportation meet, Lents Central becomes a congregation point for the community, a place for farmers markets, and a place for meeting. The form of the building is fabricated from the neighboring city structure, this further establishes the project as the central point for community well being. The form of the building is rendered as an “L� which creates the central plaza where people congregate for markets, events and eateries. The simple extruded form is reminiscent of farm houses and barns, structures that evoke a feeling of comfort and are symbols of food. Yet this idea of a barn is manipulated, the facade is deconstructed, pulling the wood facade away from the structure to allow for program use and interior passageways. It is then decomposed to create openings, entrance ways and to evoke a sense of porosity and movement. 51


I-84

E BURNSIDE

JOHNSON CREEK WATERSHED

SE 122ND AVE

LENTS PARK

SE HOLGATE BLVD

SE

FO ST ER

POWELL BUTTE PARK

RD

I-5

HWY 43

SITE

SPR INGW ATER CO RRIDOR

SE 112TH AVE

SE POWELL RD

I-205

SE 92ND AVE

SE 82ND AVE

SE 39th AVE

HWY 99E

I-405

SE DIVISION ST


UP

UP

UP

UP WD

WD

DW

DW

WD

DW

WD

DW

UP

UP

UP

UP

se reedway st

se 91st ave

TYPICAL BARN material and tectonics

se 92nd ave

se ramona st

DECONSTRUCTED BARN material and tectonics

UP

se f ost er r d

Concept Diagrams

DECOMPOSED BARN porosity, enclosure, transparency


1/2� = 1’ facade model between facade and glazing, looking into kitchen


aerial programmatic rendering

1� = 64’ site model

looking north into plaza



Sam Jiebman, Second Story 2011

computerVision is a one week exploration of how we can use our environment to manipulate a computer generated 3d space or object. The concept was to use a set of identification tags (fiducials) that a program can recognize and track, and have their locations map to a point in 3d space. These points were then used to generate a three dimensional form digitally. Essentially, the idea is that you sculpt digitally through movements in your physical environment. The program uses a variety of software including Processing, Grasshopper and Rhinoceros. The exploration began in a course that was investigating Processing as a resource for architects and designers. What I proposed is one method that we can begin modeling and designing digitally but through our movements and interactions in the world around us. 57


/*Start Processing Script. Fiducial IDs controlling a surface in Rhino. Written with support from Sam Jeibmann and the poeple from gHowl. Uses TUIO and reacTIVision to sense fiducial id’s location. Using the UDP library by Stephane Cousot to write out values to a port, gHowl reads data from the port within Grasshopper, where a custom scipt reads a text string then makes points in 3D space and creates a mesh from those points. */

textAlign(CENTER,CENTER); float obj_size = object_size*scale_factor; Vector tuioObjectList = tuioClient.getTuioObjects(); for (int i=0;i<tuioObjectList.size();i++) { TuioObject tobj = (TuioObject)tuioObjectList.elementAt(i); int fidvar = tobj.getSymbolID(); if(fidvar == 0){ noFill(); angle = tobj.getAngle(); angleD = round((tobj.getAngle() * 180) / PI); arc(tobj.getScreenX(width),tobj.getScreenY(height),obj_size*1.5,obj_size*1.5,0,angle); fill(150); text(tobj.getSymbolID() , tobj.getScreenX(width), tobj.getScreenY(height)); fill(255,0,0); text(“x= “+tobj.getScreenX(width), tobj.getScreenX(width), tobj.getScreenY(height)+(obj_size)); fill(0,0,255); text(“y= “+tobj.getScreenY(height), tobj.getScreenX(width), tobj.getScreenY(height)+(1.5*obj_size)); fill(0,255,0); text(“z= “+angleD, tobj.getScreenX(width), tobj.getScreenY(height)+(2*obj_size)); message[0] = String.valueOf(String.valueOf(tobj.getScreenX(width)) + “;” + String.valueOf(tobj.getScreenY(height)) + “;” + angleD +” “); } //Repeat above IF statement for fidvar==1-6; String sendMessage = join(message, “:”); println(sendMessage); udps.send( sendMessage, ip, 9000 ); }

import hypermedia.net.*; UDP udps; // define the UDP object import processing.video.*; import processing.opengl.*; import TUIO.*; TuioProcessing tuioClient; String[] message = new String[6]; String ip = “127.0.0.1”; float object_size = 20; float table_size = 360; float scale_factor = 1; int fontSize = 10; float angle; int angleD; PFont font; void setup() { size(360, 360); udps = new UDP( this, 6005 ); stroke(255,131,50); strokeWeight(3); strokeCap(ROUND); noFill(); loop(); frameRate(30); hint(ENABLE_NATIVE_FONTS); font = createFont(“Arial”, fontSize); scale_factor = height/table_size; tuioClient = new TuioProcessing(this); } void draw() { background(10); textFont(font);

58

}

physically manipulating the location of fiducials

digital affect in Rhino using Grasshopper


movement of the tags (left) is mapped to digital space and form geometry (right)

59





Bill Neburka + Carrie Strickland, Works Partnership Architecture 2010

Presented with the question, “What do you do for thirty minutes while your electric vehicle charges,” my response was to provide a place for relaxation. The site is given as the parking lot of a ski resort in Government Camp, Oregon, along a high trafficked connection between Portland and Bend; the project takes the ideas of a rest stop and a ski lodge as precedents. It explores form through the module of two parking spaces, and materiality through stacked stone and recycled lumber. By depressing the center of the space, it provides both a more relaxing lounge space and views to the slopes above. It answers the given question by saying, “You do whatever you want to do: you read, study, warm yourself, or surf the web.” It provides a place to relax and escape from the dreariness of travel, for thirty minutes at a time. The Lodge is a study of modularty, material, and program, and how these elements shape the form of the space. 63


site plan

floor plan

64 0’

2’

4’

8’

12’

20’


concept diagrams

entrance


site renderings


longitudinal sections


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.