Roy Smith - Guest Contributor
Sept. 10, 2013
A few months ago my friend Barney said, “Can you 3D print Thousand Palms Canyon?”
I knew what he meant: all the hills and gulleys and landscape features we’re familiar with. “No,” I said. “That’s impossible.” But the idea kept bugging me. Why not? So I did what any of you would do in the middle of a sleepless night: I went online. Huh! Not impossible, but maybe a little bit tricky. Below are the step-by-step instructions to create a 3D topographic map.
Author's Note: I’m using Photoshop and 3DS Max on a PC to edit files and export them to my MakerBot Replicator 2, so this procedure might be different for you if you’re using other software. I bet it will be similar enough for this info to be useful, though.
Update (May 2016): There has been a piece of software developed to assist in the STL map generating tool. The link for the free STL creator is here: http://jthatch.com/Terrain2STL/. The original article is below and produces a higher resolution STL, if that is needed.
1. Download and install Google Earth.
2. Download and install MicroDEM - a free application available through the U.S. Naval Academy website. Install involves two steps - download and run the installer first, then replace the executable with the latest version (available as a separate download).
3. Download and install the srtm4.1 plugin for Google Earth (Note: clicking on this link may automatically download the srtm4.1 plugin, depending on your browser).
4. In Google Earth, the SRTM4.1 will appear under “My Places” in the navigation on the left. Click on the small “Elevation” square, and a grid of boxes should appear on the globe image (Image “A”);
5. Click on one of the boxes that includes topography you want to print;
6. A window will appear (You might need to scroll down). Click on the link as in Image “B”;
7. The auto-download probably won’t work, so copy the url as suggested, and paste it into your browser, as shown in Image “C.” This download may take a few minutes;
8. Unzip the downloaded archive. The only file you need is the .asc file. Put it somewhere you can find it easily. Toss the rest;
9. You need to use MicroDEM to interpret the altitude data. (Don’t try using any of the other “helpful” tools on the Internet to open this kind of file – some of them are nasty viruses!);
10. In MicroDEM, go to File>Open>Open DEM and locate your file;
11. Here’s the tricky part: You probably have no idea what you’re looking at. No highways, no names of cities, no identifiers of any kind! So you’ll need to reference back-and-forth with some other map to narrow down the area you want to print. When you figure out which part of the map you want to zoom in on, use the “Subset & zoom” tool (dotted border) from upper left to lower right to zoom in (Image “D”);
12. Right-click on the map and choose “Legends/marginalia,” and make sure none of the boxes is selected (don't forget to remove the gridlines);
13. Right-click again, select Display parameter>Elevation>Gray scale. This is the image you will use in your 3D program to create a displacement map in order to print your topographical 3D model (Image “E”);
14. Select File>Save image, and choose whatever image format works best in your 3D program (I use jpeg);
15. Quit out of MicroDEM and open Photoshop or whatever image-editing program you use. Open the file you just saved. Check to determine image size, and jot it down. Mine happened to be 860x650 pixels. That means, when I create a plane object in 3DS Max it will be, like, 8.6in x 6.5in or 860mm x 650mm or whatever units you prefer (Image “F”). Close the file;
Editor's Note: If you don't have Photoshop there are plenty of other options for checking the dimensions of an image. In Windows Explorer single-clicking a picture file will display the dimensions in the info panel at the bottom of the window.
16. Open your 3D program, create a plane with similar dimensions (You might need to switch width for length), and give that plane LOTS of segments, like, 430x325. I divided dimensions in half (Image “G”);
17. In 3DS Max (or whatever you’re using), select the plane, go to the Modifier List, scroll down to “Displace,” and add your grayscale map to create the terrain you want. Adjust “strength” to exaggerate the height of the mountains however you prefer. Problem is, a plane has only two dimensions, so you can’t print it with a 3D printer no matter how many mountains it has (Image "H");
Editor's Note: If you don't have access to 3D Studio Max, fear not! Using Roy's instructions as a general guideline we completed these steps with Blender (a free 3D editing tool).
18. Convert the plane to an Editable Poly, select only the outermost vertices (“select border” in 3DS Max), and drag them all down pretty far on the Z axis till they’re clear of everything else. Then “Make Planar” on “Z,” which should line up all the vertices you selected to have equal “Z” values. With that border still selected, click on “Cap.” That completes a 3D printable object (Image “J”);
19. Move the bottom “cap” up near to the lowest point of your topography, but not too close, or you risk breaking your printed map when you pry it off your build surface at the end of this process;
20. Select your topo map object and export it as a StereoLitho (STL) file;
21. Open MakerWare, MatterControl, or whatever you’re using to drive your printer, and add your STL object, scaling it to fit your print bed comfortably (Image “K”);
22. Print it! This will take a long time to print. My map took almost four hours, but the detail is amazing. This printed object is only about 4.75in x 3.5in (Image “L”).
This may look like a long, difficult process, but it’s actually pretty straightforward if you follow every step to the letter. Believe me: It will be a lot easier for you to go through these steps than it was for me to figure them out.
If you find any mistakes in this article, please point them out, and I’ll do my best to fix them.
At MatterHackers, we’re always looking for fun and interesting new projects that we can incorporate 3D printing and digital fabrication into. I had remembered seeing this older MatterHackers article by Roy Smith, but it was made clear that this methodology would not allow for the features that make regions recognizable: buildings! With that, I set out to devise and document a process.
I was able to find a couple different methods, both free and paid for that worked okay, but the best I could find for my purposes was using a series of different programs to convert data from Google Maps. I wanted to start off with something that was a recognizable landscape or held some significance for MatterHackers, so I’ll use New York City, specifically the area around the Empire State Building and some portion of Downtown Los Angeles.
That covers Method 1. There’s a lot that goes into it, but in the end you will have a fairly detailed and really fun model that you can print and modify as you desire.
The data that is gathered by Google Maps does not include any sort of topographical data. It knows that there are buildings, where they are, where the roads are, how many lanes, but San Francisco’s landscape (a notoriously hilly city) would look exactly the same as Houston (one of the flattest cities in the US). Conveniently, there’s a website that can convert the data from Google Maps, NASA, and the US Geological Survey to create a much more accurate cityscape with included topography.
Method 2 is pretty straightforward and can give some interesting depths to your topographical maps and makes for great HexTiles of some of our favorite locations!
Get The Latest From MatterHackers
Please enter a valid email.