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.
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.
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.
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.
- 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.
- 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.
- 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.
- Press Enter to confirm. Blender reports how many edges were committed.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
- —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.
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.
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.
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.
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.
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.
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.
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.
The Discord is fastest for anything scene-specific. Email suits licensing, billing and anything needing a file attached.
Contact support →