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

Re: gEDA-user: A not too serious PCB question



On Thu, May 14, 2009 at 08:34:17PM +0200, Stefan Salewski wrote:
> 
> http://groups.csail.mit.edu/drl/wiki/index.php/Visolate:_Voronoi_Toolpaths_for_PCB_Mechanical_Etch

Voronoi diagrams are a related problem, but I think the correct way to
approach it is:

1.  Produce the polygon (with holes) of all of the *non copper* areas of
the board.  PCB can do this easily with existing polygon primitives.

2.  Find the "straight skeleton" of the resulting polygon.  I believe if
the orientation of the PCB polygons was cleared up you could do this with
the CGAL library.  Or it could be reimplemented for our polygon structure.

Skeletonization can be done with a raster method, but I think this would
produce suboptimal toolpaths if the intent were really to output Gcode.

3.  Delete all of the "stubs" in the resulting skeleton.  Holes in the
original non-copper polygon (which represent islands of copper) will
create loops in the skeleton, which we want to keep.  "Peninsulas" of
non copper will produce stubs (which do not serve to actually isolate
any region -- imagine a P shape simplified to an O).  If you use a
library like CGAL these should be removed.

-- 
Ben Jackson AD7GD
<ben@xxxxxxx>
http://www.ben.com/


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