First attempt at 3D grayscale engraving

This koi scene and the grayscale test square below are my first attempt at 3D laser engraving. Both are 0.5" thick pieces of walnut. This circle is 3.5" in diameter. The max depth of the burn is 0.15". I burned it with LightBurn on a 100 W CO2 laser in a single ~40 min pass.

LightBurn Parameters:
Mode: Image
Speed: 150 mm/s
Max Power: 100%
Min Power: 19%
scanning: On
Line Interval: 0.03 mm (847 DPI)
Image Mode: Grayscale
Number of Passes: 1
Gamma: 0.5 (In Shape Properties)

Here is the depth map source image:

This is what it looked like straight off of the laser. It was completely covered in char and very messy.

I cleaned the char off by aggressively scrubbing it with a toothbrush using dish soap and water. I finished the piece with two coats of water-based polyurethane spray (Varathane satin).

Here is another finished shot with harsher shadows that accentuate the depth:

I made this test pattern which has all 256 shades of gray to test out the burning response:

Here is what it looks like burned in walnut:

I used the same parameters as those listed above except for the min power which was 12% instead of 19%. 12% corresponds to the point at which this laser begins to fire. I switched to 19% for the final koi burn as the test pattern showed no burning for the first 1.5 rows.


Very interesting. I am going to try this on our Synrad V40 equipped machine which can go down to 1% power!..

How do you generate the images?

1 Like

How do you generate the images?

I generated the grayscale test square image with this python script that I wrote: (967 Bytes)

I found the koi scene image using Google image search for depth map images. However, it should be relatively easy to generate a depth map from a given 3D model. I found this tutorial but haven’t tried it out yet: Creating a Depth Map from a 3D Model for 3D Engraving.

Thanks for the script I have been wanting to look into learning this. How do you go about using it, please?

Well done, and thanks for explaining it all in photos, including your test steps!

Thanks for the script I have been wanting to look into learning this.
How do you go about using it, please?

You’ll want to change the extension of the script from .py.txt to .py (I couldn’t upload it with the original extension). Next you need to install python if it isn’t already installed: . You’ll also need to install the Pillow python library. Pick the version matching the python version that you installed: .

To run the script use one of these commands in a command window:
(if python < 3.0): python full_path_to_the_script/
(if python >= 3.0): python3 full_path_to_the_script/

The script will output grayscale_square.png in the same directory that the script is located in. It will be identical to the grayscale square image shown above.

1 Like

Some people make them manually in Photoshop but another way to do this is to start from a 3d object and create a depth map. In Blender, it’s called Z pass. Essentially a Z pass is a visual representation of the distance from the camera to each pixel, meaning it ignores light sources. Anything you can 3d model you can convert. Zbrush can generate them as well. If you can’t 3d model you can download stls from thingy verse, turbosquid etc. Here’s a tutorial on how to do this in Blender.

Here’s one I created from downloaded stl

of course, some source objects are better than others for this kind of treatment.