StreetWidth Used in Setback

1512
10
01-07-2019 07:50 AM
LesiMai
New Contributor

Hi all!

I'm wondering if there is a way to use the StreetWidth attribute so that setbacks can be based on the width of the street the lot side is facing. For instance, if it's a corner lot, I want to have a larger setback for the side that's facing a wider street and a smaller one for the side that's facing a narrower street.

Any pointers will be greatly appreciated! Thank you!

Lesi

Tags (1)
0 Kudos
10 Replies
CherylLau
Esri Regular Contributor

In 2019.0, the new operation setbackPerEdge() allows you to create a setback with different setback distances on each edge.  It takes as input a function that specifies the setback distance per edge.  The function is evaluated per edge, and comp and scope attributes are accessible within this function.

https://doc.arcgis.com/en/cityengine/latest/cga/cga-setback-per-edge-operation.htm

This code creates a setback where the setback distances are equivalent to the street width on each edge.

attr streetWidth(i) = 0

myFunc = streetWidth(comp.index)

Lot -->
setbackPerEdge(myFunc) { all: Green | remainder: Red }
0 Kudos
LesiMai
New Contributor

Thank you Cheryl for the update on the new functionalities! I'll test it out.

0 Kudos
DavidWasserman
Regular Contributor

Cheryl, to clarify, a CE generated lot shape will have access to the street parameters? What about other rule attributes/parameters?

What about imported data? 

David

David Wasserman, AICP
0 Kudos
CherylLau
Esri Regular Contributor

No, the streetWidth attribute is a special case.  See this post:

https://community.esri.com/message/722386-re-designate-multiple-street-edges?commentID=722386&et=wat... 

DavidWasserman
Regular Contributor

Got it. Only on parcels CE generates or also can be associated with a first edge operation? 

David Wasserman, AICP
0 Kudos
CherylLau
Esri Regular Contributor

Sorry, I don't understand this question.

0 Kudos
DavidWasserman
Regular Contributor

I guess my question is there are two types of "parcels" or "lots" in CityEngine. One generated by outlines of roads, and those imported. I guess my question is how this applies to imported parcels and how one might go about orienting their edges for these operations. 

David Wasserman, AICP
0 Kudos
CherylLau
Esri Regular Contributor

The special streetWidth attribute code

attr streetWidth(i) = 0

will only work if the shape has an object attribute called streetWidth[] which is an array of floats.  This object attribute is automatically generated on dynamic shapes (shapes created by graph networks).  This object attribute does not inherently exist on non-dynamic shapes, but it can be created using Shapes -> Compute First/Street Edges.

https://doc.arcgis.com/en/cityengine/latest/help/help-shape-edge-tools.htm

KZ
by
New Contributor

Hi Cheryl

As a follow up on this same question, I'm trying to use envelope and setback function for imported parcels.CE 2019 provided versatility for setbacks, setbackPerEdge documentation showed an example of edge attribute's orientations

dist(orientation) =

case orientation == "park" : 1

case orientation == "street" : 7

case orientation == "lot" : 0

case orientation == "back" : 3

else : 0

My question is how to setup and customise edge attributes for mass data such as the example with parks, streets etc. For envelopes, the front of the envelopes uses street fronts. What I want my front is to be base on compass direction. I tried comp(e) using world.compass direction but the function didn't work.  Now with CE2019 my assumption to achieve what I wanted will be using one set of edge attributes to rearrange street orientation for the envelope function and another set of edge attributes for my setback.  But could not seem to find any documentation on setting up edge attributes.

0 Kudos