Street Generation From Edges

Street Generation From Edges

With the addon called Street generation from edges, we can make geometry like a street from just edges. You could add a vertex in the scene, extrude it a few times and run this addon. It will show a redo-panel (left bottom) where you can adjust the bevels.

How the Street generation from edges work

The addon is fairly simple. Here are the steps how I got it to work.

  • Go in Top-view, orthographic mode. (Press 5, then 7 on the numeric keypad).
  • Add a vertex into the scene with Shift+A > Add Mesh > Single Vert > Add Single vert. If you don’t see this, then enable the build in addon called Extra Objects.
  • Press 1 to select Vertex Select Mode
  • Select the vertex.
  • Zoom out a bit until you see Meters (top left). Or in other words zoom out until you can make streets on realistic scale a bit. Otherwise the bevel might overshoot, and then you need to adjust that. So you have to think in terms of a least 15 meters or so, for one extrusion. That’s still very short, if you realise that the road itself has a width or around 8.5 meters (two way).
  • Once finished with extrusion, press the button: generate street from edges.
  • Now the redo-panel shows up on the left-bottom.

The redo-panel

Yes, that is called the redo-panel on the left bottom it seems. And here an explanation of the settings with a few tips:

  • Street width, is to specify the width of the Street. A street with two lanes, without parking is approximately 6 meters (20 feet) for emergency, but more commonly accepted is 8.5 meters (28 feet).
  • Bevel Size: the lower the value the sharper the corners of your street. I guess, to make the street more natural, set this as high as possible. But so that the bevels don’t overshoot.
  • Beveled dead ends. Is a checkbox, turn it on if you want rounded ends on your street.
  • Bevel Size Dead Ends. With this you can define how sharp the corners have to be of the rounded ends of the street.
  • And other settings like: Angle based, Edge length based, and settings for subdivision.

If you got all that done, you can select all faces and extrude up a bit. Mind, that not all normals are pointing outwards. So an important step is to go in Edit mode, select all faces and press Shift+N. This will calculate the normals outwards the mesh. Here a screenshot of what we got so far:

Redo Panel - Street generation from Edges
Redo Panel – Street from Edges

Where to download Street generation from edges

You can download the addon on Github. The easiest way to do it, is as follows (Chrome): On Github, click on StreetGenFromEdges.py. Then, click on the button Raw (a bit in the top right). Right Click and select: Save As..