Hi,
I have manage to do different setbacks to my lot!!!! Thanks to the forum!
However the result only works when the lot has subdivision (shapes/block parameters/type/...).
If I pretend to do something like in the figure.
How could I change my rule to do it?
Lot-->
setback (9) {street.front : NIL | remainder :
setback (3.9) {street.back: NIL | remainder:
setback (4.46) {street.side: NIL | remainder:
Grow
}
}
}
Grow-->
extrude(rand(6,8))
Thanks in advance
Pedro
Solved! Go to Solution.
Could manually set using SetPivot :
Perhaps leverage python to apply the value?
ex:
attr PivotNumber = 1
setPivot(xyz, PivotNumber) # where Pivot Number can be
Example implemented in above rule:
#################
# Setback Version #
#################
Lot-->
setPivot(xyz, 0)
setback (9) {front : frontColor | remainder :
setback (3.9) {back: backColor| remainder:
setback (4.46) {side: sideColor | remainder:
Grow
}
}
}
Grow-->
extrude(rand(6,8))
frontColor-->
color(0,1,0)
backColor-->
color(1,0,0)
sideColor-->
color(0,0,1)
###
Results: Left (SetPivot= 0), right Left (SetPivot= 1)
#################
# Split Version #
#################
Lot-->
setPivot(xyz, 1)
split(x){9: frontColor |~1:
split(z){4.46: sideColor |~1: Grow |4.46: sideColor}
| 3.9 : backColor}
Grow-->
extrude(rand(6,8))
frontColor-->
color(0,1,0)
backColor-->
color(1,0,0)
sideColor-->
color(0,0,1)
####
Results: Left (SetPivot= 0), right Left (SetPivot= 1)
To get the shape in the image, you could probably use shapeO() and then take the remainder as your building:
shapeL, shapeU, shapeO operations
The reason why setback isn't working as you intended on non-subdivided block is because each side of the non-subdivided lot is touching a street, so street.front will always apply to each side. You could use the selectors front, back, right, left, etc instead of street.front, street.back.
Thanks I did exactly that! I replace the street.front by front, etc.
However the result is still not ok.
I will try do do it as you say! with the shapeO operation.
the goal is to identify the structure in an area under construction. Using a rule file to identify which type of structure it is being built there.
after finally using the statistics to show the possible future change.
cheers
Pedro
Cheryl,
On the non-subdivided block shape, do you know if it is possible to set a first edge? I can see that the widest street sets the first edge, but is there a way to override?
Thanks!
Chris
Thanks!
Could manually set using SetPivot :
Perhaps leverage python to apply the value?
ex:
attr PivotNumber = 1
setPivot(xyz, PivotNumber) # where Pivot Number can be
Example implemented in above rule:
#################
# Setback Version #
#################
Lot-->
setPivot(xyz, 0)
setback (9) {front : frontColor | remainder :
setback (3.9) {back: backColor| remainder:
setback (4.46) {side: sideColor | remainder:
Grow
}
}
}
Grow-->
extrude(rand(6,8))
frontColor-->
color(0,1,0)
backColor-->
color(1,0,0)
sideColor-->
color(0,0,1)
###
Results: Left (SetPivot= 0), right Left (SetPivot= 1)
#################
# Split Version #
#################
Lot-->
setPivot(xyz, 1)
split(x){9: frontColor |~1:
split(z){4.46: sideColor |~1: Grow |4.46: sideColor}
| 3.9 : backColor}
Grow-->
extrude(rand(6,8))
frontColor-->
color(0,1,0)
backColor-->
color(1,0,0)
sideColor-->
color(0,0,1)
####
Results: Left (SetPivot= 0), right Left (SetPivot= 1)
Interesting idea Geoff going to keep that example around.
For some of the setback functions I have noticed that in practice sometimes the setback can have odd lines when the resulting block shape has large curb radii. Pedro Soares, perhaps taking the generated shapes and reducing their curb radii might help with your setbacks if you have really small setbacks (a few feet etc). I have had some success with this in the past for certain lot rules.
Cheryl Lau , just to clarify does the set Pivot operation allow to change the first edge in a Dynamic shape then?
Thanks
A