tmd2118_cbipmidterm
-
Upload
therese-diede -
Category
Documents
-
view
223 -
download
0
Transcript of tmd2118_cbipmidterm
-
8/2/2019 tmd2118_cbipmidterm
1/33
STATEMENT OF INTENT
Tensegrity is an efcient, light-weight structure
highly adaptive to different uses.
This element hopes to address the structural
desires of other elements, such as the support for
mezzanine levels, stairs or catwalks, extended
oor slabs, and carved voids. In addition, this
tensegrity structure can be deployed on its own
as a faade rainwater waterfall/light display or on
the roof as part of a greywater reuse system.
an incomplete taxonomy ofa tensegrity element
-
8/2/2019 tmd2118_cbipmidterm
2/33
-
8/2/2019 tmd2118_cbipmidterm
3/33
-
8/2/2019 tmd2118_cbipmidterm
4/33
LIST OF INPUTS
GEOMETRY INPUTS
V.1
x
XY PLANE
CENTER POINTat base circle
V.2
x
XZ PLANE
BOTTOM LEFT POINTat floor slab edge
x TOP LEFT POINTto become height of bay
x
BOTTOM RIGHat floor slab edge
-
8/2/2019 tmd2118_cbipmidterm
5/33
BASE RADIUS
HEIGHTHEIGHT
STRUT
DIAMETER
TENDON
DIAMETER
JUNCTION
RATIO
HEIGHT RATIO
RATIO
OF TOP RADIUS
TO BASE
BASE ROTATE
TWIST ANGLE
PARAMETER INPUTS SHARED BY V.1 AND V.2
LIST OF INPUTS
PARAMETER INPUTS
V.2 V.1
XZ PLANE
YZ PLANE
ROTATIONAL AXIS
YZ PLANE
-
8/2/2019 tmd2118_cbipmidterm
6/33
PARAMETER INPUTS
number of struts (5)
-
8/2/2019 tmd2118_cbipmidterm
7/33
number of struts (4)
-
8/2/2019 tmd2118_cbipmidterm
8/33
height (15)
number of struts (3)
strut diameter (0.1)
-
8/2/2019 tmd2118_cbipmidterm
9/33
base:top radius (1:2)
height (15)
number of struts (4)
-
8/2/2019 tmd2118_cbipmidterm
10/33
twist angle (140 deg)
base:top radius (1:5)
height (15)
number of struts (4)
-
8/2/2019 tmd2118_cbipmidterm
11/33
twist angle (20 deg)
center junction : height (1.25 : 1)
base:top radius (1:3)
number of struts (8)
-
8/2/2019 tmd2118_cbipmidterm
12/33
number of struts (3)
-
8/2/2019 tmd2118_cbipmidterm
13/33
center junction : height (1 : 1)
-
8/2/2019 tmd2118_cbipmidterm
14/33
base:top radius (4:1)
number of struts (8)
center junction : height (0 : 1)
-
8/2/2019 tmd2118_cbipmidterm
15/33b t di (1 1 25)
-
8/2/2019 tmd2118_cbipmidterm
16/33b f t t (2)
-
8/2/2019 tmd2118_cbipmidterm
17/33b f t t (3)
V1 WORKS BETTER FOR STACKING
-
8/2/2019 tmd2118_cbipmidterm
18/33
V.2 V.1
V.1 WORKS BETTER FOR STACKING.USE two FORMULAS TO MAKE STRUTS LINE UP {if StrutCount is same}
BaseRadius = TopRadius.previous
BaseRotate = -360deg / StrutCount.previous - TwistAngle.previous
1 |
2 |
DESIGN MAP
-
8/2/2019 tmd2118_cbipmidterm
19/33
TOWER INSTANTIATE V.1 USING THE CENTER POINT AND THE XY PLANE
water catchment on roof
filtration
DESIGN MAP
-
8/2/2019 tmd2118_cbipmidterm
20/33
MEZZANINE INSTANTIATE ANOTHER ELEMENT TO V.1 USING THE CENTER POINT AND THE XY PLANE
DESIGN MAP
-
8/2/2019 tmd2118_cbipmidterm
21/33
MEZZANINE INSTANTIATE ANOTHER ELEMENT TO V.1 USING THE CENTER POINT AND THE XY PLANE
DESIGN MAP
-
8/2/2019 tmd2118_cbipmidterm
22/33
TO DETERMINE ANGLES (FORCE FECTORS) AND SIZING OF MEMBERS
LOAD CALCULATIONS KNOWLEDGE PATTERNS THAT CALCULATE STRUCTURAL REQUIREMENTS
CENTER OF GRAVITY AND FEED THE DATA BACK INTO THE SYSTEM
DESIGN MAP
-
8/2/2019 tmd2118_cbipmidterm
23/33
MEASURE OF ANGLES TOWARD RAINWATER PERFORM TRANSFORMATIONS TO GET MOST ACCURATE MEASURE OF RAINWATER
volume of rainwater capture
rain plane
* use of fabric to capture, filter, distribute rainwater
place the rain plane offset from groundplane
compute area of rain coverage from above
of course considering wind
let RUNCODE (boolean)let strut (udfSTRUT) RUNCODE = `OtherElements\PCstrut\Parameters\Positioning\RUNCODE`
-
8/2/2019 tmd2118_cbipmidterm
24/33
let tendonB (udfTENDON)
let tendonT (udfTENDON)
let tendonD (udfTENDON)
let count (integer)
let i (integer)
let groundplnN (direction)
let Cb (point)
let rotaxis (line)
let Height (length)
let HeightRatio (real)let chosenPT (point)
let resultLNb (line)
let chosenDIRb (direction)
let resultLNt (line)
let chosenDIRt (direction)
let BaseRad (length)
let TopScaleRatio (real)
let TopRad (length)
let Ct (point)
let BaseCIRC (circle)
let TopCIRC (circle)
let slabedge (line)
let extremB (point)
let extremT (point)
let BaseRotate (angle)
let TwistAngle (angle)
let BaseStart (point)
let TopStart (point)
let Reverse (boolean)
let StrutCount (integer)
let strutptB (point)
let strutptT (point)
let TENDONb (point)let TENDONt (point)
let tendonB (curve)
let tendonT (curve)
let tendonD (curve)
let StrutDimN (length)
let TendonDimN (length)
let central (point)
let Central (real)
If RUNCODE == "true"
{
groundplnN = direction(`AttrPT\reverseground`)
count = `OtherElements\PCstrut\InternalKP\InputGeo\Geo` .Size()
Cb = CreateOrModifyDatum("point", OtherElements\PCstrut\outputGEO` , OtherElements\PCstrut\InternalKP\Inp
Cb = (`AttrPT\PointGrid\skygrid\Point.3410`)
Height = `OtherElements\PCstrut\Parameters\Geometry\Height`
count = `OtherElements\PCstrut\InternalKP\InputGeo\Geo` .Size()rotaxis = CreateOrModifyDatum("line",`OtherElements\PCstrut\outputGEO` , OtherElements\PCstrut\InternalKP\In
rotaxis = line(Cb,groundplnN,0 ft, Height, true)
rotaxis.Color = "#C0C0C0"
HeightRatio = `OtherElements\PCstrut\Parameters\Geometry\HeightRatio`
count = `OtherElements\PCstrut\InternalKP\InputGeo\Geo` .Size()
Ct = CreateOrModifyDatum("point",`OtherElements\PCstrut\outputGEO` , OtherElements\PCstrut\InternalKP\Input
Ct = pointoncurveRatio(rotaxis,Cb, HeightRatio, true)
BaseRad = `OtherElements\PCstrut\Parameters\Geometry\BaseRad`
TopRad = BaseRad * `OtherElements\PCstrut\Parameters\Geometry\TopRadRatio`
count = `OtherElements\PCstrut\InternalKP\InputGeo\Geo` .Size()
BaseCIRC = CreateOrModifyDatum("circle",`OtherElements\PCstrut\outputGEO` , `OtherElements\PCstrut\InternalK
BaseCIRC = circleCtrRadius(Cb,`AttrPT\reverseground` ,BaseRad,1,0,360)
count = `OtherElements\PCstrut\InternalKP\InputGeo\Geo` .Size()
TopCIRC = CreateOrModifyDatum("circle",`OtherElements\PCstrut\outputGEO` , `OtherElements\PCstrut\InternalK
TopCIRC = circleCtrRadius(Ct,`AttrPT\reverseground` ,TopRad,1,0,360)
BaseCIRC.Show = false
TopCIRC.Show = false
chosenPT = AttrPT\attrPT`resultLNb = line(chosenPT, Cb)
chosenDIRb = direction(resultLNb)
resultLNt = line(chosenPT, Ct)
chosenDIRt = direction(resultLNt)
extremB = extremum(BaseCIRC,chosenDIRb,true,chosenDIRb,true,chosenDIRb,true)
extremT = extremum(TopCIRC,chosenDIRt,true,chosenDIRt,true,chosenDIRt,true)
BaseRotate = `OtherElements\PCstrut\Parameters\Geometry\BaseRotate` / 360degcount = `OtherElements\PCstrut\InternalKP\InputGeo\Geo` .Size()
BaseStart = CreateOrModifyDatum("point",`OtherElements\PCstrut\outputGEO` , `OtherElements\PCstrut\InternalKP\InputGeo\Geo` , count+1)
-
8/2/2019 tmd2118_cbipmidterm
25/33
tGeo\Geo` , count+1)
putGeo\Geo` , count+1)
tGeo\Geo` , count+1)
P\InputGeo\Geo` , count+1)
P\InputGeo\Geo` , count+1)
BaseStart CreateOrModifyDatum( point , OtherElements\PCstrut\outputGEO , OtherElements\PCstrut\InternalKP\InputGeo\Geo , count+1)
BaseStart = pointoncurveRatio(BaseCIRC,extremB, BaseRotate, Reverse)
TwistAngle = OtherElements\PCstrut\Parameters\Geometry\TwistAngle` / 360deg
count = `OtherElements\PCstrut\InternalKP\InputGeo\Geo` .Size()
TopStart = CreateOrModifyDatum("point",`OtherElements\PCstrut\outputGEO` , `OtherElements\PCstrut\InternalKP\InputGeo\Geo` , count+1)
TopStart = pointoncurveRatio(TopCIRC,extremT, TwistAngle, Reverse)
StrutCount = `OtherElements\PCstrut\Parameters\StrutGeometry\StrutCount`
StrutDimN = `OtherElements\PCstrut\Parameters\StrutGeometry\StrutDimN`
TendonDimN =`OtherElements\PCstrut\Parameters\TendonGeometry\TendonDimN`
i = 1
for i while i
-
8/2/2019 tmd2118_cbipmidterm
26/33
RUTS` , i)
eo\TENDONb , i)
eo\TENDONt , i)
p p ( )
tendonD.pt2 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTb` .GetItem(i+1)
tendonD.TendonDim = TendonDimN
EndModifyTemplate(tendonD)
i = i+1
}
for i while i == StrutCount
{
count = `OtherElements\PCstrut\InternalKP\InputGeo\TENDONb` .Size()
tendonB = CreateOrModifyTemplate("tmd2118CatalogUF|udfTENDON", OtherElements\PCstrut\TendonUDFs` ,`OtherElements\PCstrut\InternalKP\InputGetendonB.pt1 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTb` .GetItem(i)
tendonB.pt2 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTb` .GetItem(1)
tendonB.TendonDim = TendonDimN
EndModifyTemplate(tendonB)
count = `OtherElements\PCstrut\InternalKP\InputGeo\TENDONt` .Size()
tendonT = CreateOrModifyTemplate("tmd2118CatalogUF|udfTENDON", OtherElements\PCstrut\TendonUDFs` ,`OtherElements\PCstrut\InternalKP\InputGe
tendonT.pt1 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTt` .GetItem(i)
tendonT.pt2 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTt` .GetItem(1)
tendonT.TendonDim = TendonDimN
EndModifyTemplate(tendonT)
count = `OtherElements\PCstrut\InternalKP\InputGeo\TENDONd` .Size()
tendonD = CreateOrModifyTemplate("tmd2118CatalogUF|udfTENDON", OtherElements\PCstrut\TendonUDFs` ,`OtherElements\PCstrut\InternalKP\InputGe
tendonD.pt1 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTt` .GetItem(i)
tendonD.pt2 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTb` .GetItem(1)
tendonD.TendonDim = TendonDimN
EndModifyTemplate(tendonD)
}
Central = `OtherElements\PCstrut\Parameters\Junction\Central`
count = `OtherElements\PCstrut\InternalKP\InputGeo\Junction` .Size()central = CreateOrModifyDatum("point",`OtherElements\PCstrut\outputGEO` , `OtherElements\PCstrut\InternalKP\InputGeo\Junction` , count+1)
central = pointoncurveRatio(rotaxis,Cb,Central,true)
i = 1
for i while i
-
8/2/2019 tmd2118_cbipmidterm
27/33
\TENDONb` , count+1)
\TENDONt` , count+1)
\TENDONd` , count+1)
{
count = `OtherElements\PCstrut\InternalKP\InputGeo\LINKS` .Size()
linkT = CreateOrModifyDatum("curve",`OtherElements\PCstrut\LINKS` , `OtherElements\PCstrut\InternalKP\InputGeo\LINKS` , count+1)
linkT = line(`OtherElements\PCstrut\InternalKP\InputGeo\Junction` .GetItem(1), `OtherElements\PCstrut\InternalKP\InputGeo\STRUTt` .GetIte
i = i +1
}
OtherElements\PCstrut\InternalKP\ListsTendons`.Update()
}
-
8/2/2019 tmd2118_cbipmidterm
28/33
-
8/2/2019 tmd2118_cbipmidterm
29/33
-
8/2/2019 tmd2118_cbipmidterm
30/33
-
8/2/2019 tmd2118_cbipmidterm
31/33
-
8/2/2019 tmd2118_cbipmidterm
32/33
-
8/2/2019 tmd2118_cbipmidterm
33/33