ThreeCAM is an open source 3D CAM program. It is currently in early development stages and is not yet fully usable.

First machine test done with ThreeCAM!

Machined bar

The first successful test of ThreeCAM using an actual machine was done on Fri, 11-16-07. Two items were milled into a 1"x1" 6061 aluminum bar, 3D extruded "ThreeCAM" text, and han solo frozen in carbonite. The text was created in Blender. The model for han solo was downloaded from and was created by Dan North. Both items were edited in Blender and exported as STL files for ThreeCAM. The surface scan cycle was used for all machining. The text was machined along one direction only with 100 lines. After some additional software improvements, the han solo model was machined in both directions at a substantially higher resolution (500x200 lines). The tool used was a 1/16" carbide "V" endmill.

Full resolution.

Han solo side.


First and foremost, the current version of ThreeCAM does work on a minimal level and is capable of producing useful output in its current state. Secondly, there are some artifacts present in the output. This is to be expected with the tool width compensation that is being used currently, which only checks the depth of nine points along the edge of the tool and the center. The artifacts can be seen on the text part (four points were checked at that time) and result in the corners being removed from the letters. This issue clearly makes the current version unsuitable for precision work, although it may be sufficient for artwork and other uses.

The han solo model was chosen for testing because it provided different types of surfaces for testing. Two issues were found from this test. First, the normal functioning of the surface scan cycle is to move the tool directly between subsequent points in a straight line. While this is OK if the cycle is used for high resolution finishing, this may not be the most desireable mode of operation when the cycle is used for low resolution pocketing when a high resolution cycle will be used for finishing. With fewer points along each line, the mill will may remove material which would be included when milling at a higher resolution. For the test, two file were produced at different resolutions. The first was used for roughing and was stopped before reaching the desired depth. The finishing program was then run. The most obvious fixes for this are to use a higher resolution for points along each line, or to use the highest height of every two points when moving between them.

The second issue is the linear markings present on the wavy surface. They are larger than the fine grid lines produced by the tip of the tool, but smaller than the ripples on the surface. These may be due to a bug in ThreeCAM or simply the edges of the original mesh showing up. In either case, they were not intended and more testing and development work needs to be done to determine the cause and fix this is needed. If they were caused by a the mesh resolution, an smoothing option could be added.