version "2023.1" @Group("Lshape_setting",0) @Order(0) @Range(min=0, max=100, stepsize=1) attr FrontDepth = 0 @Order(1) @Range(min=0, max=100, stepsize=1) attr LeftDepth = 0 @Group("Floor_setting",1) @Order(0) @Range(min=3, max=5, stepsize=0.1) attr groundFloorHeight = 4 @Order(1) @Range(min=2, max=10, stepsize=1) attr upperFloorCount = 3 @Order(2) @Range(min=3, max=5, stepsize=0.1) attr upperFloorHeight = 3.5 @Order(3) @Range(min=2, max=10, stepsize=1) attr setbackFloorCount =2 @Order(4) @Range(min=3, max=5, stepsize=0.1) attr setbackFloorHeight = 3.5 @Group("Setback_setting",2) @Order(0) @Range(min=0, max=100, stepsize=0.5) attr setbackFrontWidth = 1 @Order(1) @Range(min=0, max=100, stepsize=0.5) attr setbackRightWidth = 1 @Order(2) @Range(min=0, max=100, stepsize=0.5) attr setbackLeftWidth = 1 @Order(3) @Range(min=0, max=100, stepsize=0.5) attr setbackBackWidth = 1 @StartRule Lot --> shapeL(FrontDepth,LeftDepth){shape : L_Base | remainder : X.} L_Base --> extrude(groundFloorHeight) GroundFloor GroundFloor --> color(1,0,0) comp(f){top : UpperFloor | all : GroundFloorWall.} UpperFloor --> color(0,1,0) extrude(upperFloorHeight*upperFloorCount) comp(f){top : SetbackBase | side : UpperFloorWall} UpperFloorWall --> split(y){upperFloorHeight : UpperFloorFacade.}* SetbackBase --> innerRectangle(scope){shape : SetbackFloorBase | remainder : X.} SetbackFloorBase --> alignScopeToAxes(object.xyz) shapeO(setbackFrontWidth,setbackRightWidth,setbackBackWidth,setbackLeftWidth){shape : X. | remainder : SetbackFootprint} SetbackFootprint --> color(0,0,1) extrude(setbackFloorCount*setbackFloorHeight) split(y){setbackFloorHeight: setbackFloorFacade.}*
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)