Guide
Three things decide what the terrain looks like: where the elevation comes from, how tall it prints, and how finely the mesh samples it. Turning the last one up is not always better — past the point where the source data runs out, you are only adding triangles.
| Source | What it gives |
|---|---|
| Mapzen the default |
Terrarium tiles, worldwide. Works anywhere on Earth. |
| Mapterhorn | 512 px WebP Terrarium tiles with regional data as fine as zoom 17. Outside that coverage it falls back to lower-zoom Mapterhorn tiles rather than failing. |
For an area up to 2 km wide there is a third choice: finest detail. It probes what Mapterhorn actually holds for that spot and targets 0.25 m samples. It stays under 2,048 samples across the model, and — the part that matters — it does not invent mesh points beyond the detail it found. Where the data is coarse, asking for finest detail changes nothing.
Detail you ask for is not detail you get. Elevation data has a real resolution, and no setting adds information that is not in it. The settings decide how much of what exists reaches the print.
Close views ask for more samples than the source holds. What happens between two real readings is therefore a choice, and it shows.
TopoSaic runs a Catmull-Rom curve across the lattice of tiles that answered, clamped to the readings around it so the surface never overshoots into terrain that is not there. The straight-line alternative prints those readings as flat, pixel-sized facets all hinged along the tile grid — a hillside that looks quilted rather than smooth.
Terrain is nearly always printed taller than life. Eighteen kilometres of ground across a 180 mm model is a plan scale of 1:100,000, and at that scale Mount Rainier's real 3.5 km of relief stands 35 mm tall — close enough to a printable height that the vertical scale becomes a decision of its own rather than a consequence. The Model tab offers two ways to make it.
| Setting | What it holds fixed |
|---|---|
| Overall height the default |
The finished height. Whatever the ground does, the relief is fitted into the millimetres you asked for — a prairie and an alp both print 28 mm tall. |
| Multiplier | The exaggeration. The height then follows the terrain: a flat delta prints low, a mountain prints tall, and two models made at the same multiplier are directly comparable. |
Which one you want depends on whether the model is a single object or one of a set. For a puzzle on its own, overall height is the setting that keeps it inside a printer. For a shelf of places meant to be read against each other, a fixed multiplier is the only thing that makes them honest — under overall height a hill and a mountain arrive the same size.
Switching between the two translates the value, so the model does not move: the multiplier you land on is the one the fitted height was already using. Each mode shows what the other would give — a height in millimetres, or an exaggeration.
Exaggeration under 1× is normal, not a mistake. A large mountain across a wide span is usually compressed: Mount Rainier over 18 km, fitted into 28 mm of relief, is about 0.8×. Vertical exaggeration is only large on gentle ground — a river valley or a coastal city can want 20× before its relief reads at all.
The other half of the vertical scale is what the height is measured from.
No datum ever cuts terrain off. Choose one above the ground and it drops to the real minimum rather than shearing off everything underneath.
Mesh detail is one budget spread across the whole assembled model, not per piece. Adding puzzle pieces does not multiply the density, and solid terrain matches puzzle output at the same setting.
| Setting | Samples across the model | Use it for |
|---|---|---|
| Draft | 384 | Trying a place out. Also what generated browser previews use. |
| Standard | 640 | Most prints. |
| High | 1,024 | Relief worth looking at closely. |
| Ultra | 2,048 | 0.2 mm nozzles, resin, or a small high-detail area. |
Ultra makes roughly four times the surface triangles of High. On a large grid that is a long slice and a large file, so it earns its place on small areas and fine nozzles rather than by default.
Roads, waterways, and building edges are vectors, not samples: they add points exactly where they need them, at any detail level. A Draft model still has clean road edges.
Once the place or the ground span has been still for about half a second, the preview asks for a 64×64 elevation sample — enough to show real relief in the pane long before a full job runs. It reads the same tile cache generation does, so nothing is downloaded twice, and a finished job replaces it with the detailed generated preview.
Drag or use the arrow keys to orbit; scroll, pinch, or use the plus and minus keys to zoom.
Elevation tiles, land cover, satellite imagery, OpenStreetMap responses, tide-station datums, and place searches are each cached under your machine's user cache directory, listed separately in the settings pane. Nothing expires on its own — clearing is a deliberate act, by age or all at once.
OpenStreetMap entries keep the raw response rather than a processed one. That is why changing road width, density, color, or which layers are visible re-renders from what you already have instead of asking the network again.
For a request that is not cached, the service tries a second public Overpass instance when the first refuses or cannot answer, then remembers which one worked for next time. If both fail, generation carries on without that layer — you still get terrain and land-cover water rather than an error. A response that arrives with a timeout remark buried in it is rejected rather than cached, so a partial building set never becomes the version you keep.
Detail settled: choosing what the map draws covers the features laid over the terrain, and printing bigger than your build plate covers spreading one landscape across several passes.
More projects from theatr.us