I have always been fascinated by 3D topography. Whether it be touching the scale topographic models of mountains at national parks or my first digital fly though of a mountain range on Google Earth, being able to interact with the stunning features of this Earth on both a large and small scale is exciting. As soon as I began toying with the idea of procuring a 3D printer, I knew one of my first projects would be figuring out how to print out a mountain. Having finally figured out how to do so (and finding a serious lack of concise information out there on how to do so) I decided to make a quick how to video and blog post for anyone wishing to do the same. As a bonus, I’ll include the STL files I’ve printed off so far at the bottom of the post, if you’d like to simply replicate the models I’ve already printed.
Watch this video. Yeah, I’ll do a quick write up after the video for the text based learners out there, but the meat of this post and the true instruction can be found in the video.
Get the necessary software. Bonus: It’s all free and multi-platform!
- Blender 3D Sculpting Software: https://www.blender.org
- Fusion 360 CAD Based 3D Design: http://autode.sk/2uO6N3E
- Slic3r (Any slicing program will do, this is what I use): http://slic3r.org
Get the 3D DEM data (in heightmap image form) for the location you wish to model. There are many places to obtain 3D DEM Data, but I’ll recommend two that I’ve found useful. Watch the video if you need a detailed walkthrough of how to actually download the data, it’s pretty simple.
- Terrain.party – https://terrain.party – This is by far the simplest place (that I’ve used) to find and download the data you are looking for. Simply search for the location, adjust the size of the grid to fit the size of the terrain you’d like to print, and click the download button to receive a folder full of heightmap images of your location. I’d recommend using this over the next option.
- USGS National Map Viewer – https://viewer.nationalmap.gov/basic/ – You can find all sorts of data on the USGS national map viewer, 3D DEM being one of wide variety of options. Obviously, this data is more US centric, but it is a great resource nonetheless. A few more steps are involved in collecting data here, check out the video for a quick rundown.
Use Blender to turn the heightmap image into an actual 3D representation of terrain. Blender can be a very hard program to use, so I’d recommend following along on the video here. Here is a quick summary of what to do:
- Create a plane.
- Using the modifiers menu (wrench icon), create a subdivided surface on the plane. Crank both the view & render counts up to 8. You can go higher than 8 for a more high-resolution rendering of topography, but you’ll begin to see a huge increase in load and render times on most computers. 8 subdivisions seems to be the sweet spot for creating a detailed terrain render, without breaking the bank (and your modeling program) on polygon counts.
- Under the modifier menu, add a displace function to the plane. This will allow you to place the heightmap image on the plane and use it to modify the plane to create terrain.
- Load your heightmap image into the displace function. When using data downloaded from Terrain.party you’ll want to use the heightmap image with “merged” in the title.
- Change the color scale for the image from “sRGB” to the more appropriate “Linear” scale.
- Now you simply have to adjust the strength of the displace to accurately represent the terrain you are modeling. It’s default setting is 1, but I’ve found that to be far too high. In my experience, it seems that 0.3 or 0.35 strength renders the most true-to-life terrain scales, but experiment a bit with the number to find what looks best to you. Sometimes, I’ll increase the strength just a bit to make for a more dramatic landscape and print.
- Once you have your landscape to scale, export the file as a .OBJ (not .STL this time) so that it can be imported as a mesh into your modeling program (Fusion 360 in this case.)
Import your .OBJ file into Fusion 360 (or whatever modeling program you use) and create a base for it. Though you ended up with a 3D surface (Mesh) at the end of your Blender work, you now need to make it into a 3D object with a base to display the beautiful terrain you selected. Here’s how:
- Go to Insert>Insert Mesh and load the .OBJ you exported from Blender into Fusion 360.
- Under the “Create” menu, choose “Create Mesh”. Then click the “Utilities” menu and choose “Convert” to turn this mesh into a modifiable object. This may take some time for your computer to process. When it’s done, click “Finish Form”.
- You may have to adjust the height of your model to bring it completely above the plane you are working on. If so, right click the model and select move. Choose a “Component XYZ” move type and move the model along the vertical (Z) axis to bring it above the working plane. The height from the plane to the model is how tall your base is going to be on your model so plan accordingly.
- Now you simply need to outline/sketch the shape and location of the base of your model. You could print it as an entire square as you see now, or you can do circles, ovals, or really any shape imaginable. Using a top-down view, draw your desired shape onto the bottom plane, making sure to keep the terrain centered in a presentable way.
- From a bottom viewpoint, select the shape you just drew and under the “Create” menu select “Extrude”. You can also just hit “E” on the keyboard. Under the “Extent” option, select “To Object”. Select your terrain as the object to extrude to. Click “OK” and you should now have a base extending up to the terrain you’re printing. All that’s left to do is remove the surrounding terrain that is outside of that base.
- Repeat the step above, clicking the bottom shape of your base and extruding it. This time, under the “Operation” menu, select “Intersect”. Extrude the selection above your model and select “OK” to trim off the extra terrain.
- The model you’ve been working on is very likely using a very small scale (I think the import from Blender creates a 1mm x 1mm scale model, so you’ll need to increase the scale of the model to whatever you’d like to print. Because the scale is currently around 1mm, you can upscale it by a factor of x100 to create a 100mm wide model. Use the “Modify” menu and select “Scale” to select how large you’d like to make the model. (This can always be further adjusted in your slicing program.)
- Under the “Make Menu” select “3D Print”. Uncheck the “Send to 3D print utility” box and export your model, you’re done with Fusion 360!
Slice your newly minted model. Open Slic3r (or your slicing program of choice) and choose the appropriate settings with which you’d like to print. Since every printer and slicing program is different, I’ll refrain from adding too much input here, save for these few tips:
- Printing at a thin layer height (0.15mm and below) will create a smoother, natural looking mountain. Printing at thicker layer heights will give the models a topo-line effect, making it look as if there are topo lines on the model. Both of these effects look great.
- You’ll want to reduce infill as much as possible as there is a lot of volume under that terrain. I’ve successfully used 10% infill.
- Reducing vertical layer counts at the base of the model will decrease print times, these bases take a lot of time to print.
Print it and you’re done!
I hope you enjoyed this brief guide and video! If you have any questions, leave them in the comments and I’ll do my best to answer them. If you enjoyed this content or found it useful, I could really use your support! Check out my Patreon page here and help to keep content like this coming.