Manual / Draft: building the city / Roads & junctionsiCity 2 · Windows

Roads & junctions

Roads mode is where the city's graph is drawn by hand, and everything else in Draft is traced from it. Draw Road streams each click straight into the engine, snapping to what is already there; the node between two roads is what carries the junction, its fillet, and its roundabout.

Roads mode, and what it edits

Roads mode is the second tab down the rail of the iCity Editor, reached with Alt+2. The status bar names it Roads (Alt 2) while nothing is selected. Everything downstream is traced from what you draw here: close a loop of roads and the engine fills the enclosed area with a region, then lots, then buildings.

The rail carries exactly one tool in this mode, Draw Road, armed with the D key. Subdivide, Straighten, Dissolve and both Delete verbs were moved off the rail and onto the right-click element card — see modes and tools.

A click in Roads mode picks two different kinds of thing. The dark ribbon is a road; the white dot where two or more roads meet is a node. Both are live at once, so you do not switch between them.

Note

The interface uses two words for one road. The status bar caption for a selected road is Road; the right-click card that edits it is titled SEGMENT and its delete button reads Delete Segment. They are the same object. Both spellings are listed in the glossary.

Your city is not your .blend — it lives in a separate engine process, and every road you draw is sent there as you draw it. See how iCity fits into Blender.

Starting from nothing

With the engine stopped, every Draft mode except Graph shows The iCity engine is not running. Start it to edit your city. with a Start button centred under it. Roads mode has nothing to offer until the engine is up — see the engine.

With the engine running and no roads in the scene yet, the panel shows a card headed No roads yet: “Roads are the city's skeleton — draw one, or import a real street network.” It carries two buttons, Draw Road and Import OSM. The first arms the Draw Road tool; the second opens the OpenStreetMap import popup, covered on OpenStreetMap.

roads-and-junctions-empty-state.png

The iCity Editor in DRAFT, Roads mode (Alt+2), engine running, scene with no roads. Show the 'No roads yet' card with its hint line and both buttons (Draw Road, Import OSM), and the Road Width / Sidewalk Width / Line Width fields drawn beneath it.

/docs-shots/blender/
Roads mode with no roads drawn yet.

The card does not replace the parameters underneath it. The values a new road will be drawn with — Road Width, Sidewalk Width, Line Width — stay on screen below the card, so you can set the width you want before the first click.

The guided start screen offers the same route before a project has any city at all: the Draw road button there arms Draw Road and drops you into the workspace with it running.

Drawing a road

Draw Road is a click-by-click polyline. It is not a preview you commit at the end: each click after the first commits the road so far and sends it to the engine, so a long street appears in pieces as you draw it rather than all at once.

  1. Press D, or click Draw Road in the rail. The status bar prints the whole vocabulary before your first click: LMB Add Point, RMB Draw Elsewhere, Enter Confirm, Esc / D Exit Tool.
  2. Click to place points. The caption counts them — Draw Road: 3 Points — and appends what the cursor is snapped to in brackets when it is snapped to anything.
  3. Right-click once two or more points exist to bank that road and start a separate one somewhere else; the caption then counts the banked roads ahead of the live points — Draw Road: 2 Roads + 1 Point — and goes up from there.
  4. Press Enter to confirm. Blender reports how many edges were committed.
roads-and-junctions-draw-strip.png

Blender's status bar at the bottom of the window while Draw Road is mid-stroke with three points placed and the cursor snapped to an existing node, so the caption reads 'Draw Road: 3 Points (Snap Node)'. The whole key strip must be legible: Confirm, End Stroke, Add Point, Draw Elsewhere, Exit Tool.

/docs-shots/blender/
The status bar during a stroke, counting points and naming every key.

Because every click is already committed, Esc during a stroke is labelled End Stroke, not Cancel — it ends the stroke and keeps the roads already drawn. The way back is Ctrl+Z, which rewinds the engine's city rather than the .blend. The whole stroke collapses into one undo step, and Ctrl+Z is refused while a stroke is still running.

KeyWhat it does mid-stroke
LMBAdd a point, and commit the road so far to the engine.
RMBWith 2+ points: bank this road and start a separate one. With fewer, and roads already banked: drop the stray point. With nothing drawn at all: cancel.
EnterConfirm and finish.
EscEnd the stroke. The roads already drawn stay.
DCommit what is drawn and leave the tool.

A click on a panel, the toolbar or another editor ends the stroke rather than being swallowed, so you do not have to press Esc before switching tools. Middle-mouse and the wheel pass through, so you can orbit and zoom mid-draw.

Snapping, splitting and closing a loop

The cursor snaps within 34 screen pixels of a candidate, and the nearest candidate inside that radius wins. The radius is deliberately generous: missing a snap leaves a near-duplicate node a metre from a real junction, which is worse than an occasional snap you can see and avoid.

Node-level snapping always beats a segment hit. Only when nothing resolves at node level does the cursor fall back to the road under it, and the caption tells you which of the four things happened.

Caption readsThe cursor is onWhat the click makes
(Snap Node)An existing node of the graph, highlighted amber.The road joins that node — no new node is created.
(Snap Point)A point you already placed in this stroke.The road returns to that point.
(Close Loop)The first point of the stroke you are drawing.The loop closes, which is what makes a region appear.
(Split Road)An existing road, highlighted cyan.A node is injected into that road at the projection, splitting it in two, and the new road tees off it.
roads-and-junctions-snap-highlights.png

3D viewport mid-stroke in Draw Road, drawn over an existing road network. Two captures composited or one showing both if possible: the amber dot when the cursor is over an existing graph node, and the cyan dot when the cursor is over the middle of an existing road. The status bar caption must be visible in each.

/docs-shots/blender/
Snap feedback while drawing: an amber node highlight and a cyan segment highlight.

A loop also closes on its own. Once three points are down, a free click landing within one road width of the stroke's start point (or 4 m, whichever is larger) collapses onto that start point instead of committing where you clicked — so the loop shuts cleanly rather than leaving a short stub edge.

Note

A click landing within 5 mm of the previous point is ignored, so a reflexive double-click in place cannot leave a stray vertex in the graph.

Hand-drawn roads that cross without a shared node, or nodes that landed a hair apart, are what Clean Up Graph is for. It sits in Graph mode (Alt+1) under the assigned graph, next to Unassign and Regenerate: it welds nodes closer than 8 m, inserts a junction where two roads cross, snaps a node onto a road passing within 3 m, dissolves curve points that turn less than 8°, and prunes dead-end stubs shorter than 6 m. Every threshold is editable in Blender's redo panel afterwards. Unlike a road edit, it rebuilds the whole city rather than the area around one change.

Road and sidewalk widths

With nothing selected, the parameters column shows the values the next road will be drawn with. These are the real values the tool reads at commit time, not a copy — the live preview ribbon uses them too, so the road you see under the cursor is the width you will get.

SettingDefaultDescription
Road Width8 mWidth of the road being drawn, kerb to kerb. Range 2–50 m.
Sidewalk Width2 mSidewalk width on each side of the road being drawn. Range 0–10 m.
Line Width0.2 mWidth of the lane line drawn with the Draw Line tool, which lives on the Design Markings card rather than the Draft rail. Range 0.05–2 m.

Once a road exists, its own widths are edited by selecting it. Two pairs of handles appear along the selected road: dark blue bars on the kerb line drive Road Width, and teal bars on the outer sidewalk bound drive Sidewalk Width. The sidewalk value is per side in the engine, so one drag resizes both sidewalks symmetrically. A white four-way arrow sits at the centre of the segment; drag it and the road moves, its two end nodes riding along with it.

roads-and-junctions-width-handles.png

3D viewport, DRAFT, Roads mode, one road segment selected. The cyan selection outline, the dark blue road-width bars on the kerb line, the teal sidewalk-width bars on the outer sidewalk edge, and the white four-way move arrow at the segment centre must all be visible and distinguishable.

/docs-shots/blender/
A selected road with its width handles and centre move arrow.

The same two numbers are typed rather than dragged in the parameters column, which shows Road Width and Sidewalk Width for the selected road once one is picked.

Note

Those handles are drawn only while Blender's own Select tool is the active tool in the toolbar. Pick Move, Rotate or Scale and every edit handle in the addon disappears, along with the drag hints in the status bar. See selecting and editing.

Lane structure inside the carriageway — how many lanes, which are driving, parking or bike, and where the markings go — is a Design job, not a Draft one. It is covered on lanes and markings.

Editing one road

Select a road and the status bar caption reads Road, with Move/Resize on drag, Subdivide on right-click, Invert and Delete. Select two or more and the caption reads N Roads and the right-click verb becomes Straighten.

Right-clicking a selected road opens the element card, titled SEGMENT. It carries the road's identity, then Subdivide, Straighten and, in red, Delete Segment. The card stays open after Subdivide or Straighten and re-binds to whatever is active afterwards.

roads-and-junctions-segment-card.png

The element popup opened over the 3D viewport on a selected road. Title bar reading SEGMENT, the identity line beneath it, and all three buttons: Subdivide, Straighten, and Delete Segment in red.

/docs-shots/blender/
The right-click card for a road, titled SEGMENT.
  • Subdivide splits the road at its midpoint into two roads with a new node between them. The two halves inherit the parent's road and sidewalk widths. Roads shorter than about a metre are skipped as “too short”.
  • Straighten needs two or more connected roads selected. Every interior curve point of the selection is dissolved, so the winding chain between the two ends becomes one straight road. The two ends stay put, and a junction in the middle of the chain is preserved rather than severed — a branched selection straightens into straight runs either side of it.
  • Delete Segment, or Del / X, removes the road. An end node left with one remaining road becomes a dead end; one left with none is removed. If the road bordered two regions, those regions merge, because the centreline between them is now interior.

Del and X ask first. The confirmation is titled Delete and reads “Delete this road? This is a persistent edit — a regenerate will not bring it back.” The element flashes red under the prompt.

Note

Subdivide, Straighten and Delete Segment work on procedural roads — the ones traced from the graph you drew. Roads imported from OpenStreetMap are not backed by a graph edge, so they are skipped and counted in the report as “unmatched”.

Nodes, junctions and roundabouts

A node is a point of the graph, drawn as a white dot. What you can do with one depends on how many roads meet there, and the status bar caption names the case before you act.

Roads meeting thereStatus bar saysWhat is on offer
1Dead EndMove, Invert, Delete. There is no second road to merge into and no type to set.
2NodeMove, Invert, Delete, and Dissolve on right-click — the two roads merge into one and the node goes.
3 or moreJunction, or Roundabout when its type is set to roundaboutMove/Resize on drag, Set Type on right-click, Invert, Delete.

Select a junction and its handles appear around the white dot: amber arcs at each corner, and teal squares where each incident road meets the junction plate. Dragging any amber arc sets the fillet radius, and because the whole node shares one radius, every corner follows. Dragging a teal square along its road pushes the junction plate back on every leg at once, a metre of drag to a metre of offset. An arc is drawn only at a real corner — a near-straight-through leg has nothing to round.

roads-and-junctions-junction-handles.png

3D viewport, DRAFT, Roads mode, a degree-4 node selected. Show the white node dot, one amber fillet arc per corner, and the teal offset squares on each incident road where it meets the junction plate. Status bar caption reading 'Junction' should be visible if it fits.

/docs-shots/blender/
A four-way junction selected, with its fillet arcs and offset squares.

Right-click the node, or use the Nodes section of the parameters column, to set Intersection: Bare, Traffic or Roundabout. The current type is shown in light blue. The card and the panel share one table, so the two surfaces cannot disagree.

Only an intersection has a type to set. Select a curve point or a dead end and both surfaces replace the buttons with Select an intersection to edit node type. On a mixed selection the buttons act on the intersections only, and the card says which: “Applies to 2 intersections (1 plain node stays bare)”.

The fields under the type row change with the type. Bare and Traffic are the same set; Roundabout swaps the fillet for two radii and drops the offset, because a roundabout's size comes from its rings instead.

FieldShown forWhat it does
Fillet RadiusBare, TrafficCorner rounding where the roads meet this node. 0.5–20 m. The typed field and the amber arcs are the same number.
Intersection OffsetBare, TrafficHow far the roads pull back from this node. 0–40 m. The typed field and the teal squares are the same number.
Roundabout Inner RadiusRoundaboutThe island at the centre. 3–60 m, starting at 11 m. Dragged in the viewport by the purple ring.
Roundabout Outer RadiusRoundaboutThe outer curb of the ring. 3–120 m, starting at 18 m. Dragged in the viewport by the green ring.
Node ResolutionAll typesSubdivision segments along the road length, 1–64. Stored on the object, but nothing downstream reads it in this build.
roads-and-junctions-roundabout.png

3D viewport with a junction whose Intersection is set to Roundabout, node selected. Show the purple inner ring on the island edge and the green outer ring on the curb, and beside it the parameters column with Intersection Type on Roundabout and the Roundabout Inner Radius / Roundabout Outer Radius fields.

/docs-shots/blender/
A junction switched to Roundabout, with its inner and outer radius rings.

Switching a junction to Roundabout replaces its fillet arcs with the two rings; the offset squares and the Intersection Offset field are hidden, since the offset only pushed the arms past the ring. Switching back to Bare or Traffic brings the arcs and the offset back.

Delete Node, or Del / X on a selected node, removes the node together with every road connected to it, exactly like deleting a vertex and its edges. The junctions at the far ends of those roads then downgrade, and any region the roads bordered merges with its neighbour. The confirmation counts the nodes you picked, not the roads that will go with them.

Warning

Every edit in this section is a persistent edit to the graph, as the delete prompt says: a regenerate will not bring back what you removed. Ctrl+Z is the way back, and only while the last thing you did was an iCity edit — after any plain Blender action the key belongs to Blender's own undo stack again.

On this page
Roads mode, and what it editsStarting from nothingDrawing a roadSnapping, splitting and closing a loopRoad and sidewalk widthsEditing one roadNodes, junctions and roundabouts
Need help?

The Discord is fastest for anything scene-specific. Email suits licensing, billing and anything needing a file attached.

Contact support →