I'm having a problem getting a use assigned to the individual floors of building creted using an envelope. I'm able to do it when the building is created using extrusionbut with the envelope the floor index does not appear to work. The report does indicate the CurrentFloorIndex is increased but the floors are not displayed properly concernig their use. Below is some or code I used, this code is simplified so we're only dealing with commercial and residential floors but in reality I would, want to expand this to include mixed and office floors. 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) MassReporting
The building this creates is always just symbolozed as commercial, no residential at all:[ATTACH=CONFIG]30228[/ATTACH]The only time I get something other than commercial (red) is if I set the NumFlrComm attribute to 0 in the Inspector. It appears that "set (currentFloorIndex, currentFloorIndex + 1)" is not effecting the "Volume(volumeType) -->" rule, although the number of floors is reported correctly in the report.Any one have any idea how I can rearrange this so the currentFloorIndex is used correctly.