You can use the setback operation, in a recursive manner.
I think any solution depends on some more details of your problem...
The solution I provide bellow does not seem very elegant, nor it works in every situation... but it might get you going for now... 

Code:
version "2011.2"
attr buildingHeight = 10
attr buildingColor = "#4A708B"
attr leftColor = "#FF0000"
attr rightColor = "#0000FF"
attr backColor = "#FFA500"
attr frontColor = "#800080"
attr frontSetback = 2
attr leftSetback = 8
attr rightSetback = 4
attr backSetback = 10
@StartRule
LotInner -->
NIL.
@StartRule
LotCorner -->
NIL.
@StartRule
Lot -->
setback(frontSetback){
front: color(frontColor) FrontPart.|
remainder: MinusFront
}
MinusFront -->
setback(leftSetback){
left: color(leftColor) LeftPart.|
remainder: MinusFrontAndLeft
}
MinusFrontAndLeft -->
setback(rightSetback){
right: color(rightColor) RightPart.|
remainder: MinusFrontLeftAndRight
}
MinusFrontLeftAndRight -->
setback(backSetback){
back: color(backColor) BackPart.|
remainder: MinusFrontLeftRightAndBack
}
MinusFrontLeftRightAndBack -->
Mass
Mass -->
alignScopeToAxes(y)
extrude(world.y, buildingHeight)
color(buildingColor)
Mass.
I don't know any documentation in spanish though :S
I normally use the application help menu window, and this forum
Hope it helps!!
Bookmarks