Hi
I have used the LShape with 0 width for the second wing, in order to control a building massing's depth (20m in this case). The LShape was set first with lot min. setbacks to front, left, back, right.
I'm trying to build in the ability to add upper floor setbacks and control which floor the upperlevel setback starts, as well as the setback distance from each edge, without any success.
I tried incorporating the rule in this thread, however I also have a split as the ground floor has a different height to the upper floors. Also the upper floors in the thread below output just the floor plates and not a mass. https://community.esri.com/t5/3d-mapping-questions/setback-after-height/m-p/775262
I also tried adapting the rule in this thread (https://community.esri.com/t5/arcgis-cityengine-questions/different-setbacks-in-the-same-building/td..., using an LShape instead of an OShape but without success.
Can anyone help with this?
Thanks!
I'm not sure I understand your question.
There's probably a better way, but here's what I did.
@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
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.}*
Hope this helps.