Professional Documents
Culture Documents
Tensegrity is an efficient, 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 floor 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.
THERESE DIEDE
YTIRGESNET
V .1
x
CENTER POINT at base circle
XZ PLANE
XY PLANE
x
BOTTOM LEFT POINT at floor slab edge
x
BOTTOM RIGHT POINT at floor slab edge
V .2
perspective view
top view
front view
top view
YTIRGESNET
side view
THERESE DIEDE
V V .2 .1
ROTATIONAL AXIS
XZ PLANE
YZ PLANE
YZ PLANE
TWIST ANGLE
JUNCTION RATIO
BASE ROTATE
THERESE DIEDE
YTIRGESNET
PARAMETER INPUTS
THERESE DIEDE
YTIRGESNET
THERESE DIEDE
YTIRGESNET
THERESE DIEDE
YTIRGESNET
THERESE DIEDE
YTIRGESNET
twist angle (140 deg) base:top radius (1:5) height (15) number of struts (4)
THERESE DIEDE
YTIRGESNET
twist angle (20 deg) base:top radius (1:3) number of struts (8)
THERESE DIEDE
YTIRGESNET
THERESE DIEDE
YTIRGESNET
THERESE DIEDE
YTIRGESNET
THERESE DIEDE
YTIRGESNET
THERESE DIEDE
YTIRGESNET
THERESE DIEDE
YTIRGESNET
THERESE DIEDE
YTIRGESNET
V .2
V .1
THERESE DIEDE
YTIRGESNET
filtration
THERESE DIEDE
YTIRGESNET
THERESE DIEDE
YTIRGESNET
THERESE DIEDE
YTIRGESNET
CENTER OF GRAVITY
THERESE DIEDE
YTIRGESNET
rain plane
* use of fabric to capture, filter, distribute rainwater start with angled facade element
Columbia building intelligenCe ProjeCt SPring 2012 midterm element PreSentation
YTIRGESNET
THERESE DIEDE
let RUNCODE (boolean) let strut (udfSTRUT) 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) let linkB (curve) let linkT (curve)
RUNCODE = `OtherElements\PCstrut\Parameters\Positioning\RUNCODE` If RUNCODE == "true" { groundplnN = direction(`AttrPT\reverseground`) count = `OtherElements\PCstrut\InternalKP\InputGeo\Geo` .Size() Cb = CreateOrModifyDatum("point", `OtherElements\PCstrut\outputGEO` , `OtherElements\PCstrut\InternalKP\InputGeo\Geo` , 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\InputGeo\Geo` 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\InputGeo\Geo` , c 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() TopCIRC = CreateOrModifyDatum("circle",`OtherElements\PCstrut\outputGEO` , `OtherElements\PCstrut\InternalKP\InputGeo\G 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) Reverse = `OtherElements\PCstrut\Parameters\Geometry\Reverse`
THERESE DIEDE
YTIRGESNET
BaseRotate = `OtherElements\PCstrut\Parameters\Geometry\BaseRotate` / 360deg count = `OtherElements\PCstrut\InternalKP\InputGeo\Geo` .Size() 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) utGeo\Geo` , count+1) TopStart = pointoncurveRatio(TopCIRC,extremT, TwistAngle, Reverse)
for i while i <= StrutCount { strutptB = CreateOrModifyDatum ("point" , `OtherElements\PCstrut\StrutPTS`, `OtherElements\PCstrut\InternalKP\InputGeo\STRUTb` , i) utGeo\Geo` , count+1) strutptB = pointoncurveRatio (BaseCIRC, BaseStart , i / StrutCount, true) strutptT = CreateOrModifyDatum ("point" , `OtherElements\PCstrut\StrutPTS`, `OtherElements\PCstrut\InternalKP\InputGeo\STRUTt` , i) strutptT = pointoncurveRatio (TopCIRC, TopStart , i / StrutCount, true)
strut = CreateOrModifyTemplate ("tmd2118CatalogUF|udfSTRUT" , `OtherElements\PCstrut\StrutUDFs` , `OtherElements\PCstrut\InternalKP\InputGeo\STRUTS` , i strut.pt1 = strutptB strut.pt2 = strutptT KP\InputGeo\Geo` , count+1) strut.StrutDim = StrutDimN EndModifyTemplate(strut) i = i+1 } KP\InputGeo\Geo` , count+1) i=1
for i while i < StrutCount { tendonB = CreateOrModifyTemplate("tmd2118CatalogUF|udfTENDON", `OtherElements\PCstrut\TendonUDFs` ,`OtherElements\PCstrut\InternalKP\InputGeo\TEND tendonB.pt1 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTb` .GetItem(i) tendonB.pt2 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTb` .GetItem(i+1) tendonB.TendonDim = TendonDimN EndModifyTemplate(tendonB)
tendonT = CreateOrModifyTemplate("tmd2118CatalogUF|udfTENDON", `OtherElements\PCstrut\TendonUDFs` ,`OtherElements\PCstrut\InternalKP\InputGeo\TENDO tendonT.pt1 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTt` .GetItem(i) tendonT.pt2 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTt` .GetItem(i+1) tendonT.TendonDim = TendonDimN EndModifyTemplate(tendonT)
Columbia building intelligenCe ProjeCt SPring 2012 midterm element PreSentation
THERESE DIEDE
YTIRGESNET
} tendonD = CreateOrModifyTemplate("tmd2118CatalogUF|udfTENDON", `OtherElements\PCstrut\TendonUDFs` ,`OtherElements\PCstrut\InternalKP\InputGeo\TENDO tendonD.pt1 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTt` .GetItem(i) i=1 tendonD.pt2 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTb` .GetItem(i+1) tendonD.TendonDim = TendonDimN for i 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\InputGeo\TENDO `OtherEle tendonB.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\InputGeo\TENDON tendonT.pt1 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTt` .GetItem(i) tendonT.pt2 = `OtherElements\PCstrut\InternalKP\InputGeo\STRUTt` .GetItem(1) tendonT.TendonDim = TendonDimN EndModifyTemplate(tendonT) TRUTS` , i)
count = `OtherElements\PCstrut\InternalKP\InputGeo\TENDONd` .Size() tendonD = CreateOrModifyTemplate("tmd2118CatalogUF|udfTENDON", `OtherElements\PCstrut\TendonUDFs` ,`OtherElements\PCstrut\InternalKP\InputGeo\TENDO 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 = , i) Geo\TENDONb`CreateOrModifyDatum("point",`OtherElements\PCstrut\outputGEO` , `OtherElements\PCstrut\InternalKP\InputGeo\Junction` , count+1) central = pointoncurveRatio(rotaxis,Cb,Central,true) i=1
for i while i <= StrutCount { Geo\TENDONt` , i) count = `OtherElements\PCstrut\InternalKP\InputGeo\LINKS` .Size() linkB = CreateOrModifyDatum("curve",`OtherElements\PCstrut\LINKS` , `OtherElements\PCstrut\InternalKP\InputGeo\LINKS` , count+1) linkB = line(`OtherElements\PCstrut\InternalKP\InputGeo\Junction` .GetItem(1), `OtherElements\PCstrut\InternalKP\InputGeo\STRUTb` .GetItem(i)) i = i +1
Columbia building intelligenCe ProjeCt SPring 2012 midterm element PreSentation
THERESE DIEDE
YTIRGESNET
for i while i <= StrutCount { 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` .GetItem(i)) i = i +1 }
o\TENDONt` , count+1)
o\TENDONd` , count+1)
THERESE DIEDE
YTIRGESNET