Building-->  setupProjection(0, scope.xz, 500, 500)     envelope(MaxHeight, FrontBaseHgt, FrontAngle, RearBaseheight, RearAngle, SideBaseheight, SideAngle )     #comp(f) {top : Top }  BuildingVolume3D   BuildingVolume3D -->   # the 3d volume will not be split into smaller 3d volumes ! 1 ground floor volume will be created.   alignScopeToAxes(y)   split(y) {GroundFloorHeight : Volume("GF") | ~1 : AllUpperFloors}   AllUpperFloors -->  alignScopeToAxes(y)  split(y) {~UpperFloorHeight : Volume("UF")}*  NIL  Volume(volumeType) -->  case volumeType == "GF" :   case NumFlrComm > 0:    case LOD == 1:     comp(f){side: GFloorSide | bottom: FloorBottom}     set(material.opacity,0.8)     report("1 Ground Flr Area", geometry.area(bottom))     report("1 Ground Flr Revenue", (geometry.area(bottom) * GFRate))     set(TotRevenue, (TotRevenue + geometry.area(bottom) * GFRate))     report("3 Total Revenue", TotRevenue)     set (currentFloorIndex, currentFloorIndex + 1)     report("NUMBER OF FLRS", currentFloorIndex)     MassReporting    else:     comp(f){side: GFloorSideS | bottom: FloorBottom}     report("1 Ground Flr Area", geometry.area(bottom))     report("1 Ground Flr Revenue", (geometry.area(bottom) * GFRate))     set(TotRevenue, (TotRevenue + geometry.area(bottom) * GFRate))     report("3 Total Revenue", TotRevenue)     set (currentFloorIndex, currentFloorIndex + 1)     report("NUMBER OF FLRS", currentFloorIndex)     MassReporting   else:    case LOD == 1:     comp(f){side: FloorSideRes | bottom: FloorBottom | top : Top}     set(material.opacity,0.8)     report("2 Res Flr Area", geometry.area(bottom))     report("2 Res Flr Revenue", (geometry.area(bottom) * UFRate))     set(TotRevenue, (TotRevenue + geometry.area(bottom) * UFRate))     report("3 Total Revenue", TotRevenue)     set (currentFloorIndex, currentFloorIndex + 1)     report("NUMBER OF FLRS", currentFloorIndex)     MassReporting    else:     comp(f){side: FloorSideSRes | bottom: FloorBottom | top : Top}     report("2 Upper Flr Area", geometry.area(bottom))     report("2 Upper Flr Revenue", (geometry.area(bottom) * UFRate))     set(TotRevenue, (TotRevenue + geometry.area(bottom) * UFRate))     report("3 Total Revenue", TotRevenue)     set (currentFloorIndex, currentFloorIndex + 1)     report("NUMBER OF FLRS", currentFloorIndex)     MassReporting  else :   case currentFloorIndex <= NumFlrComm:    case LOD == 1:     comp(f){side: FloorSideC | bottom: FloorBottom | top : Top}     set(material.opacity,0.8)     report("2 Comm Flr Area", geometry.area(bottom))     report("2 Comm Flr Revenue", (geometry.area(bottom) * UFRate))     set(TotRevenue, (TotRevenue + geometry.area(bottom) * UFRate))     report("3 Total Revenue", TotRevenue)     set (currentFloorIndex, currentFloorIndex + 1)     report("NUMBER OF FLRS", currentFloorIndex)     MassReporting    else:     comp(f){side: FloorSideSC | bottom: FloorBottom | top : Top}     report("2 Comm Flr Area", geometry.area(bottom))     report("2 Comm Flr Revenue", (geometry.area(bottom) * UFRate))     set(TotRevenue, (TotRevenue + geometry.area(bottom) * UFRate))     report("3 Total Revenue", TotRevenue)     set (currentFloorIndex, currentFloorIndex + 1)     report("NUMBER OF FLRS", currentFloorIndex)     MassReporting   else:    case LOD == 1:     comp(f){side: FloorSideRes | bottom: FloorBottom | top : Top}     set(material.opacity,0.8)     report("2 Res Flr Area", geometry.area(bottom))     report("2 Res Flr Revenue", (geometry.area(bottom) * UFRate))     set(TotRevenue, (TotRevenue + geometry.area(bottom) * UFRate))     report("3 Total Revenue", TotRevenue)     set (currentFloorIndex, currentFloorIndex + 1)     report("NUMBER OF FLRS", currentFloorIndex)     MassReporting    else:     comp(f){side: FloorSideSRes | bottom: FloorBottom | top : Top}     report("2 Upper Flr Area", geometry.area(bottom))     report("2 Upper Flr Revenue", (geometry.area(bottom) * UFRate))     set(TotRevenue, (TotRevenue + geometry.area(bottom) * UFRate))     report("3 Total Revenue", TotRevenue)     set (currentFloorIndex, currentFloorIndex + 1)     report("NUMBER OF FLRS", currentFloorIndex)     MassReportingSolved! Go to Solution.