Sheyla_Santana

Report -> Object Attribute

Discussion created by Sheyla_Santana on Sep 4, 2013
Latest reply on Sep 5, 2013 by Sheyla_Santana
Hello!
I'm making some calculations in cityengine and i'm facing a problem at this moment.
I can have the reports os this calculation but i need to transform it in a object attribut in the layer Lots that is already in the cityengine. I need this because i should make some other calculations with the result of this report.
I'm trying to calculate the volume of the real city and the legally city. I need to subtract the volumes results to have a constructive stock. My first problem is how to calculate volume and that how can i put this report in the attributes of an object.
Here is the code:


attr Frontal = 6

attr Lateral = 3
attr TO = 0.4
attr CA = 3
attr GFHeight = 3
attr UFHeight = 3

myFunction = 0.0

@hidden
attr parcelArea = 0



Lot --> Area(geometry.area)

Area(area) --> set (parcelArea, geometry.area) report ("Area do Lote PD", parcelArea) Afast_F(area)

Afast_F(area) -->  setback(Frontal) { streetSide : NIL  | remainder : Afast_L(area) }

Afast_L(area) --> setback(Lateral) { noStreetSide : NIL  | remainder : projecao(area) }

projecao(area) --> case geometry.area > area * TO :  Redimensiona(area, geometry.area)
else : Sobe(area, geometry.area)
Redimensiona(area, areaP) -->   s('area*TO/areaP, 'area*TO/areaP, '1) center (xz)  Sobe (area, geometry.area)

Sobe (area, areaSC ) --> 
extrude(3*(area*CA/areaSC))
split (y) {GFHeight : Volume("GF") | ~1 : UpperFloor }

UpperFloor -->
split (y) { ~ UFHeight : Volume("UF") } *

Volume (volumeType) -->
case volumeType == "GF":
  color ("#990000")
  set (material.opacity, 0.5)
  Reporting
 
else :
  color ("#990000")
  set (material.opacity, 0.5)
  Reporting
 
Reporting -->
report("Primeiro Andar PD", geometry.area(bottom))
report("Demais Andares PD", geometry.area(bottom) / parcelArea )

Anyone?
Thanks!
Sheyla

Outcomes