Parapet wall & street curb extension

5389
8
Jump to solution
09-07-2015 05:43 PM
AidaAfrooz
New Contributor III

Hello,

I have 2 questions and hope someone can help me.

Can anyone help me how to write parapet wall in my roofType.cga? I extrude the building, give it a separate attribute for height and defined 3 different roof types : gable, hip, and flat. Now I want to add parapet wall to the flat roofs. As an example the building attached has flat roof with parapet wall.

Also is it possible to make curb extension for streets after creating them? I used the complete street Rule from Esri Library for street creation. I also read David Wasserman's guide on street rules where he suggested to  use extra nodes to make curb extension. But I haven't done it at the beginning and am wondering if there is any way to edit/modify the street to create curb extension.

Thank you!

zallini

Building4.JPG

1 Solution

Accepted Solutions
DavidWasserman
Occasional Contributor III

Here Aida,

Step 1: Set up street into desired design.

FasterCurb1.JPG

Step 2:  Select the segment that will get a curb extension. Hit Control+C, and copy the segment layer.

FasterCurb2.JPG

Step 3: WHILE the segment is selected, hit the edit button to drag its end nodes away from the connecting streets.

FasterCurb3.JPG

Step 4:  Delete the old segment.

FasterCurb4.JPG

Step 5: Draw two new connecting segments to the intersections from before.

FasterCurb5.JPG

Step 6: Edit rule and shape attributes to get desired street curb extension. At the very least you must reduce the streetWidth shape attributes by the same the amount you increase the sidewalk width attributes.

FasterCurb6.JPG
Hope this helps.
David

David Wasserman, AICP

View solution in original post

8 Replies
DavidWasserman
Occasional Contributor III

Hey Aida,

On the rule portion can you share the CGA rule in question? For flat roofs, I usually comp the top shape, then do a setback to create a "roof edge" that I can further manipulate. So once you make that edit, you could make something similar with a setback that you then split so that you can create alternating extrusions up. Similar to the Interweaved Repeat split in the documentation page here.


As far as curb extensions, the guide I wrote is the best advice I have for curb extensions. If you add those nodes to the streets, you just have to alternate changes in Street and Sidewalk Width parameters to create the effect of the curb extension.


I hope this helps.

David

David Wasserman, AICP
0 Kudos
AidaAfrooz
New Contributor III

Hello David,

Thank you very much for your reply.

As for the curb extension, is there any way to add nodes to the current street? I make the curb extension for a new street but cannot add nodes and make extension to a street which has already been created.

As for the parapet wall, I was able to create the parapet wall with the help of Ben Leslie :

split parapet walls

I have difficulty in understanding python scripting but seems the rule works:

FlatRoof --> 

  comp (f) {all : Roof}roofTexture

  offset(-parapetTickness, border)

  comp(f) {inside : RoofSurface | border : Battlement}

roofTexture-->

  texture("Facade/rooftexture/roof.jpg")

  setupProjection (0, scope.xy, 3,3)

  projectUV (0)

RoofSurface -->

  t(0,0,-parapetHeight)

  comp(f) {top : NIL | bottom : RoofFloor | all : Battlement}

Battlement --> 

  split(x){~0.4:Merlon|{0.8:Crenel.|~0.7:Merlon}*|~0.8:Crenel.|~0.5:Merlon}

Merlon-->

  t(0, 0, -0.5)

  extrude(1)

  color  ("#eb937b")

RoofFloor --> 

  extrude  (-2)

  setupProjection(2, scope.xy, '1, '1) 

  projectUV(2)

0 Kudos
DavidWasserman
Occasional Contributor III

Hey Aida,


So this is something I have been playing around with. Ideally, GIS data would be imported and then segmented based on using functions like segment along line or splitting at a buffers end to create the points where sidewalk width/street width would change. When I need to do it manually what I usually do is pull the nodes of a copy of the segment* connecting to other streets away the distance I want to be, then I draw new segments (starting at the middle street to allow the main street to inherit its attributes) to connect to the rest of the network. Let me know if this helps or if I should make a picture example.

The roof code looks good to me! Glad you got a working solution. 😃 Also, just keep in mind that that CityEngine uses CGA, which is pretty different from python and might be a source of confusion.

David

Edited: I forgot to mention I make a copy of the "curb extension" segment. Then reconnect the copy. If you don't copy it, the nodes will move the connecting streets.

David Wasserman, AICP
0 Kudos
AidaAfrooz
New Contributor III

Hi David,

It would be great if you could upload a picture example.

thanks a lot

0 Kudos
DavidWasserman
Occasional Contributor III

Here Aida,

Step 1: Set up street into desired design.

FasterCurb1.JPG

Step 2:  Select the segment that will get a curb extension. Hit Control+C, and copy the segment layer.

FasterCurb2.JPG

Step 3: WHILE the segment is selected, hit the edit button to drag its end nodes away from the connecting streets.

FasterCurb3.JPG

Step 4:  Delete the old segment.

FasterCurb4.JPG

Step 5: Draw two new connecting segments to the intersections from before.

FasterCurb5.JPG

Step 6: Edit rule and shape attributes to get desired street curb extension. At the very least you must reduce the streetWidth shape attributes by the same the amount you increase the sidewalk width attributes.

FasterCurb6.JPG
Hope this helps.
David

David Wasserman, AICP
AidaAfrooz
New Contributor III

Dear David,

Thank you very much for your time. i really appreciate your help.

There is only one issue with my street networks that i wish you can help me again. All the nodes seems to be connected to neighbor streets and as I want to do step 3 the whole street network moves. 

not sure if this would help : I unchecked all the options in street creation setting including: re-use settings from neighbors, apply graph cleanup, etc. nodes are still connected to adjacent streets.

street1.PNGstreet2.PNG

0 Kudos
DavidWasserman
Occasional Contributor III

Hey Aida,

You need to copy the street segment (select one segment) before you edit the nodes (because then it is a copy of the street segment that is not connected to the other streets).

When you copy the segment you want to make a curb extension, you must edit it immediately after it is copied, otherwise it gets hard to select the copy over the old segment.
I would suggest keeping the network on visually, it helps with selections.

Net.png

David

David Wasserman, AICP
0 Kudos
AidaAfrooz
New Contributor III

it works, thank you very much David for your help!

0 Kudos