Friday, February 27, 2009

toroidal cutter - problems

celeron55 has done some work on zigzag operation. Now I have tried a zigzag operation with a toroidal cutter and it seems to have some problems, click on the picture for full size

Thursday, February 26, 2009

Pocketing and Profiling

I can pocket and profile a shape.
Profiling operation will start at the start of the shape. So, currently I need to draw the shape starting from the right place. It would be better if the profiling operation had start and end points, optionally.

Monday, February 23, 2009


My 6-year-old daughter asked me to carve a kitten out of wood.
I had some bits of an old apple tree from the top of the garden.
The chainsawing only took about 1.5 hours, the finishing could take as long as I'm prepared to give it.

Sunday, February 22, 2009

Island machining

To do islands, I have to make sure I draw the islands going the other way to the outside.
These examples all have outside clockwise, inside anti-clockwise.
There seems to be problems sometimes with using a rounding factor of 1.5 ( sharp corners for right angles ). Ignore all the red lines, I still have work to do, linking the paths together.

Friday, February 20, 2009

Arc output

I have made the "area" code convert the little lines back to arcs, so the NC code now has arc moves in it.

Home made Miller

This machine was originally built by my Dad, when he was younger than I am now.
We tried to make it CNC. I got Dad to make the gearboxes for the stepper motors. Later, I tried servo motors ( slot-car motors ). I was always being too cheap, using motors that were too small. I never had it reliably working. It is still useful as a manual miller, like it always was. The weights are to remove backlash.

Tuesday, February 10, 2009

Dell Mini 9

I bought a Mini 9 from Dell for £279, which comes with Ubuntu 8.04
HeeksCAD works well on it.

The Open CASCADE package from wouldn't download.
It said Failed to fetch
Unable to find expected entry main/binary-lpia/Packages in
Meta-index file (malformed Release file)
So, I had to download the Open CASCADE source code and build it. It took over 6 hours to build.
But it worked.

Saturday, February 7, 2009

HeeksCNC structure

( Click on picture to make it bigger )
#cam guys are having trouble with plugins again, for HeeksCNC.
The only plugin needed for HeeksCAD is the HeeksCNC dll ( or .so file ).
HeeksCNC adds the "Program", "Operations", "Profile", "Pocket", "ZigZag", "NC Code" object types to HeeksCAD. It uses these to create a script and then copies that script to a Python file "". This file is a stand-alone Python file, that can be run outside HeeksCNC ( for testing, for example ), but it will need various Python modules to do this., and, are Python modules.
They should not be added as plugins to HeeksCAD, they are not HeeksCAD plugins.
They just need to be built and put in the right place.
At the moment, expects and to be copied to HeeksCAD\HeeksCNC.
If you use the ZigZag operation, it creates script which expects the pycam stuff to be in a structure like this: HeeksCAD\HeeksCNC\PyCam\trunk\pycam\Geometry

When is run, it should create the nc file ( test.tap for example ).

When has been run from the "G0" button in HeeksCNC's program window, it then calls nc/ to make an xml file ( for example ) which contains a list of NC code blocks and their associated toolpath. This is then imported into HeeksCNC so that it can display the NC code and the toolpath. I hope this makes things clearer.

Friday, February 6, 2009

arc pocketing

I've made arc input work for area clearance. The output is still lots of little lines, where it looks like arcs, though. The toolpath is calculated in about 1 second.

area clearance Ubuntu

It builds for Linux too now, although with loads of warnings. Here it is working in HeeksCNC.
The default values cause 90 degree or blunter corners to be offset with lines. I'll have to make this an option in my CArea::Offset function.

area clearance

I have been trying to work out how to use the polygon boolean operations from
It took me a while to see that the Offset function is actually called "Correction".
There are comments that tell me that, but I wasn't reading the comments.

I can now almost do area clearance machining.
I have made a class CArea to make these functions work the way I expect, it is not finished yet.
I have made a Python module.

It have added a Google Code project called libarea
I have added my latest work to it.

Thursday, February 5, 2009

I have added a load of functions to the Python module of libactp, to set the parameters and set the outside boundary. ( see the wiki page )

Wednesday, February 4, 2009

nine cones

This example work OK now the start point is in the right place.

adaptive pocketing

It works OK, if you define the solid in the right way.

trying to do pocketing

DanielFalck from #cam has found where to edit the start point, so we hope to do pocketing.
In this example, I simply made a cuboid 20x20x20. In CoreRoughGeneration::FindGoStart(), I changed a0 and a1 to be
P2 a0(10.0, 10.0);
P2 a1(12.0, 10.0);
This is this result ( click on picture ). It looks like the algorithm doesn't car if it goes outside the boundary, so long as everything inside the boundary is cleared.

Sunday, February 1, 2009

adaptive roughin in Linux

I made a Linux build for the adaptive roughing.
Also I added some options in HeeksCNC for NC code colours.
I made nine cones and tried adaptive roughing on them.
It doesn't do the inside region.
Should it?