Introduction: 3d Terrain Model of Edgewood Park, California

About: A guy who likes to learn things. A lot of things. As fast as possible. In a jumble of activity if need be.

My followers will know that I have an obsession with Edgewood Park and with TechShop. In this Instructable I mix both by making a smooth surface model of the park.

I've always wanted to have a true scale model of this fantastic local park. Home to several endangered plant species and the nearly extinct bay checker spot butterfly, it is also a daily ritual for trail hikers and runners. In another Instructable I made a pocket scale model of the park using the TechShop Epilog laser cutter. This project extends that to a true 3d model cut on the ShopBot.

The steps we will follow:

1. Make a small model on the Epilog laser cutter (or any other way)
2. Scan the small model with the Next Engine to create a mesh model
3. Use V-Carve 3d to create tool paths
4. Cut the model on the ShopBot

Oh, perhaps I should mention that step 0 is to join TechShop so that you have access to all this software and hardware!


Step 1: Make the Base Model

We start with some model of the terrain. I started with the scale model output of my previous Instructable.

Step 2: Make a 3d Mesh

I used the Next Engine 3d scanner at TechShop to get the model into a computer usable format.

I used the NE turntable on Wide mode and a low resolution setting of 80 points per square inch. I tried the higher resolution settings but they took longer and got too much of the model layering. I hoped to blur out the steps of my model to make the new terrain smooth.

I scanned two runs with the model rotated 90 degrees so I could get all four edges. This had the unexpected bonus of capturing the terrain in better detail. The NE software automatically stitched the scans together. I then used the alignment tool to get the two scan runs aligned. I placed the alignment points carefully, but NE software was able to make the alignment perfect.

I used NE Trim to remove little artifacts that showed up along the edges. And, importantly, I trimmed off little bits of the mesh that stuck up out of the bottom of the model. I know the bottom should be perfectly flat, but the NE scanner doesn't know that.

I also used the NE software to reduce the mesh complexity; this makes the mesh more sparse so the next operations go more quickly. The NE software was able to close holes and make the model water tight.

I then smoothed the model. This helped to get rid of most of the integral elevation layering that the model contained. I played around with several smoothing settings until I found one that smoothed enough, but not too much. You will have to do the same.

Lastly the NE software established an origin and orientation of the model that put the flat part on the bottom.

The screen shot is before trimming and smoothing. It's really exciting to see the model suddenly appear in the computer as a mesh.

As the final step, Export the mesh to an .STL file on your thumbdrive.

Step 3: Create Toolpaths

In this step the computer will create paths for the router bits to follow in order to cut the model.

I used V-Carve 3d, the software that comes with the ShopBot to do the work.

1. Import the .STL file.

It is important to select the correct top surface. In my first attempt the model came in rotated 90 degrees with one of the thin edges as the top. That led to really deep tool cuts and was completely wrong. You should orient with the top of the terrain "up." If you can't get this set correctly, then go back to Next Engine software and reorient the XYZ of your model and export it again.

Here you can change the size of the model to be what you want to make.

2. Set the material specs.

Here you describe the block of material that you will cut. I like to set the XY to the lower left corner. Make sure to measure the real thickness of your material. I also set the margins to "Fit to Material"; this causes the tools to machine out the entire block.

You also set the Z to top or bottom; I prefer bottom. It is critical for you to remember the setting of Z.

I did not use tabs. I set the model to be 0.2 inches below the surface. This insures that the top of my model does not come out flat.

A word on depth

You have to know that a bit on a tool will only cut so deep. Look at the photos in the next step and you'll see how the bit ends at a big collet nut. You need to make sure that your ShopBot can actually cut the tool paths that you create. The V-Carve software has a model of the bits, but not of the spindle it fits into. If you cut too deep you risk damage to the work piece and the spindle.

In the screen shots below I've rotated the model to see the area that most concerns me, the sharp drop on the back left. I moved the Cut Plane Position to be just at the top of that steep rise. Now I can read the Depth Below Surface. Subtract that from the material Thickness and we have the deepest cut: 1.67 inches. That's a lot, but I think it can be done.

Of course, the further your bit sticks out the slower you have to cut, and at some point your only real choice is to do the model in two pieces that you later join together. You can use the Slide Model button to create several model files and then essentially do all of this work for each of the slices. That is beyond this Instructable.

3. Make a rough cut tool path.

I roughed out using a straight 1/2 inch end mill. This is a strong tool that cuts quickly. The idea here is to remove as much unwanted material as you can, as quickly as possible.

Your speeds and feeds, as they say, depend on the tool and the material. I'm cutting a very soft foam so I can cut quickly without hurting the bit. However, cutting too quickly can tear the material instead of cleanly cutting it. I set the feed rate to 2 inches per second.

4. Make a finish cut tool path.

The finishing cut was made with a 1/4 inch ball nose. I had a hard time finding that bit at my local stores and bought one on for about $10.00.

The default for this bit was 6 inches per second. When I started actually cutting I found that too fast and lowered it to 3 ips. More on this in the next step of the Instructable.

You can ask for a second finishing path at 90 degrees to the first. I originally planned to do this but when I cut the part I was happy after just one pass.

5. Cut out path

I didn't use a cut out path.

6. Preview machining

VCarve 3d will let you see what the cuts look like. If you check the Animate Preview box then you can watch your part being "made" on the computer. This is a good way to check that the tools are doing what you expect.

7. Save the tool paths.

In this step you save the files for the ShopBot. Each tool requires its own file. I choose to name my files in specific ways. For instance


This means:
    Edgewood : is the name of the project
    9x12x2 : is the size of the material
    Zbot : means the Z axis 0 is at the bottom of the material
    A : is the cut order of this tool path. Incrementing this allows me to know at cut time which order the files run in.
    0.5Mil : is a description of the tool
    1.67deep : tells me that the tool will have to cut this deep in the clear

For this project I have two files:


Save these files to your thumb drive and move on to the next step.

Step 4: Cut on the ShopBot

Running the ShopBot requires training, and I'm not going to tell you how to do it here. I will give you some tips I've learned.


I used pink foam insulation because it is dense, soft, and cheap! I bought a 4x8 sheet of Owens Corning Fomular 150, 2 inches thick. The material comes pre-scored to fit between studs, so if one dimension of your model is larger than 16-inches this won't work. To cut the insulation I scored it on both sides with a utility knife and then snapped it. Easy as can be.

I used a few small dabs of hot glue to affix my material to a sacrificial strip of 1/8 plywood. (Don't know why you need a sacrificial strip? Take the ShopBot training class.) If you want to later remove your piece from the plywood, then use little dabs of glue.

Vacuum skirt

You'll notice in the photos that the normal vacuum skirt is removed. My first attempt (second if you count the failed BabyBot work)  found that the up-down motion of the spindle would dig the skirt into the material and wrecked it. This material is too soft for a stiff skirt. I loosened the vacuum skirt, raised the spindle and the skirt fell out.

Without the skirt I had to chase the spindle around with a handheld shop vac to keep the table clean.

Setting 0, 0

I've had problems with the ShopBot losing its position in the middle of a cut and ruining my piece. Mostly this has happened with the table top size BabyBot, but I worry about it all the time now. My approach is to draw a dot for 0,0 on the vacuum table and set the SB to 0,0 there. Then I raise the spindle and position it at the lower left corner of my material. I note the coordinates on the SB console and write them down. Then I set 0,0 to where the spindle is located. This way if the SB loses position I can move back to the table mark for 0,0 then move to the noted offset and rezero there.

Air Pass

I set the Z 0 to the top of the material so that the cuts will all be above it. I bring in my first part file (the one with the A in the name) and do a cut. This air pass lets me see that the material is positioned correctly and allows the spindle to warm up. I let it air cut for two minutes.

Load the Bit

Look at your first cut file, the one with the A in it. Enter Preview mode on the SB control software and make sure it looks like what you expect. Now remember that the file name tells you this is a 0.5 end mill bit.

When you load the bit you need to measure the distance from the tip of the bit to the collet. If you cut any deeper than that the collet will rub the work piece and you risk damage to the piece and the collet. (see the image) The file name reminds us that we need 1.67 inches clear. If you don't feel the bit can safely extend this far, then you have to go back to V-Carve 3d and slice your model into pieces.

The Real Z

I know from my file name that Z 0 is at the bottom of the piece so I turn on the table vacuum (remember that the table is only flat with the vacuum turned on) and set Z 0 at the top of my sacrificial piece.

The Cuts

Now I let the ShopBot run and my model slowly appears out of the solid block. It is really something to watch.

I set the 0.5 end mill to 8,000 rpm and 2 ips cut speed. This seemed to work well.

The 0.25 end mill was running at 10,000 rpm and 6 ips. I found it was starting to tear the material just a little bit. I used "Shift <" on the ShopBot to lower the cut speed to 3 ips and the problem went away.

Step 5: Done!

I now have a 9x12 scale model of Edgewood park!

What have I learned?

While the steep canyons in the front of the model photo look great, the gently sloping planes of the back side still show some lightly bumpy artifacts from my original layered model. To the unknowing it looks like natural terrain variation, but I know that those "natural" humps occur at the exact spot of the layered model. And it is obvious that if the original layered model was not accurate, then this finished model will not be.

I found that the material is fabulous to work with. It is very cheap and easy to cut. However it is also soft. Just bumping the finished model against a solid object will mar it. Even a hard finger press leaves a mark. You can see a slight team on the right hand edge of the model.

What's next?

I'd like to create the mesh directly from US Government DTE data, then I know it will be accurate. Or at least as accurate as their data. "Good enough for government work," as my dad used to say.

I will also cut the model out of a hardwood to see how that works. I'll have to cut slower to keep the bits safe, but it should be an interesting finish.

I'm going to use the vacuum former at TechShop to make an impression of this. At our next Edgewood Park volunteer party I hope to bring a Jello salad in the shape of the park. Maybe I'll use lime flavor with carrots and celery bits for interest. Oh, if only it snowed in San Carlos - then I could top it with mayonnaise!

Instructables Design Competition

Participated in the
Instructables Design Competition