Introduction: How to Carve Photos With a CNC Router and PixelCNC

Many times in the past I have tried to carve photos on my CNC Router, only to be disappointed with the results. Recently I started using a software called PixelCNC which provides a superior set of tools geared toward producing a better result. The goal of this tutorial is to showcase the tools and methods to convert a photograph into a beautiful 3D relief carving.



A CNC router

1/16" Ballnose bit

Any Basic Photo Editing Software

PixelCNC CAD/CAM Software

Step 1: Select an Image

To convert an image into a relief, PixelCNC will use the brightness of different parts of the image to covert the image to have height or depth. Start with an image that has good contrast for the best results. Here, I chose a picture of the Brooklyn Bridge I took a few years ago.

Step 2: Make Basic Image Adjustments

I won't go into too much detail about how to use Photo editing software here, but any basic photo editing tool should do. You can see in the first image that there are some very dark shadows and some of the brick detail is lost. PixelCNC has its own set of tools that can be used to adjust for darker or shadowed areas, but for them to work, there needs to be some detail available in the original image. In the second image, I have changed the exposure and contrast of the image and adjusted the dark part of the highlights until the brick texture is clearly visible.

Step 3: Configure Your Stock Material in PixelCNC

I'll be using a piece of pine that I have already cut. The dimensions are 7.25"X 15" and it is .75" thick. Launch PixelCNC and enter your material size (canvas) by clicking "Canvas Properties" and entering the size of your material. I also want my work origin on the CNC to start at the top and center of my material, so I will set the "Origin" accordingly. For this project, I would also like the cuts to be no deeper than .25", so I will set the "Z-Fill" to .5" which tells PixelCNC to fill the canvas with solid material up to the .5" mark. I will be leaving the "canvas resolution" at 100ppi for this project. Increasing the canvas resolution can allow for some more detail, but at the expense of cut time. When you have configured your material, press "Apply" and your canvas will be scaled accordingly.

Step 4: Import Your Image

To import your image, we press "Create Layer" and the choose "Load Image/Vector as Raster-Layer" and browse to your corrected image file.

Step 5: Adjust the Model Position and Height

You'll notice on import that the image is very rough and is also positioned all the way to the bottom of the material. By default, PixelCNC imports the image with the same height of the canvas (.75" in this case). We want the image height to fit within the 0.25" at the top of the material that I have allotted. To achieve this, we will set the "Z Origin" of the model to -0.25" which is right on top of our solid bottom fill layer. We will also set the "Z Size" to .24" which ensures that the highest parts of our model are still just below the surface in our finished project. When this is complete, press "Apply".

Step 6: Smooth the Model

Our model is starting to look pretty good now, however a close inspection shows the surface is very rough and not really suitable for machining. We will simply use the "Smoothing" slider to blend the peaks into a nice looking image. Give it a try. I ended up going with 5px of smoothing to get the effect I was looking for. Adjust the smoothing value and press "Apply" to see the changes. You can do this as many times as you would like until your model looks good to you. When you are finished adjusting the parameters, press "Done".

Step 7: Adjust the Levels

PixelCNC includes a really advanced and useful feature for perfecting your image and it is really simple to use. You can adjust the "Levels" to pull the highest parts of the model downward and bring the lowest parts upward. This can be performed on the model as a whole, or just on selected parts of the model. To adjust the levels of your relief, ensure that the layer that contains your image is selected and press "Edit Raster: Enable",and then choose "Adjust Levels" on the right side of the screen. The handle in the bottom left corner represents the deepest pits on your relief and the handle in the top corner represents the highest peaks. You can add additional handles to any point along the graph by simply left-clicking an empty place on the line. There are several different modes available that apply smoothing to your height graph, but for the purposes of this tutorial, we will just use the default which is "Linear".

Step 8: Adjust the Levels Part 2: Fix the Sky

The sky background in my image was really bright, and because of this, there is a very steep ledge between the bright sky and the darker bridge in front of it. To bring down the height of the sky in my relief, I will start with the highest point on the right side and bring it downward until the sky background is at a more acceptable height. I added a couple additional adjustment points until I was happy with the overall height of the image. Give it a try!

Step 9: Adjust the Levels Part 3: Dealing With Shadows

We still have some remnants of those pesky shadows that were part of our original image, Thankfully, PixelCNC has the tools we need to adjust those specific areas of the model. I will use The "Area Selection" tool to target the specific problem area and to further adjust the levels in that area. In the "Area Selection" Tool, choose the Magic Wand ("Contiguous area selection") tool. The magic wand tool selects all of the areas if the model that are at the same height as the area clicked as long as they are within the threshold defined by "Z-Range". Try it. Areas that are not selected shown are in red. If your selection area is reversed, press the "Invert Selection" button to fix that. "Feather" allows you to gently blend your selection into the nearby areas if required. When your confident that you have selected the area you which to address, press "Done".

Step 10: Adjust the Levels Part 4: Adjust the Levels of the Selection

You can then use the "Adjust Levels" dialog again to modify only the shadowed area of the model that you have selected so that it matches to the height of the adjacent areas. Try it. As you can see in the sample images, I have significantly reduced the sharp edge between the shadowed area and the rest of the model.

Step 11: Additional Cleanup

PixelCNC contains a full set of 3D sculpting tools at your disposal to manipulate your model as if it were made from clay. The left over line from the shadow is still a bit pronounced, so I will use the "Smooth" brush to fade the line into the rest of the model. To perform this, I will select "Manual Brush" while in the layer's edit mode and then choose the "smoothing" brush effect. There are a lot of available settings to tune the brush to your liking. For this task, the important ones are the "Brush Strength" and "Brush Size". The strength setting will determine how strong of a smoothing effect is applied and the size parameter will determine how large of an area the brush will cover. You can change the shape and effective falloff of the brush using the other highlighted parameters. Choose a strength around 50%+ and a size large enough to cover the area you want to smooth and then give it a go. I have also used the "Draw" brush and the "Smudge" brush to replace some of the brick texture I lost when removing the line. The second image shows my finished work.

Step 12: Finishing Touches

Just to complete the model, I have scaled the photo layer a little to match my stock and added a text layer. Because I have compacted most of the height of my model, adjusting the levels, I decided to scale up the height of the layer to If you raise your model too high, the top of the canvas will turn red, meaning that you have details above the top of your material.

I think we're ready to export our Gcode and cut! I won't go into all the various machining (CAM) methods PixelCNC supports in this tutorial. Because the overall depth of this project was pretty shallow, I skipped roughing all-together and completed the project using a single "Parallel Carving" operation with a 1/16th" ballnose cutter. I set the stepover at 8% which should produce a very clean final product.

After cutting the project the first time, I also realized that this particular project looks better inverted so that the bridge stands up from the material instead of being countersunk. To accomplish this, I simply selected the bridge photo raster layer in my saved file and used the "invert" tick-box.

Step 13: The Finished Product

Not too shabby. If I had to nitpick, I would've spent more time repairing the missing information from the shadowed areas. I think after a good sanding and some stain, this will look great. If you made it to this point, thanks for following along. I hope I was able to provide some useful tips and tricks the get the most of of your PixelCNC photo engravings.

Have Fun!

First Time Author

This is an entry in the
First Time Author