Printing Mountains

3D printing from elevation data

Irene Alvarado
Energeia

--

Over the weekend, as a way to take a break from writing, I decided to finally follow Mapzen’s fantastic Heightmapper as well as Peter Richardson’s super helpful tutorial to create a 3D print of my favorite mountain range: the Avila in Caracas, Venezuela. More precisely, the Avila is a national park near and dear to the heart of most Caraqueños. The park’s mountains dominate the cityscape and are visible from most places around the city. And what’s truly special, the Caribbean Sea lies right behind them.

Caracas, Venezuela. Image from: http://www.panoramio.com/photo/63045533

The heightmapper is a web application that uses Mapzen’s global elevation service to generate grayscale heightmaps. What does this mean? In simple terms, it means that elevation is being represented in grayscale values on a map. For this particular implementation that Mapzen is serving, white areas represent higher elevations and black areas lower elevations. In theory you could map the elevation data to any color gradient — not just grayscale. If you want to read about the technical details, check out this great post: https://mapzen.com/blog/mapping-mountains/.

My Avila heightmap looked like this:

Grayscale heightmap of el Avila National Park. Top side is the ocean. Bottom side is Caracas.

I imported the heightmap image into Blender, followed Peter’s tutorial steps, then exported into Rhino to do some mesh cleanup. It was a pretty simple process, though in retrospect I should have dealt with the ‘ocean’ portion of the mesh a little differently. When I closed all the holes in my mesh, the ‘ocean’ became a flat plane and the 3D printing software I was using to prepare my file completely removed it from the final print. Just something to keep in mind for the next time.

Left: 3D print. Right: Dimension SST printer.

Tech Tips

A few tech tips to add to Peter’s tutorial if you want to try this yourself:

  • My workflow was:
    1. Screenshot from the Heighmapper.
    2. Go into Photoshop and use the gradient tool to make photo edges fade to black.
    3. Go into blender, create a grid and displace it based on using the screenshot as a texture.
    4. Export from blender as .stl.
    5. Import into Rhino and reduce the mesh and/or close naked edges.
    6. Export for 3D printing as an .stl.
  • Within Blender, order matters! Once you create a Grid you need to set the X and Y subdivisions. Later on, you can’t edit those subdivisions, so enter the numbers carefully.
  • In my case, I wanted to exaggerate the Z scale of the mountain range just slightly. So I deviated from Peter’s suggested “Strength” value within the mesh’s Scale Displacement options and set my own value.
  • In some cases, you might end up exporting a huge mesh from Blender. So large in fact that your 3D printing software might have trouble processing it. In that case, Rhino might come in handy. I find Rhino more intuitive than Blender for some functionality. I used the “ReduceMesh” option within Rhino to reduce the number of polygons in my mesh.
Reduce mesh tool in Rhino
  • Again in some cases, you might find that your mesh has open edges that make it impossible to print in 3D. You can check your mesh in Rhino by using “ShowEdges” and then selecting “Naked Edges”. If you happen to find any naked edges (they show up in purple), you can try using the
Edge analysis tool in Rhino
  • If your terrain touches the water/ocean, consider whether you want that part of the 3D print to just be a flat plane or disappear entirely.

--

--

Irene Alvarado
Energeia

CEO at Berry Fertility, Co-Founder at Early Works