version "2012.1" attr bayCount = 7 attr floorHeight = 4 attr stories = 3 attr balconyDepth = 4 attr balconyThickness = 0.2 const splitZnotX = scope.sz > scope.sx baySize = case splitZnotX : scope.sz / bayCount else : scope.sx / bayCount Footprint--> case splitZnotX : split(z) {{baySize: BayOdd | baySize: BayEven}* | ~1 : BayOdd} else : split(x) {{baySize: BayOdd | baySize: BayEven}* | ~1 : BayOdd} BayOdd--> case splitZnotX : split(x) {balconyDepth: Balcony | ~1: Interior} else : split(z) {balconyDepth: Balcony | ~1: Interior} BayEven--> case splitZnotX : split(x) {~1: Interior | balconyDepth: Balcony } else : split(z) {~1: Interior | balconyDepth: Balcony } Interior--> extrude(floorHeight * stories) split(y) {~floorHeight : InteriorFloor}* Balcony--> extrude(floorHeight * stories) split(y) {~floorHeight : BalconyFloor}* InteriorFloor--> report("GFA-Interior", geometry.area(bottom)) color(1,1,0) BalconyFloor--> report("GFA-Balcony", geometry.area(bottom)) comp(f) {bottom: BalconyFloor2} BalconyFloor2--> extrude(0.2) color(0,0,1)
Signed in members can post, follow updates, and more. New here? Register a free account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.