Lot setback

3095
10
Jump to solution
03-01-2016 12:43 AM
PmssS
by
New Contributor II

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

Tags (1)
0 Kudos
1 Solution

Accepted Solutions
GeoffTaylor
Esri Contributor

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)

View solution in original post

10 Replies
CherylLau
Esri Regular Contributor

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.

PmssS
by
New Contributor II

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

0 Kudos
by Anonymous User
Not applicable

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

CherylLau
Esri Regular Contributor

Nope, sorry, the first edge is automatically set for street blocks, and there is no way to change it.

by Anonymous User
Not applicable

Thanks!

0 Kudos
GeoffTaylor
Esri Contributor

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)

DavidWasserman
Regular Contributor

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.

David Wasserman, AICP
0 Kudos
CherylLau
Esri Regular Contributor

Nice workaround!  I take back my original statement.

AbeleGiandoso
Occasional Contributor

Cheryl Lau‌ , just to clarify does the set Pivot operation allow to change the first edge in a Dynamic shape then?

Thanks

A

0 Kudos