Shape and Graph Network layers not working together in rules

07-12-2012 11:12 PM
New Contributor

I'm trying to recreate a local government area using a road network dataset and property boundary (cadastral) dataset, both in Shapefile format. I have imported the two datasets into a City Engine project and managed to extrude 3D shapes and color them according to their land use. All good so far.

I'm trying to use code from Tutorial #8: Part 3, which has to do with mass modeling and adapting parcels with setbacks. Below is a snippet of the code provided in the tutorial.

attr height =
    case geometry.area > 1000: rand(50,200)
    else: rand(20,50)

attr distanceStreet =
    20% : 0
    else : rand(3,6)

Lot --> Parcel
LotInner --> OpenSpace

Parcel -->
        { streetSide: OpenSpace
        | remainder: Footprint }

Footprint --> extrude(height)

OpenSpace --> color("#77ff77")

My problem is that changing the distanceStreet parameter has absolutely no effect. Later when I adapt the code to take into account setback(distanceBuildings) the buildings are resized with the same distance to each side of the property. I think the issue is that in my project, the cadastre (Shape layer) is separate from the road network (Graph Network) layer - the properties do not exist in the "blocks" sublayer of the network as in the tutorial.

Do anyone know how I can merge my property data with the Graph Network dataset, or know exactly the cause of the issue that I'm having?

Many thanks!
0 Kudos
4 Replies
Frequent Contributor
hi !

static ( imported ) parcels are not 'connected' to streets. if you are using the dynamic city layouts ( CityEngine's street / block / lot system ), they are.

Cityengine knows just that your parcel is a shape, but it has no knowledge that there's a street next to it. You have to mark the street edges to tell the parcel so.

Do that by selecting the parcel edges by either double clicking them, then go to Shapes Menu > Set Street Edges. This creates a new Object Attribute for the parcel shape with the street width information ( value 1 ).

The setback operation takes that value into account.

Let me know if it works.
0 Kudos
New Contributor
I have the same problem, my parcels and street network are 2 seperate geodatabase layers I am importing into my CityEngine project and I can't do anything with the parcels that require knowing the front, side or back of the shape, i.e. doing setbacks or texturing. I looked on the "Shapes" menu and the "Set Street Edges" option is no availalbe, i.e. it's grayed out. As for double clicking the street side of the shape, that doesn't appear to do anything, for instance I don't see that it adds anything to the attribute list?
0 Kudos
New Contributor
I finally got the "Set Street Edges" command to be available and when I used it it did add the "Streetwidth(10)" attribute and set the value to 1. The problem is that I have thousands of parcels and this process only appears to work on one at a time. Even selecting the parcels 1 at a time didn't work. I was able to do it one on one parcel then when I tried the exact same thing on the a neighboring parcel the "Set Street Edges" command was not available. When I tried to select the street side on multiple parcel it wouldn't do it, it just selected the entire parcel in all cases. What can I do to set the street edge of all of my parcels at once, or at least do more than one at a time, assuming I can get it to work again at all.
0 Kudos
Frequent Contributor
you have to double click the edge of a static shape to select it. then, the set street edges command is available.

0 Kudos