The world around us can be one of the best sources of inspiration for prints. There are good methods for getting printable models of buildings and landscapes from available repositories and geographic databases, two of which we'll look at in this article. This will give you a good alternative to relying on what happens to be in some of the better known model repositories to recreate specific locations with only a small amount of extra work before printing.
For printing buildings, we'll be using the model repository Google has created to support 3D view in Google Maps and Google Earth. To do this, you'll need SketchUp. You can download and install the free version if you do not have it already.
For the topographic models, we'll be searching in EarthExplorer, an online service offered by the United States Geological Survey. It will give us the maps we need to generate models from the elevations. If you want to limit the geographic area to a very specific feature, you should also install QGIS to work with the elevation data in a more detailed way.
Finally, we'll be using Blender as our primary 3D modeling program. Although it's only strictly necessary for the topographic maps, it can also be used to clean up any of the models produced through SketchUp before printing if you do not already have software for modeling that you prefer to use.
Download and install SketchUp.
After it's installed, open it. First we need to setup the STL file export. A "Welcome to SketchUp" window will open. Click the "Start Using Sketchup" button at the bottom. It should open up to the main modeling window.
Click at the top menu Window --> Extension Warehouse. A window showing the Extension Warehouse should open.
Click on the left hand side under Top Extensions on "SketchUp STL". It should show the page for The STL extension.
Click the download button. At this point it may ask you to setup an account or log in. After that is setup, click the install button.
After it is installed, we should be ready to export a usable STL file from our SketchUp models. Now we need a model to work with. Go to File --> 3D Warehouse --> Get Models... You should now be able to search the model repository. There will be a search box at the top of the window that appears. You can search the building that you want to print by name or address.
When you've decided on a model, you can click the download button. A window will popup ask if you want to load the model directly into SketchUp. Click Yes. A progress bar should appear for a short moment to show the model being downloaded. When it's done, the model should be visible in the main window, although you may need to zoom out.
Once it's loaded into SketchUp, go to File --> Export To STL. Window should pop up.
Click Export, and save the new STL file. You now have a usable model! You may want to clean it up or add additional detail in Blender. Many of these models are generated as part of a tool in Google Maps for it's 3D view, which means they sometimes not have as much detail as you may want. The number of models available is pretty substantial, however, so this ends up being a real asset.
EarthExplorer is a great resource for geographic data. It provides access to a variety of databases, but the one we're interested in is the one containing height maps.
First, you will need to go to the USGS EarthExplorer website. In the upper right hand corner there's a link to register...you'll need an account to download the height map images, so do this now. When your account is setup, return to the front page and log in.
Next, we want to search for the Grand Teton National Park. Click Show to get results.
Next, click the "Data Sets" at the top. Select Digital Elevation --> GMTED2010.
Click the Results tab at the top. You should see the height map in the Data Set pane on the left. Click the Download Options button (it looks like a hard drive with a green arrow pointing at it).
Select 30 arc seconds in the window that pops up. Your download should start now. When it's finished, extract the zipped file and make a note of where you extracted it to.
If you want to focus on a specific geographic features (or find that the elevations aren't quite right when you finally print the landscape), then you should open one of the elevation maps you just downloaded in QGIS and modify it for use in Blender later on. To do this, first open QGIS. Click on the checkerboard icon on the left hand side to add a raster layer. Select the elevation map that we want to edit.
Next, select in the menu Raster -> Extraction -> Clipper.
Select an output file, and move the crosshairs across the image. The red box will highlight where your new cropped map will be taken from. The latitude and longitude of the mouse position eare displayed on the bottom of the window.
Now remove the our current raster layer by right clicking it in the left hand layers pane, and selecting remove. Add our new layer we just created by importing a raster layer as before. Now go to Project -> Save As Image. Remember to select "png" as the extension when you go to save the file.
Now, open Blender. If you've never used Blender before, then you may want to consider looking at an introductory tutorial either in one of our other articles or from the Blender website. We're going to be focusing on a specific set of features for the sake of this tutorial, but there are many more available.
Click outside the splash window that opens to remove it. Go to the menu at the top and select File -> User Preferences.
A window should open. Click on the Addons button at the top, and search for "import". Enable Import-Export: Import Images as Planes. Repeat, this time with the "3D Print Toolbox". Click "Save User Settings". Close the User Preferences window.
Now, you should be at the main window again. Right-click on the cube at the center. We aren't going to want this in our print, so let's delete it. Press the delete key. When a new window pops up, click "Delete" to confirm.
Now we need to bring in our elevation maps. First, check the image's thumbnail, and confirm that QGIS did not add any white borders if you used it for editing. If it did, open it in any image editor and crop out the white margins. Now go to File -> Import -> Images as Planes.
Go to the directory where we extracted the USGS file with the height map earlier, and open our elevtion map (either the original from EarthExplorer or our edited file you created in QGIS) by clicking on it, then the button Import Images as Planes.
Right now our plane doesn't have enough vertices to represent the elevations. We need to subdivide it so it has more vertices. Select Edit mode from the menu at the bottom.On the left-hand side, make sure the Tools tab is selected, then click the Subdivide button. options at the bottom of the pane should appear. Enter "300" into the Number of Cuts box and press enter.
Now the plane should light up orange. These are all the new vertices.
With the plane we just imported still selected, click on the icon that looks like a wrench in the right hand pane. This will allow us to add a modifier to the plane, in this case the displace modifier we need to apply the height map. Click on the word "New" in the texture portion of the pane. This should give you a drop down, select the name of our height map image.
For Texture Coordinates, select Object. Now may be a good time to center the plane. It will displace as we increase the strength of the mapping. After it's centered, slowly increase the strength, re-centering as the model moves.
Make sure you are in Object Mode, and Click Apply for the Displacement modifier. Switch back to Edit Mode, then press "e" to extrude the mesh downward.
Now press "s", then "z". This will tell it to scale along the z-axis only. Press "0". Your model should now have a flat base to print from. If you see any overhang (as in the image below, then simply hit ctrl/cmd "z" to undo back to the extrusion step, and extrude further.
Run the checks for the 3D printing tools, and finally click the export button next to STL in the 3D printing pane. Now you should have your landscape on a rectangular base! It's worth noting you may want to do some additional clean up to the STL file you export. This can be done in Blender or the tools you use to slice your prints. For example, I found myself having to scale it up in RepetierHost 50 times. I suggest working with the STL file itself for any changes that need to be made at this point, however, as blender should treat it as a single object, and it's what you will ultimately be printing.
Blender and SketchUp are both great tools for working with models, and EarthExplorer and the Model Warehouse are extensive databases. In combination, having good data about the world around you and being able to work with that data, it allows us to make the world outside in miniature. This big picture makes a great little project.