Markus,Thanks for the reply. I tried the 'gEDA - Inkscape - pstoedit - dxf' route and was not happy with the round-off errors that Inkscape introduced into the image.
In 'pcb', I tried a dpi of 2000 in the g-code exporter and the resulting pcb image is beautiful! FOSS pcb milling has arrived!
With a dxf file, in a CAM program, you can program your fine line cutting with a tiny v bit, then program a pocket operation with a larger bit to remove the remaining copper.
I have started trying to find the specifications for the dxf file format on the web to study. Here are my initial thoughts on adding a dxf exporter that builds on the pcb g-code exporter:
You could have a process that first produces g-code with a mill bit of 0.000 diameter and 0.000 depth of cut. Take out all of the G0-rapid positioning code and the G1 code with Z information. Then, take the g-code line plots and do a (fairly simple, I think) conversion of all the line plots to dxf format. Save the file. Now you have a dxf with all the lines at 0 on the Z axis. What do you think?
Other thoughts on the g-code exporter (which I am sure you have thought about, and are in the works);
The drill xxx.gcode.drill.cnc file goes through the board drilling all of the holes without differentiating the different drill sizes (found in the xxx.fab.gbr file). And, there are no tool change g-codes for changing between drill sizes.
I think it is important to at least organize the drilling operations by drill size - generate g-code for one drill size, then the next, ext. Also, it would be helpful if the exporter generated some notes in each g-code drilling block specifying which drill size is being drilled. The cnc machinist can find those spots easily and add the tool change codes as needed, by hand.
If tool change options are added to the g-code exporter, you would probably want to read and write to a tool table file, so all of the tool numbers match the tool table for a particular machine. You could possibly code it to directly read EMC2's tool table file. (example location: ~/emc2/configs/sim/sim.tbl). The emc2 users manual explains the format.
Thanks, Dave On 11/11/2010 04:28 AM, Markus Hitter wrote:
Am 11.11.2010 um 05:11 schrieb dfro@xxxxxxxxx:I like that the gound plane outline is machined. The circular pads could use some more lines to round them out. Have you thought about programming g-code arcs (G02, G03) for them? HeeksCAD/CNC does this (see below).Using G02/G03 isn't trivial, as the isolation milling paths aren't calculated by offseting all the existing lines and pads by some geometric calculation, but by drawing all the traces, widened by the tool radius, to a pixel-based intermediate image, then figuring the required paths from there. All this algorithm was done by Alberto Maccioni and some research brought up the statement, this is the only reliable way for offseting all the traces. Doing exact offsets is said to fail in edge cases. If you want more precision, you can raise the accuracy, which is set to 600 dpi = 1.7 mil by default.Having a dxf file allows people to tweak all of the milling variables (depths of cut, jogs, feed rates, number of passes, pocketing, drilling, etc) in a CAM program, rather than go through the g-code by hand.Except for multiple passes and clearing out pockets completely, this functionality exists already. Feed rates have to be hand-edited in the resulting file currently - a single spot near the top of the file - but this is a subject to change soon. A few tests with Eagle's G-code exporter using multiple passes show results worse than with a single pass, but your mileage may vary here. You need a really stiff and precise machine for such things, as the typical engraving tips are more pressing the copper aside than really cutting it. An DXF exporter would be an entirely different exporter and good luck finding an algorithm to connect all the lines and circles together. That said, you can use the PostScript exporter and load that into Inkscape. Create an outline path for all the lines there, stitch everything together and export it to G-code with Inkscape's G-code functionality (an add-on) - and you'll soon be happy with pcb's G-code exporter als any attempt via the DXF route is a lot more work. :-) Markus - - - - - - - - - - - - - - - - - - - Dipl. Ing. (FH) Markus Hitter http://www.jump-ing.de/ _______________________________________________ geda-user mailing list geda-user@xxxxxxxxxxxxxx http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
_______________________________________________ geda-user mailing list geda-user@xxxxxxxxxxxxxx http://www.seul.org/cgi-bin/mailman/listinfo/geda-user