How to Export 3D Buildings from OpenStreetMap to STL for 3D Printing
3D building models from OpenStreetMap are in demand across many fields: architects build neighborhood mockups, modelers print souvenir city miniatures, and game developers use real buildings as a base for levels. This article provides detailed instructions on how to get 3D buildings through osm2cdr.ru.
Where Building Heights Come From
OpenStreetMap stores building height information in several tags:
- height — exact height in meters (e.g.,
height=45). - building:levels — number of floors. The exporter multiplies by 3 meters (average floor height).
- building:height — alternative height tag.
- If no data — the exporter assigns a default height (9 m for residential, 4 m for garages).
Large cities have the best coverage: Moscow, Saint Petersburg, New York, Berlin, London. In smaller cities, heights are often missing, but the exporter still creates a 3D model based on building type.
Step-by-Step Guide
Step 1. Select an Area
Open osm2cdr.ru and select your area of interest. For 3D printing, the optimal area is 0.5-3 km². Too large an area will create a model with millions of polygons that's difficult to print.
Step 2. Choose a Format
In the export form, select the desired 3D format:
- STL — the standard for 3D printing. Supported by all slicers.
- glTF / GLB — for web visualization and rendering. Supports textures and materials.
- OBJ — universal format, opens in Blender, 3ds Max, Maya.
- 3MF — modern STL replacement with color and material support.
- FBX — for game engines (Unity, Unreal Engine).
Step 3. Set Detail Level
"Maximum" detail level for 3D printing small areas. "High" for 3-10 km² areas. Detail level affects polygon count and consequently file size and print time.
Step 4. Export and Download
Click "Export". Processing takes 10-60 seconds depending on area size. Download the finished file when ready.
Which Format for What
| Task | Recommended Format | Why |
|---|---|---|
| FDM/SLA printing | STL | Universal slicer support |
| Color printing | 3MF | Color support by layers |
| Blender rendering | OBJ or glTF | Textures and UV mapping |
| Web visualization | glTF / GLB | Compact, fast loading in Three.js |
| Game engines | FBX | Native Unity/Unreal support |
| Architectural mockup | STL + OBJ | STL for printing, OBJ for preview |
Preparing for 3D Printing
After downloading the STL file:
- Open the model in a slicer (Cura, PrusaSlicer, OrcaSlicer).
- No scaling needed: the model already arrives fitted to the bed — 200 mm on the longest side.
- Layer height of 0.15 mm provides detailed building definition.
- Supports are usually not needed — the model base is flat.
- For a striking result, use dual-color printing: base in one color, buildings in another.
Technical Details
The osm2cdr.ru exporter performs extrusion of each building to its real height. Roads and water bodies become depressions on the base plane. This creates a realistic urban terrain relief.
For large models (over 5 km²), we recommend splitting the area into parts and printing in sections for better quality results.