Written in C++, HeeksCNC is an add-on for HeeksCAD. The user can add machining operations. The source code can be found on the Google Code website ( see the "Source" tab ).
HeeksCNC uses OpenCAMLib for the "Zig Zag" operation HeeksCNC uses libarea for the "Pocket" operation HeeksCNC uses libactp for the "Adaptive Roughing" operation
There is a Windows installation on the downloads page of the Google Code site, which installs everything you need, including HeeksCAD and Python 2.5
There are OpenSUSE rpm files here
HeeksCNC is a graphical user interface, built using HeeksCAD. It allows the user to define an NC program using objects with graphical icons.
A Python script program file is then automatically made from this, which runs more specific scripts to make the NC code.
The NC code is then backplotted ( yet more Python script ), so the toolpath can be shown in the graphics window of HeeksCNC.
If the user edits the NC file, these edits can not be passed back up to the Python program. If the user edits the Python program, these edits can not be passed back up to the graphical objects.
For Profile and Pocket operations you may want to import a 2D drawing
The program can be output for different machines.
To change the machine that the NC code is to be made for, select the program object in the "Objects" window and drop-down the "machine" property ( in "Properties" window ) to the desired machine.
To make a new machine, see here http://code.google.com/p/heekscnc/wiki/Machines
How to use different operations in HeeksCNCEdit
Cut around a sketch offset by the tool radius. The sketch can be open or closed.
Do area clearance toolpath within a sketch. The sketch must be a closed shape.
3D Roughing operation. Limited to doing a square shape with passes in X or in Y.