Testing Waters
  • Scrapbook
  • Projects
    • Bamiyan Cultural Center
    • Bauhaus Museum
    • Better Hebbal
    • Bicycle Station
    • Cross Laminated Timber
    • Facade
    • Flowing Fabrication
    • Form from Images
    • Guggenheim Helsinki
    • National War Museum
    • National War Memorial
    • Indflorescence
    • Rectangular Compartments
    • Retail Space Layout
    • Noise Barrier : Swedevia Airport
    • Walden
    • Wilson Garden
  • Patterns
    • Area Graph
    • Array along Curve
    • Fibbonacci and Factorial
    • Gyroid
    • Hexagonal Pattern From Image
    • Hexagonal Grid
    • Koch Star
    • Mandelbrot Set
    • Pattern
    • Pattern
    • Pattern
    • Phyllotaxis
    • Random Strip Widths
    • Skewed Surface
    • Staggered Checkerboard
    • Triangle subdivision
    • Vector Field
    • Voronoi
    • Waves
    • Weave
  • Geometry
    • Boundary Curve
    • Bridging parallel curves
    • British Museum Great Court
    • Catenary
    • Delete Adjacent
    • Geodesic Sphere
    • Group Branching Curves
    • Group Circles
    • Group curves
    • K Mean
    • Nurbs Surface Irregular
    • Overlapping Petals
    • Pair Nearest
    • Parametric Shapes
    • Platonic Solids
    • Polyline to PolyArc
    • Roman Surface
    • Sagrada Familia Schools Roof
    • Sine Curve
    • Sine Ribbon
    • Spherical Transformations
    • Split Rectangle
    • Tangential Circle through Point
    • Travelling Salesman Problem
    • Unaligned Bounding Box
  • Lists
    • Alter by Boolean Sequence
    • Color by distance
    • Consecutive Points
    • Distancing
    • Divide Equally
    • Geometry from Image
    • Image based Point Density
    • Isovists
    • Reduce Color Palette
    • Replace Consecutive
    • Replace Multiple
    • Replace Recurring
    • Shadow Area
    • Shortest Path
    • Solar Analysis
    • Topography Analysis
  • Motion
    • Adjacency
    • Animate Sphere
    • Cellular Automation
    • Cloth
    • Hypotrochoid
    • Manakin
    • Rolling Spiral
    • Tan Curve
    • Trammel of Archemedes
    • Image to Integer
  • Articles
    • A Conceptual Approach to Integrating Computational Methods in Early Stage Design
    • Design Script's ambiguous and versatile Replication Guides <1>
    • Design Script's ambiguous and versatile Replication Guides <2>
Powered by GitBook
On this page
  1. Projects

Cross Laminated Timber

CLT Structural Concept

PreviousBicycle StationNextFacade

Last updated 4 years ago

Burrow Borrow Barrow

Taking inspiration and material from trees, a purely CLT building system bearing a reduced physical and carbon footprint is conceived.

Burrow

Humanity has progressed by intelligently utilizing minerals obtained from burrowing the earth. We call it mining and it is the source of most raw materials used in buildings. Mining however expends gigantic amounts of energy while also inflicting substantial collateral damage to the natural environment.

Tree roots also burrow the earth in search of minerals, they’ve been doing so for longer and with a lot more sophistication and finesse. Trees are major components of the biosphere, and their wood has a major role as a sustainable and renewable eco material. Their developing wood cells are one of the most important sinks for excess atmospheric CO2. Wood is the most important natural and endlessly renewable source of energy and has a major future role as an environmentally cost-effective and energy-sufficient material.

Borrow

‘The greenest building is the one that already exists’*

Pursuing that line of thinking, if we unbuild an existing building it would be greener than the greenest, where the term unbuild alludes to harmonious dismantling and not violent demolition. Hypothetically travelling back to a time before the building existed would make it unbuilt. Greenest of the greenest.

Unbuilt > Unbuild

Any act of building is inherently environmentally unsustainable. The violence of excavation and the relative permanence of the foundation would have disrupted the topsoil and subterranean natural systems leaving it permanently scarred.

The argument isn’t against buildings, but against a sense of ownership. Considering our relatively short existence on the planet, if we could behave like borrowers and consider it our fundamental obligation to return to nature the borrowed item in the condition it was received, we would be a lot more environmentally sustainable. In India, people are actually already culturally tuned to this philosophy. Construction projects usually begin with a worship ritual to take permission and seek forgiveness from Mother Earth for the disturbance of the earth’s equilibrium during construction.

Unbuild -> Unbuilt

The modular superstructure of the proposed building system with CLT panels can be completely dismantled and the significantly lower weight of CLT enables innovative foundation systems in structures within a certain scale to leave absolutely no trace once dismantled.

Barrow

A wheelbarrow is one of the simplest complex machines, comprising two simple machines, the lever and wheel and axle working together making the task of moving loads easier. Redundancy is absent with every component serving a specific purpose at a specific position.

Likewise, every component in the proposed CLT building system has a specific purpose. Here too redundant components or spaces are absent. Material cut out of larger flat panel modules are utilized as components in smaller multi-part circulation modules. Construction waste is effectively designed out from the start.

Summarily, the concept heavily draws inspiration from it’s muse, the Papaya plant, with sustainable interpretations of the succulent hollow core, small footprint, uniform exposure and axial branching.

armCnt = 10;
armExt = 3600;

flrThk = 100;
walThk = 100;
flrHgt = 3000;


rsrMax = 150;
rsrCnt = Math.Ceiling((flrThk + flrHgt)/rsrMax);
trdMin = 300;
strWdt = 1200;
elvWdt = 0;


creGap = 500;
armLgt = armExt - creGap - walThk;
crInLt = elvWdt + (strWdt*2) + (trdMin+(rsrCnt-1));
crInWt = elvWdt + (strWdt*2) + (trdMin+(rsrCnt-1));
creWal = creGap - (walThk*2);
creLgt = crInLt + creGap + walThk*2;
creWdt = crInWt + creGap + walThk*2;

dorWdt = 1000;
dorHgt = (flrHgt+flrThk)*0.75;


//Doors
dor001 = Rectangle.ByWidthLength(creWal+(walThk*4),dorWdt).Translate(creLgt/2,creLgt/2-dorWdt+(walThk*1.5),0).ExtrudeAsSolid(dorHgt);
dor002 = dor001.Rotate(Plane.XY(),0..#armCnt..90).Translate(Vector.ZAxis(),0..#armCnt..(flrHgt+flrThk)/4);

//Floors
flr001 = Rectangle.ByWidthLength(armLgt + dorWdt + walThk*2 - creWal*2,creWdt + armLgt + dorWdt + walThk*3).Translate(creLgt/2 + dorWdt/2 + walThk*1.5 + armLgt/2,-creWal+ walThk*1 + armLgt/2 + dorWdt/2,0).ExtrudeAsSolid(Vector.ZAxis(),-flrThk);
flr002 = flr001.Rotate(Plane.XY(),0..#armCnt+4..90).Translate(Vector.ZAxis(),0..#armCnt+4..(flrHgt+flrThk)/4);

//Panels
pnl001 = Solid.ByUnion(Line.ByStartPointDirectionLength(Point.ByCoordinates(-creLgt/2-creWal+(walThk/2),-creWdt/2-creWal),Vector.XAxis(),[creLgt+armLgt+dorWdt+walThk*2,creLgt+armLgt]).Extrude(Vector.ZAxis(),flrHgt).Thicken(walThk).Translate(Vector.YAxis(),[0,creWdt]));
pnl002 = pnl001.Rotate(Plane.XY(),0..#armCnt..90).Translate(Vector.ZAxis(),0..#armCnt..(flrHgt+flrThk)/4);
pnl003 = List.AddItemToEnd(List.LastItem(pnl002),pnl002.Difference(Solid.ByUnion(List.DropItems(pnl002,1..List.Count(pnl002)-1))));
pnl004 = pnl003.Difference(Solid.ByUnion(dor002));
//flrCnt = 36;

//flrHgt = 3000;
//flrThk = 200;
//walThk = 200;

//Core cavity width
//corCav = 600;

//Entrance door width
entWdt = 1000;

//Extension from Core
//extLgt = 3200;

//Sunshade Depth
sunPrj = 750;

//Staircase
rsrMax = 180;
rsrCnt = Math.Ceiling((flrHgt/rsrMax)/4);
trdMin = 250;
//strWdt = 1200;

//Electrical Shaft
elcShf = 300;

//Elevator
//elvShf = 1800;
elvWdt = (elvShf*2) + (walThk*3) - ((rsrCnt-1)*trdMin);

//Core Interior Width
corInt = elvWdt + (strWdt*2) + (rsrCnt-1)*trdMin;

//Overall Exterior Width
extWid = corInt + corCav*2 + extLgt*2 + walThk*4;

//Start Elevation
strLvl = -0.75 * flrHgt;

//Floor Panel Count
lvlCnt = flrCnt + 5;

//Revit Element placement points
pnSpt1 = Point.ByCoordinates(-corInt/2 - walThk - corCav, -corInt/2 - walThk - corCav).Translate(Vector.YAxis(), [0,corCav + walThk*2 + corInt]);
pnSpt2 = pnSpt1<2>.Rotate(Plane.XY(),(0..#lvlCnt..90)<1>).Translate(Vector.ZAxis(),strLvl..#lvlCnt..(flrHgt)/4);
flSpt1 = Point.ByCoordinates(corInt/2 + walThk*2 + corCav, -corInt/2 - walThk*2 - corCav).Rotate(Plane.XY(),(0..#(lvlCnt + 3)..90)).Translate(Vector.ZAxis(),strLvl..#(lvlCnt+2)..(flrHgt)/4);
fcSpt1 = Point.ByCoordinates(-extWid/2,-extWid/2,0).Rotate(Plane.XY(),(0..#(lvlCnt-3)..90)).Translate(Vector.ZAxis(),0..#(lvlCnt-3)..(flrHgt)/4);
drSpt1 = Point.ByCoordinates(corInt/2,-corInt/2,0).Rotate(Plane.XY(),(0..#(lvlCnt-5)..90)).Translate(Vector.ZAxis(),0..#(lvlCnt-5)..(flrHgt)/4);
elSpt1 = Point.Origin().Translate(Vector.ZAxis(),flrThk..#flrCnt/4..flrHgt);

//Revit Foundation
fdnPn1 = FamilyType.ByName("Foundation").SetParameterByName(["Length", "Foundation Thickness", "Width"],[corInt + walThk*6 + corCav*2, 750, corInt + walThk*6 + corCav*2]);
fdnPn2 = FamilyInstance.ByPoint(FamilyType.ByName("Foundation"),Point.Origin());

//Revit Elevator Shaft
elvPn1 = FamilyType.ByName("elevatorModule").SetParameterByName(["Elevator Shaft Width", "Panel Height", "Panel Thickness"],[elvShf, flrHgt, walThk]);
elvPn2 = FamilyInstance.ByPoint(FamilyType.ByName("elevatorModule"),elSpt1);

//Revit Floor Panels
flrPn1 = FamilyType.ByName("floorPanel").SetParameterByName(["Floor Length", "Floor Thickness", "Floor Width"],[extLgt, flrThk, corInt + walThk*4 + corCav*2 + extLgt]);
flrPn2 = FamilyInstance.ByPoint(FamilyType.ByName("floorPanel"),List.DropItems(flSpt1,3)).SetRotation(List.DropItems(-(0..#(lvlCnt + 2)..90),3));

//Revit Door Modules
dorPn1 = FamilyType.ByName("doorModule").SetParameterByName(["Core Cavity", "Panel Height", "Door Width", "Panel Thickness", "Floor Thickness","Maximum Riser", "Minimum Tread", "Stair Width", "Elevator Shaft Width"],
[corCav, flrHgt, entWdt, walThk, flrThk, rsrMax, trdMin, strWdt, elvShf]);
dorPn2 = FamilyInstance.ByPoint(FamilyType.ByName("doorModule"),drSpt1).SetRotation(-(0..#(lvlCnt-5)..90));

//Revit Facade Panel
fcdPn1 = FamilyType.ByName("facadePanel").SetParameterByName(["Floor Height", "Overall Width", "Projection", "Thickness"],[flrHgt, extWid, sunPrj, flrThk]);
fcdPn2 = FamilyInstance.ByPoint(FamilyType.ByName("facadePanel"),List.DropItems(fcSpt1,0)).SetRotation(List.DropItems(-(0..#(lvlCnt-3)..90),0));

//Revit Wall Panels
walPn1 = FamilyType.ByName(["wallPanelLeft","wallPanelRight"])<1>.SetParameterByName(
["Core Cavity", "Core Length", "Door Width", "Extension Length", "Floor Thickness", "Panel Height", "Panel Thickness", "Electrical Shaft"]<2>,
[corCav, corInt, entWdt, extLgt, flrThk, flrHgt, walThk, elcShf]<2>);
walPn2 = FamilyInstance.ByPoint(FamilyType.ByName(["wallPanelLeft","wallPanelRight"]),pnSpt2<1>).SetRotation(-(0..#lvlCnt..90));
walPn3 = List.TakeItems(walPn2,3).SetParameterByName("Remove Bottom",-strLvl..#3..-flrHgt/4);
walPn4 = List.FirstItem(List.TakeItems(walPn2,-2)<1>).SetParameterByName("Remove Top",[flrHgt/4,3*flrHgt/4]);
walPn5 = List.LastItem(List.TakeItems(walPn2,-3)<1>).SetParameterByName("Remove Top",flrHgt/4..#3..flrHgt/4);
5MB
fYmHbv0Q.pdf
pdf
77KB
fYmHbv0Q(1).pdf
pdf
5KB
20210310.zip
archive
Dynamo version 2.12
Concept and Construction
Climate and Community