Friday, February 27, 2009
Thursday, February 26, 2009
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
Sunday, February 22, 2009
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
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
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 http://www.opennovation.org/ubuntu/ wouldn't download.
It said Failed to fetch http://www.opennovation.org/ubuntu/dists/hardy/Release
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
( 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 "post.py". 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.
kurve.so, actp.so and area.so, 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, post.py expects kurve.so and area.so 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 post.py is run, it should create the nc file ( test.tap for example ).
When post.py has been run from the "G0" button in HeeksCNC's program window, it then calls nc/iso_read.py to make an xml file ( test.tap.nc.xml 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
I have been trying to work out how to use the polygon boolean operations from http://boolean.klaasholwerda.nl/bool.html
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 http://code.google.com/p/libarea/
I have added my latest work to it.
Thursday, February 5, 2009
Wednesday, February 4, 2009
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.