Cross Laminated Timber
CLT Structural Concept
Concept and Construction
Climate and Community
fYmHbv0Q.pdf
5MB
PDF

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.
fYmHbv0Q(1).pdf
77KB
PDF
1
armCnt = 10;
2
armExt = 3600;
3
4
flrThk = 100;
5
walThk = 100;
6
flrHgt = 3000;
7
8
9
rsrMax = 150;
10
rsrCnt = Math.Ceiling((flrThk + flrHgt)/rsrMax);
11
trdMin = 300;
12
strWdt = 1200;
13
elvWdt = 0;
14
15
16
creGap = 500;
17
armLgt = armExt - creGap - walThk;
18
crInLt = elvWdt + (strWdt*2) + (trdMin+(rsrCnt-1));
19
crInWt = elvWdt + (strWdt*2) + (trdMin+(rsrCnt-1));
20
creWal = creGap - (walThk*2);
21
creLgt = crInLt + creGap + walThk*2;
22
creWdt = crInWt + creGap + walThk*2;
23
24
dorWdt = 1000;
25
dorHgt = (flrHgt+flrThk)*0.75;
26
27
28
//Doors
29
dor001 = Rectangle.ByWidthLength(creWal+(walThk*4),dorWdt).Translate(creLgt/2,creLgt/2-dorWdt+(walThk*1.5),0).ExtrudeAsSolid(dorHgt);
30
dor002 = dor001.Rotate(Plane.XY(),0..#armCnt..90).Translate(Vector.ZAxis(),0..#armCnt..(flrHgt+flrThk)/4);
31
32
//Floors
33
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);
34
flr002 = flr001.Rotate(Plane.XY(),0..#armCnt+4..90).Translate(Vector.ZAxis(),0..#armCnt+4..(flrHgt+flrThk)/4);
35
36
//Panels
37
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]));
38
pnl002 = pnl001.Rotate(Plane.XY(),0..#armCnt..90).Translate(Vector.ZAxis(),0..#armCnt..(flrHgt+flrThk)/4);
39
pnl003 = List.AddItemToEnd(List.LastItem(pnl002),pnl002.Difference(Solid.ByUnion(List.DropItems(pnl002,1..List.Count(pnl002)-1))));
40
pnl004 = pnl003.Difference(Solid.ByUnion(dor002));
Copied!
1
//flrCnt = 36;
2
3
//flrHgt = 3000;
4
//flrThk = 200;
5
//walThk = 200;
6
7
//Core cavity width
8
//corCav = 600;
9
10
//Entrance door width
11
entWdt = 1000;
12
13
//Extension from Core
14
//extLgt = 3200;
15
16
//Sunshade Depth
17
sunPrj = 750;
18
19
//Staircase
20
rsrMax = 180;
21
rsrCnt = Math.Ceiling((flrHgt/rsrMax)/4);
22
trdMin = 250;
23
//strWdt = 1200;
24
25
//Electrical Shaft
26
elcShf = 300;
27
28
//Elevator
29
//elvShf = 1800;
30
elvWdt = (elvShf*2) + (walThk*3) - ((rsrCnt-1)*trdMin);
31
32
//Core Interior Width
33
corInt = elvWdt + (strWdt*2) + (rsrCnt-1)*trdMin;
34
35
//Overall Exterior Width
36
extWid = corInt + corCav*2 + extLgt*2 + walThk*4;
37
38
//Start Elevation
39
strLvl = -0.75 * flrHgt;
40
41
//Floor Panel Count
42
lvlCnt = flrCnt + 5;
43
44
//Revit Element placement points
45
pnSpt1 = Point.ByCoordinates(-corInt/2 - walThk - corCav, -corInt/2 - walThk - corCav).Translate(Vector.YAxis(), [0,corCav + walThk*2 + corInt]);
46
pnSpt2 = pnSpt1<2>.Rotate(Plane.XY(),(0..#lvlCnt..90)<1>).Translate(Vector.ZAxis(),strLvl..#lvlCnt..(flrHgt)/4);
47
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);
48
fcSpt1 = Point.ByCoordinates(-extWid/2,-extWid/2,0).Rotate(Plane.XY(),(0..#(lvlCnt-3)..90)).Translate(Vector.ZAxis(),0..#(lvlCnt-3)..(flrHgt)/4);
49
drSpt1 = Point.ByCoordinates(corInt/2,-corInt/2,0).Rotate(Plane.XY(),(0..#(lvlCnt-5)..90)).Translate(Vector.ZAxis(),0..#(lvlCnt-5)..(flrHgt)/4);
50
elSpt1 = Point.Origin().Translate(Vector.ZAxis(),flrThk..#flrCnt/4..flrHgt);
51
52
//Revit Foundation
53
fdnPn1 = FamilyType.ByName("Foundation").SetParameterByName(["Length", "Foundation Thickness", "Width"],[corInt + walThk*6 + corCav*2, 750, corInt + walThk*6 + corCav*2]);
54
fdnPn2 = FamilyInstance.ByPoint(FamilyType.ByName("Foundation"),Point.Origin());
55
56
//Revit Elevator Shaft
57
elvPn1 = FamilyType.ByName("elevatorModule").SetParameterByName(["Elevator Shaft Width", "Panel Height", "Panel Thickness"],[elvShf, flrHgt, walThk]);
58
elvPn2 = FamilyInstance.ByPoint(FamilyType.ByName("elevatorModule"),elSpt1);
59
60
//Revit Floor Panels
61
flrPn1 = FamilyType.ByName("floorPanel").SetParameterByName(["Floor Length", "Floor Thickness", "Floor Width"],[extLgt, flrThk, corInt + walThk*4 + corCav*2 + extLgt]);
62
flrPn2 = FamilyInstance.ByPoint(FamilyType.ByName("floorPanel"),List.DropItems(flSpt1,3)).SetRotation(List.DropItems(-(0..#(lvlCnt + 2)..90),3));
63
64
//Revit Door Modules
65
dorPn1 = FamilyType.ByName("doorModule").SetParameterByName(["Core Cavity", "Panel Height", "Door Width", "Panel Thickness", "Floor Thickness","Maximum Riser", "Minimum Tread", "Stair Width", "Elevator Shaft Width"],
66
[corCav, flrHgt, entWdt, walThk, flrThk, rsrMax, trdMin, strWdt, elvShf]);
67
dorPn2 = FamilyInstance.ByPoint(FamilyType.ByName("doorModule"),drSpt1).SetRotation(-(0..#(lvlCnt-5)..90));
68
69
//Revit Facade Panel
70
fcdPn1 = FamilyType.ByName("facadePanel").SetParameterByName(["Floor Height", "Overall Width", "Projection", "Thickness"],[flrHgt, extWid, sunPrj, flrThk]);
71
fcdPn2 = FamilyInstance.ByPoint(FamilyType.ByName("facadePanel"),List.DropItems(fcSpt1,0)).SetRotation(List.DropItems(-(0..#(lvlCnt-3)..90),0));
72
73
//Revit Wall Panels
74
walPn1 = FamilyType.ByName(["wallPanelLeft","wallPanelRight"])<1>.SetParameterByName(
75
["Core Cavity", "Core Length", "Door Width", "Extension Length", "Floor Thickness", "Panel Height", "Panel Thickness", "Electrical Shaft"]<2>,
76
[corCav, corInt, entWdt, extLgt, flrThk, flrHgt, walThk, elcShf]<2>);
77
walPn2 = FamilyInstance.ByPoint(FamilyType.ByName(["wallPanelLeft","wallPanelRight"]),pnSpt2<1>).SetRotation(-(0..#lvlCnt..90));
78
walPn3 = List.TakeItems(walPn2,3).SetParameterByName("Remove Bottom",-strLvl..#3..-flrHgt/4);
79
walPn4 = List.FirstItem(List.TakeItems(walPn2,-2)<1>).SetParameterByName("Remove Top",[flrHgt/4,3*flrHgt/4]);
80
walPn5 = List.LastItem(List.TakeItems(walPn2,-3)<1>).SetParameterByName("Remove Top",flrHgt/4..#3..flrHgt/4);
Copied!
20210310.zip
5KB
Binary
Dynamo version 2.12
Last modified 6mo ago
Copy link