tmd2118_cbipmidterm

download tmd2118_cbipmidterm

of 33

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