[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Comments on pcb's g-code exporter & HeeksCAD/HeeksCNC FOSS program for pcb milling



Alberto,

Thanks for the comments.

On 11/11/2010 04:24 PM, Alberto Maccioni wrote:
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.
Actually the algorithm is not mine, it comes from potrace, a tracing
program by Peter Selinger (as you can see in the source code copyright
notice).
Tracing involves a fair amount of mathematical analyses and his code
gives excellent results with equally great efficiency.
I just took the algorithm, stopped the tracing process before bezier
curves extraction, and adapted it to the png exporter.
HeeksCNC algorithm in comparison is extremely primitive and naive, and
it doesn't even work in many conditions, for example very sharp edges
cause it to crash completely.


For me, HeeksCAD/CNC crashes on everything but the most simple gerber artwork files. They have a ways to go on the conversion. Maybe Dan Heeks could take some code from the (sweet!) pcb g-code exporter.


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.
Are you sure you want to do this? Is it for aesthetic reasons or
because of better isolation?
Besides thrashing large amounts of bits and requiring hours of work it
won't make your pcb's work better; if you need good isolation it's
better to insert several traces between the ones you want to isolate.


I would like to remove floating copper for RF and static electricity reasons. The 'pcb' program thinks that floating copper is enough of an issue to have code to detect and remove it.

I have seen blogs where guys take tweezers and rip the floating copper off the boards they have isolation milled. I would like to have the cnc machine do it. I agree that it will destroy lots of bits, though. It is a trade-off between disposable etching chemicals and disposable bits.

A company called LPKF make very nice (and expensive I am sure) pcb mills, bundled with software that pockets out all of the unwanted copper:

http://www.lpkfusa.com/protomat/s-series.htm
http://www.lpkfusa.com/datasheets/prototyping/rp_brochure.pdf

They are beautiful machines that make beautiful pcb's.

I am going to make a very rigid, accurate pcb milling machine out of epoxy-granite. Here is my build blog (with pics) on a cnc lathe that is part E-G:

http://www.cnczone.com/forums/vertical_mill_lathe_project_log/42308-diy_benchtop_lathe_project-2.html

Have you thought about programming g-code arcs (G02, G03) for them? HeeksCAD/CNC does this
Once your resolution is high enough there's no difference between a
line path and an arc.
Detecting arcs would be extremely complicated; you can't describe a
generic curve with arcs, so the original tracing algorithm uses bezier
curves; you would need to check when a series of beziers are close
enough to an arc. Does this make your end product better? Not at all,
so it's not even worth to try, in my opinion.
A dxf export could however be useful.


I think the 2000 dpi output is great!

You coding wizards can do in a minute what would take me a month, but I would like to try writing a g-code to dxf conversion program in C. Thanks, Stephen Ecob for the jump start!

Stephen,
Some of the function calls seem to be missing from your dxf.c program, like DxfStart(); and DxfFinish();.
Do you feel like posting those, also?

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.
The drill file generation is being improved with separation between
different sizes and better comments; if you have in mind a good
sequence of commands for switching between drill bits please  let us
know.


I will organize my thoughts on how tool changing might be implemented in 'pcb' g-code export.

Thanks,
Dave


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user