hi ,
nice to meet you ~
i need some help ~
nmly is shp builing height attribute
i made this grammer
with height attr , i would like to assign color
but this code is error
what problem ?
attr NMLY = 0
zoneColor =              
    case NMLY == "1" :  
        "#ff0000"  
    case NMLY == "2" :  
        "#00ff00"  
    else:  
        "#0000ff"  
  
  
@StartRule
Lot --> 
  extrude(NMLY) 
    color (zoneColor) 
Here a sample for you, using colors by attribute.
CGA from: Tutorial_16_Urban_Planning__2016_1\rules\Context.cga
__________________
version "2014.1"
attr floors = 0
attr floorDelta = rint(rand(-1,1))
const floorheight = 3
@Range("Assembly","Agricultural","Educational","Industry","Mercantile","Office","Public","Residential","Service","Storage","Transport","Utility","Other","Unknown")
attr usage = "Residential"
buildingUsageColor (buildingUsage) =
 case buildingUsage == "Assembly" : "#f8c283"
 case buildingUsage == "Agricultural" : "#cccc00"
 case buildingUsage == "Educational" : "#ad89ba"
 case buildingUsage == "Industry" : "#7a85c8"
 case buildingUsage == "Mercantile" : "#777777"
 case buildingUsage == "Office" : "#B884D5"
 case buildingUsage == "Public" : "#BCD4D5"
 case buildingUsage == "Residential" : "#bb4646"
 case buildingUsage == "Service" : "#d08c6e"
 case buildingUsage == "Storage" : "#444444"
 case buildingUsage == "Transport" : "#444444"
 case buildingUsage == "Utility" : "#444444"
 case buildingUsage == "Other" : "#444444"
 case buildingUsage == "Unknown" : "#444444"
 else /*error*/ : "#ffffff"
@Startrule
Context -->
 extrude((floors + floorDelta)*floorheight)
 color(buildingUsageColor(usage))
In the case statement, NMLY is being compared to a string "1", but NMLY is a float. Take away the quotation marks around "1" and "2", and do the logical comparison to floats 1 and 2 like this:
attr NMLY = 0 
zoneColor =              
    case NMLY == 1 :  
        "#ff0000"  
    case NMLY == 2 :  
        "#00ff00"  
    else:  
        "#0000ff"