why not use the text-based G-Code like most other CNC routers?
Never heard of it! Looks pretty straight forward going by the Wikipedia article. We could do it either way I suppose...use someone elses or make up our own. Either way, it'd work. Just not sure which would be easier but it'd make sense to at least follow the basic method and logic they use but this would still be something we'd need to implement manually on the Arduino side.
Better yet, is there software available that will output serial commands for a CNC router that we can interpret? That'd be ideal. They probably all do this...I have had no experience with CNC routers.
Would looking at the rep-rap project offer some inspiration? surely what they can do in 3-d can be turned into a 2-d version?
I'm sure they'd have some functions that would be very handy. 3D is only 2D with an extra axis. Seems like an obvious statement but if you look at how they build 'up' with the Reprap, they appear to handle the STL files in layers..X and Y for each Z. No doubt there's more to it than that.
One big difference between additive (depositing) and subtractive (milling) systems is the way you have to adjust the tool paths. It can be a significant software problem. A milling tool isn't a zero-radius needle, and a depositing jet can't produce zero-width material either.
I agree. I had thought of this, which is where I had initially thought for the PCB, you can subtract everything you don't want very easily. It's much more complicated to do anything beyond that, but certainly not impossible.
In my case, I'd rather have the PC control the CNC router (aka Arduino)...which will make it a ton easier to handle all of the data by sequencing the commands and having the Arduino execute 1 command at a time. Seems a little inefficient but I'm sure it'd work fast enough for this little black duck.
One thing is for sure, it's certainly going to be of huge benefit to work with a common file type like a DXF or whatever else is more appropriate. The ability to work/operate for various platforms would be crucial.
Anyone have mad Java programming skills?