Guide

Choosing what the map draws.

A ski map wants lifts and no trains. A city map wants trains and no lifts. An island map wants the ferry. The Surface tab decides which mapped features reach the model — and because filament slots are handed out only to layers that draw something, switching one off is never wasted, and switching one on costs nothing where the map has none.

What each layer covers

Every layer below has its own map download and its own cache, so switching one never re-fetches the others.

LayerWhat it drawsDefault color
Roads Streets at your chosen detail level. Where no road crosses the area, paths and trails stand in. Route
Railways Heavy rail, light rail, metros, trams, narrow gauge, funiculars, monorails, and miniature and preserved lines. Steel blue-grey
Aerial lifts Cable cars, gondolas, mixed lifts, chair lifts, drag lifts, T-bars, platters, rope tows, and magic carpets. Signal violet
Ferries Every crossing OpenStreetMap tags route=ferry, raised across the water like a road. Deep teal
Airport surfaces Runways, airstrips, stopways, taxiways, taxilanes, aprons, and helipads. Off to start. Slate grey
Trails Your own GPX and KML routes, one line per track. High-vis magenta
Water Rivers, streams, canals, and mapped water areas, flush with the terrain. Water
Buildings OpenStreetMap footprints raised above the ground, with straight mapped edges. Building

Line width follows the kind of line: a mainline railway gets a full-width formation, a rope tow gets a cable. Ferries carry none of that machinery — a crossing has no gauge — so they draw at one width.

Nothing is reserved. A layer only asks for a filament when the mapped area really contains that feature. A city with no cable cars is never asked for a cable-car spool; an inland map never spends one on ferries. The same goes for the base colors — a wilderness map with no water, roads, or buildings asks for none of the three.

Airport surfaces

Airports are the one layer that starts switched off. An airport is something you go looking for, and a map that happens to clip the edge of one should not sprout a runway.

Four groups switch on and off on their own — runways and airstrips, taxiways and taxilanes, aprons, helipads — and all four share one color and one filament slot. They are one printed surface to the eye and one filament in the slicer, so splitting them would spend spools on a distinction nobody asked for.

Pavement is graded, not draped. A real runway is built to a steady gradient and is level across its width. Following the elevation data per point gives neither — the strip corrugates along its length and tilts side to side wherever two coarse samples disagree. So the ground is read once along the centre line, smoothed enough to lose the noise while keeping the real slope, and the whole width of the strip sits at its own station's height.

OpenStreetMap often carries the same pavement twice: an outline around it and a centre line down it. Drawing both would lay the surface down twice, once at its true shape and once as a ribbon of guessed width, so where an outline covers a line the line is dropped. Outlines keep their holes, so an apron drawn around a terminal stays apron everywhere except where the terminal stands — and the terminal itself still prints in the building color.

Two settings are worth knowing:

The airport boundary itself is never drawn. aeroway=aerodrome covers the grass, the car parks, and the fields, so painting it would put pavement over most of a map that merely contains an airport.

Folding two layers into one color

When your printer has fewer spools than the map has features, a layer can borrow another layer's color instead of switching off. Each toggle carries its own style picker.

The 3D legend names whatever the model actually shows. A layer drawn in its own color gets its own entry; a layer that borrowed one is named by the entry it borrowed — so lifts following separately colored railways appear under Rail, and anything drawn with roads appears under Route.

Sharing a color is not the same as sharing a slot. Folding a layer in is a Surface-tab decision about what the model draws. Two separate layers set to the same hex value in the Colors tab also share one filament — see the color printing guide. Either route saves a spool.

Bridges, tunnels, and lines out of use

Roads and railways tagged as bridges get a deck interpolated between their end heights, so a viaduct spans the ravine instead of dropping into it. Tunnels vanish, as they should — which takes most metros with them. Untagged roads follow the terrain, and OpenStreetMap's layer=* is not read as a height. Ferries have neither: a crossing is on the water for its whole length.

Roads, railways, lifts, ferries, and trails all rise above the terrain by one print layer — 0.2 mm by default, settable from 0.08 to 0.4 mm. Set it to whatever layer height you slice at, so the line stays exactly one clean layer; the layer height section of the color guide covers why.

One Railway and lift history picker governs both of those layers, and shows whenever either is on.

SettingWhat it adds
Operational
the default
Running lines only.
DisusedTrack and lift lines still in place but out of use — rails, ties, ballast, cable, and pylons all still there.
AbandonedThose, plus lines whose rails have been lifted but whose formation still reads in the landscape: embankments, cuttings, a dead-straight trackbed, the cleared swath of an old lift line.

Out-of-service lines print thinner than running ones, and lifted formations thinner again — a scar, not a track. Lines tagged razed, dismantled, demolished, removed, or historic are never drawn at any setting, because nothing is left on the ground to print; neither are proposed or under-construction lines, because nothing is there yet.

Ferries have no history setting, because OpenStreetMap has no convention of disused ferry routes.

How much water to keep

A map of a river delta can hold more mapped stream than terrain. The waterway coverage cutoff sets how much of it prints: rivers and canals are always kept, then the longest streams are kept until their estimated printed area reaches the share you chose.

OpenStreetMap water can be switched off on its own without hiding the satellite-derived WorldCover water underneath it.

Buildings

Building mode raises OpenStreetMap footprints above the terrain, using each one's tagged height first, then its floor count, then an 8 m default. In color output, roofs and walls print in their own editable building material rather than inheriting the land-cover color under the footprint.

Its Z scale exaggerates that height against the map's plan scale, and the exaggeration eases back to true height as the ground span narrows. That is deliberate: the plan scale itself grows as you close in, so a multiplier that makes a 100 m tower a readable 5 mm across 18 km would make a 200 m tower 72 mm across 2.5 km — taller than the whole terrain relief. Close in, buildings are tall enough to read without help.

Trails you bring yourself

The Surface tab imports GPX and KML files. Each track, route, LineString, or gx:Track becomes one trail, named from the file and drawn as a raised line like a road.

Markers

Markers are placed by latitude and longitude rather than drawn from map data, so they mark the things a map does not know about — where you camped, where the route crosses, whose house that is.

🏠

Building highlights

Pick out one footprint in a color of its own, so a single building reads against the block around it.

🔴

Dots and blank flags

A color dot on the surface, or a raised blank flag you can see from across the room.

🚩

Named flags

Embossed text in a bundled font, with the banner width, height, and text size under your control.

🔤

Surface labels and plaques

A label can follow the terrain, or sit on a raised plaque that gives the text a flat backing. Each has its own print size and map rotation.

Next

Once the model draws what you want: the color printing guide covers turning those layers into filament slots your printer can load, and saving setups and files covers keeping the setup you arrived at.

More projects from theatr.us