Friday, January 30, 2009


I grouted the tiles in my bathroom. The next step will be to put the toilet and sink back in.

adaptive roughing

I got adaptive roughing to work in HeeksCNC for Windows using the Python module of libactp ( ). I need to make a Python function that does the toolpath extracting loops instead of having the loop in each machining program, then I need a tree icon.

Thursday, January 22, 2009

Profile operation

I now have profile operation working.
Draw some sketches and then press the Profile button on the toolbar in the "Program" window.
Edit the properties of the operation in the "Properties" window. Then press the "Python" button to make the text program ( I will skip this step eventually ), then press the "Post-Process" button to make the NC code and see the toolpath. The operation has been added in the "Objects" window in the tree under "Operations" which is under "Program".

Sunday, January 18, 2009

Zig Zag ( thanks to pycam )

( Click to see full size picture )
I have now got a Zig Zag surface machining operation working in HeeksCNC.
Now I need to make simple profile operation work again.
Then, I will make an a rough machining operation using libactp.

pycam DropCutter

I made a sphere, saved it as an stl file.
I ran this DropCutter test in pycam, see picture ( click on it for full size )
I opened the NC file in HeeksCNC output window; which backplots it.
At the line of code shown ( for example )
X-7.0000 Y-4.0000
It cuts back through the sphere!
What am I doing wrong?

Saturday, January 17, 2009


Martin Bogomolni has made a Google Code project for the freesteel library.
I have been added as an owner. I plan to help Martin strip away the graphical user interface code and make some easy to use interface functions. I hard coded the view in the existing demo ( because interactive viewing is broken ), so that I could see the toolpath from an angle.

Friday, January 16, 2009

simple backplot

I have written a simple which goes through the NC code and makes the XML file needed to display the toolpath. This will be done properly at some point ( with object oriented, machine specific classes ), so now, when the user presses "post process", he can see the NC code and the toolpath, which are interactively linked.


The picture wasn't added with my last post.

object oriented Python

I have simplified the C++ in HeeksCNC, so that the Python script in the "program" window, is exactly what is copied to, when the user presses the "post process" button.
Hirutso has written a base class for machines and a simple ISO machine in Python script. The next thing needed is a backplot script, so the tool path will appear in the graphics window. I have found out about the PyCam project and hope to be able to use the tool path functions.

Tuesday, January 6, 2009

HeekCNC on linux - toolpath

I've been working on a bug for three and half days, building HeeksCNC on Linux. It has been good experience with using KDbg to debug it.

Monday, January 5, 2009


The guys at #cam on FreeNode have been able to get the hidden source code from CVS.
I have built it and got it to make the roughing toolpath on the sample stl file.

Sunday, January 4, 2009

HeekCNC on linux

I have got my HeeksCNC building on Linux.
Almost. Click on the picture to make it bigger.
The Python stuff refused to run the "" file I had automatically generated.
I was trying to run it with PyImport_ImportModule.
To get it to find it with Windows, I had done ::wxSetWorkingDirectory, but this wasn't enough for Linux. So, then I also added PyRun_SimpleString with a string something like "sys.path.append" with the folder in. Then I had another problem and I had to add a work around, dlopen("", RTLD_LAZY | RTLD_GLOBAL).
I have spent all of today ( and possibly all of yeseterday, but it's a bit of a blur ) trying to debug a problem in Geoff's geometry library, which is OK for Windows but causes a segment violation built with GCC in Linux.
I have promised to have a go at getting Wildcat to build for Linux after I have done this.
I am pleased with KDbg as a useful tool for debugging.