top of page

3D TERRAIN PRINTING

In mid-2025 realized I had developed all the Python and 'additive' skills I needed to be able to print a 3D plastic model of any area of physical terrain worldwide. Wouldn't that be great? It'd be the end of ever having to wonder what to get someone again. Brilliant.

I set to work, and in the end, the project worked too! The code and the mapping section is available below. The multiple baseline layers do a great job of allowing you to explore the entire world from multiple perspectives (amenities, regions, topography, nightlight footprint).

I later realised others had done this pipeline before, using similar tools. Oh well. I loved that I made it anyway, and I love that my instinct was to try to make it first myself, so as to retain my independence and put my skills to work on something truly personal to me.

Enjoy!

Part 1: Create and use an interactive web map to select area

The Python script below:

1. Creates a folium map object (saveable as an HTML file) and adds multiple open data basemap layers (including USGS Satellite and NASA Nightlight), which can be toggled on or off.

2. Facilitates the custom drawing of an area for export to a rectangular lat/lng area catchment vertex file (a 'bbox geojson'), once the user has selected an area and pressed 'export' to download the file.

Note: Draw by pressing the 'draw' button. If wishing to draw again, eradicate all first using the trash icon and 'clear all'. Then press the 'stop' button to be able to start drawing again, if the 'draw' button does not work.

This map is interactive! Have a go!

Part 2: Retrieve DEM, convert to mesh, export to .obj

The Python script below:

1. Reads in the .geojson boundary box

2. Requests the ALOS 30m elevation data (JAXA) from the Microsoft Planetary Computer API

3. Compiles multiple 'tile' responses if custom-defined area crossed request tiles

4. Generates a mesh surface out of the compiled 30m DEM grid

5. Converts the mesh surface to a 3D-printable object file type

6. Saves the .obj file type, reading for use in proprietary 3D printing software

Part 3: Additive manufacturing

Enter your relevant proprietary 3D printing software with the obj file, and convert to a gcode file to 3D print!

Images of using Bambu Studio to print out the terrain of Table Mountain in Cape Town, South Africa, below...

Screenshot 2025-12-13 055006.png

The final product for terrain landscapes in Rio de Janeiro, Brazil, and Cape Town, South Africa...

3d_terrain_printed_photo.jpg

It is my belief that there are interesting avenues for research to explore the use of material encounters (such as these 3D-printed landscapes) to explore how people connected to a landscape feel about environmental change - past, present, anticipated.

bottom of page