attr red   = "#FF0000" attr green = "#008000" attr offsetval = -5 attr extrudeval = 20   Lot --> offset(offsetval) A  A   --> comp(f) { inside: I | border: O } I   --> color(red) #I --> extrude(extrudeval) O   --> color(green)Solved! Go to Solution.
@Group("Ground Level Setbacks",1)
attr Front_Yard_Depth = 5
@Group("Ground Level Setbacks")
attr Rear_Yard_Depth = 5
@Group("Ground Level Setbacks")
attr Side_Yard_Width = 5
@Group("Buildable Volume",2) @Order(1)
attr Max_Height = 15
@Group("Buildable Volume") @Order(2)
attr Setback_Angle = 60
@Group("Buildable Volume") @Order(3)
attr Front_Baseheight = 10
@Group("Buildable Volume") @Order(4)
attr Rear_Baseheight = Max_Height+0.1
@Group("Buildable Volume") @Order(5)
attr Side_Baseheight = Max_Height+0.1
@Group("Buildable Volume") @Order(6)
attr Color = "#ffff00"
@Group("Options") @Hidden
attr Opacity = 0.5
@Group("Options") @Hidden
attr Show_Shell = true
@Group("Options") @Hidden
attr Floor_Height = 3.7
@Hidden
attr lotArea = 0
@Hidden
attr bldgArea = 0
Lot -->
 case !Show_Shell: NIL else:
  set(lotArea,geometry.area())
  setback(Front_Yard_Depth) { street.front: NIL | remainder: 
   setback(Rear_Yard_Depth) { street.back: NIL | remainder: 
     setback(Side_Yard_Width) { street.side: NIL | remainder: 
     BuildableArea 
    }
   }
  }
  
BuildableArea -->
 set(bldgArea,geometry.area())
 envelope(Max_Height, Front_Baseheight, Setback_Angle, Rear_Baseheight, Setback_Angle, Side_Baseheight, Setback_Angle)
  BuildableVolume
  
BuildableVolume -->
  color(Color)
  set(material.opacity,Opacity)
  report("Lot Area (m2)",lotArea)
  report("Max Building Area (m2)",bldgArea)
  report("GFA Potential (m2)",geometry.volume/Floor_Height)
  report("FAR Potential",geometry.volume/Floor_Height/lotArea)
  
  
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		Lot -->
 case !Show_Shell: NIL else:
  set(lotArea,geometry.area())
  setback(Front_Yard_Depth) {object.front: NIL | remainder: 
   setback(Rear_Yard_Depth) { object.back: NIL | remainder: 
     setback(Side_Yard_Width) { object.left: NIL | remainder:
      #setback (Right_Yard_Width) {object.right:NIL | remainder:
      BuildableArea 
    }
   }
  }
Lot --> A
Lot --> A.
Lot --> A. B --> C.