View the station maps at

What do you do when you've got a few hours spare, a copy of Blender, and a friend who's confused about the layouts of Underground stations? You build a browser-based 3D model of some of the stations, of course!

I only put a few stations in this initial version, but they include the two most complex ones - Bank and King's Cross - as well as a few smaller ones.

Some information about the project is below - and see my blog post for some more information.

The Technology

Stations are modelled as two things - a Blender file containing the actual 3D model, and a YAML file containing metadata, object names, and other useful information. The Blender file is converted into a model readable by Three.js (using the bundled Blender exporter), and the YAML data is compiled into a few JSON files.

The viewer itself is a single HTML page, using Three.js for the 3D engine and custom code to load, show and control the models themselves. The custom code is written in CoffeeScript, both for brevity and as an experiment to see how well it works for this kind of project.

By default, the viewer will use Canvas to draw the 3D model - this has the disadvantage of getting depth ordering wrong on some components, but has the advantage of working everywhere, having better antialiasing, and often being smoother than WebGL. WebGL-enabled browsers can also toggle on a WebGL mode.

The Process

Most of the stations are modelled from a combination of memory and a diagram or two I've managed to find on the internet, though some are modelled completely from memory (often with a walkaround or two of the station if I've not been there in a while).

This means that the models aren't totally accurate, but they do represent the right shape and layering of the stations - the point of the project is to illustrate the layout, not to have an architecturally-correct model (that's another project, perhaps), so some features have been contorted a bit so they're clearer, or easier to model.


I'm still roughly interested in interior modelling of underground spaces, and London Underground in particular, so if you think you could help out, please get in touch. Particular things I'd be interested in are:

The code and models are available on GitHub.