Re: gEDA-user: comments on gcode generation
Markus Hitter wrote: Am 01.12.2010 um 21:47 schrieb Bert Timmerman: * no voronoi mode: all the other tools (see below) support a mode where they fill the unused area of the board with the closest net. this cuts the machining time down to less than 50%. Yes, this would be a very welcome addition. Is there a pure C library with this stuff available somewhere? Java or C++ isn't an option for inclusion with gEDA. http://www.qhull.org There happens to live a git repo here: git://gitorious.org/qhull/qhull.git Thanks for the link, Bert. I fear this is a bit too complex for me to justify putting it in the next few days. You might have a look at triangle.c from Jonathan Richard Shewchuk. I used it to compute triangulations in astro-images and it's not complex at all - but very fast ;-) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: comments on gcode generation (was: Re: exportingsingle pcb layers)
Am 01.12.2010 um 21:47 schrieb Bert Timmerman: * no voronoi mode: all the other tools (see below) support a mode where they fill the unused area of the board with the closest net. this cuts the machining time down to less than 50%. Yes, this would be a very welcome addition. Is there a pure C library with this stuff available somewhere? Java or C++ isn't an option for inclusion with gEDA. http://www.qhull.org There happens to live a git repo here: git://gitorious.org/qhull/qhull.git Thanks for the link, Bert. I fear this is a bit too complex for me to justify putting it in the next few days. Markus - - - - - - - - - - - - - - - - - - - Dipl. Ing. (FH) Markus Hitter http://www.jump-ing.de/ ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: comments on gcode generation (was: Re: exporting single pcb layers)
On Wed, Dec 01, 2010 at 10:05:48AM +0100, Alberto Maccioni wrote: * no voronoi mode: all the other tools (see below) support a mode where they fill the unused area of the board with the closest net. this cuts the machining time down to less than 50%. Can you explain more? an image probably explains this best: [1]. all the implementations i know do this by exposing the gerber files to a bitmap and doing something like a simultaneous flood fill on all the connected components; then they trace the resulting edges. this is, of course, not an option for circuits where signals are slowed down by having meandering lines, or even on circuits where small capacities added between adjacent nets, but for many boards that are not that sophisticated, it makes the manufacturing faster and the soldering easier [1] http://www.mit.edu/~vona/Visolate/ATM0PCB0-three-ways-med.jpg On Wed, Dec 01, 2010 at 12:48:17PM +0100, Markus Hitter wrote: Yes, this would be a very welcome addition. Is there a pure C library with this stuff available somewhere? Java or C++ isn't an option for inclusion with gEDA. none at the moment, but there is some consolidation work ongoing, which might even result in a library being split off. personally, i'd rather prefer a solution where the complete program is called. for matters of integration, it could even be shipped and built together with geda. i understand why java is not an option, but would a complete c++ program be acceptable as a dependency (that is, as a standalone program instead of something linked to)? Without code patches, lines on the outline layer are handled just like any other traces. This is improved with some of these patches: http://sourceforge.net/tracker/? func=detailaid=3100354group_id=73743atid=538813 You can apply them all without loosing anything. Outline milling is still limited to rectangular boards without holes, though. ok, that explains a lot. i'm still using the last release, but given the number of patches available, i should probably have a look at the vcs. that way i can also have a look at how things work here. regards chrysn -- To use raw power is to make yourself infinitely vulnerable to greater powers. -- Bene Gesserit axiom signature.asc Description: Digital signature ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: comments on gcode generation (was: Re: exporting single pcb layers)
* no voronoi mode: all the other tools (see below) support a mode where they fill the unused area of the board with the closest net. this cuts the machining time down to less than 50%. Can you explain more? * strange outline behavior: i'm not sure what the outline file is supposed to do, but for my testing example it cuts on the inside and the outside of the outline line, and additionally cuts in the drill holes. this might be a bug, depending on what it is supposed to do exactly. What do you mean with outline file? Can you provide an example? * no mill drilling: if a milling head is used to cut out the board along its outline, the same tool can be used to drill arbitrarily large holes by moving in circles. that might be what is intended with the holes in the outline layer, but they don't really fit size- and shape-wise. There is a patch on sourceforge that adds pre drilling, but a drillfile is needed anyways for those who wish to drill separately. * parameters: there are five tunable parameters in the gcode export, while there are roughly three times as many in pcb2gcode, most prominently the feed rates and speed settings. while of course the number of parameters is not an indicator of completeness or quality, i think it is roughly representative of the state of pcb's gcode support. Nobody has ever asked more (almost nobody uses this exporter); there is a patch to specify some more parameters, but you should request in detail what you need. please don't take that personally, i just think it's not quite there -- at least yet. No problem, at least you tried it; one thing I would ask you is to detail exactly what you need, so that I or somebody else can improve the code. BR Alberto ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: comments on gcode generation (was: Re: exporting single pcb layers)
Am 30.11.2010 um 16:29 schrieb chrysn: On Mon, Nov 22, 2010 at 08:29:31AM +0100, Alberto Maccioni wrote: in the process of cnc-milling a pcb with a custom shape using pcb2gcode [1], i created a polygon on a separate layer... Have you ever tried the g-code exporter included in PCB? I've never been able to make pcb2gcode work with minimally complex boards. i just did so, and found out there are some reasons i'll -- at least for the time being -- will continue to use external tools: * no voronoi mode: all the other tools (see below) support a mode where they fill the unused area of the board with the closest net. this cuts the machining time down to less than 50%. Yes, this would be a very welcome addition. Is there a pure C library with this stuff available somewhere? Java or C++ isn't an option for inclusion with gEDA. * strange outline behavior: i'm not sure what the outline file is supposed to do, but for my testing example it cuts on the inside and the outside of the outline line, and additionally cuts in the drill holes. this might be a bug, depending on what it is supposed to do exactly. Without code patches, lines on the outline layer are handled just like any other traces. This is improved with some of these patches: http://sourceforge.net/tracker/? func=detailaid=3100354group_id=73743atid=538813 You can apply them all without loosing anything. Outline milling is still limited to rectangular boards without holes, though. * no mill drilling: if a milling head is used to cut out the board along its outline, the same tool can be used to drill arbitrarily large holes by moving in circles. that might be what is intended with the holes in the outline layer, but they don't really fit size- and shape-wise. Actually, this is on my today's work list. With some luck it'll appear in the above set of patches this week. * parameters: there are five tunable parameters in the gcode export, while there are roughly three times as many in pcb2gcode, most prominently the feed rates and speed settings. while of course the number of parameters is not an indicator of completeness or quality, i think it is roughly representative of the state of pcb's gcode support. User definable feedrates went into the patchset just yesterday :-) The unpatched exporter is more directed towards Emacs-savy people, replacing the single F command near the top of the G-code isn't that difficult. I had a look into brdtrace and, well, it's _very_ basic. Only one layer per run, no solder side flipping. Impressive for a weekend's worth of work, though. Markus - - - - - - - - - - - - - - - - - - - Dipl. Ing. (FH) Markus Hitter http://www.jump-ing.de/ ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: comments on gcode generation (was: Re: exportingsingle pcb layers)
Hi Markus, -Original Message- From: geda-user-boun...@moria.seul.org [mailto:geda-user-boun...@moria.seul.org] On Behalf Of Markus Hitter Sent: Wednesday, December 01, 2010 12:48 PM To: gEDA user mailing list Subject: Re: gEDA-user: comments on gcode generation (was: Re: exportingsingle pcb layers) Am 30.11.2010 um 16:29 schrieb chrysn: On Mon, Nov 22, 2010 at 08:29:31AM +0100, Alberto Maccioni wrote: in the process of cnc-milling a pcb with a custom shape using pcb2gcode [1], i created a polygon on a separate layer... Have you ever tried the g-code exporter included in PCB? I've never been able to make pcb2gcode work with minimally complex boards. i just did so, and found out there are some reasons i'll -- at least for the time being -- will continue to use external tools: * no voronoi mode: all the other tools (see below) support a mode where they fill the unused area of the board with the closest net. this cuts the machining time down to less than 50%. Yes, this would be a very welcome addition. Is there a pure C library with this stuff available somewhere? Java or C++ isn't an option for inclusion with gEDA. http://www.qhull.org There happens to live a git repo here: git://gitorious.org/qhull/qhull.git Kind regards, Bert Timmerman. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
gEDA-user: comments on gcode generation (was: Re: exporting single pcb layers)
On Mon, Nov 22, 2010 at 08:29:31AM +0100, Alberto Maccioni wrote: in the process of cnc-milling a pcb with a custom shape using pcb2gcode [1], i created a polygon on a separate layer... Have you ever tried the g-code exporter included in PCB? I've never been able to make pcb2gcode work with minimally complex boards. i just did so, and found out there are some reasons i'll -- at least for the time being -- will continue to use external tools: * no voronoi mode: all the other tools (see below) support a mode where they fill the unused area of the board with the closest net. this cuts the machining time down to less than 50%. * strange outline behavior: i'm not sure what the outline file is supposed to do, but for my testing example it cuts on the inside and the outside of the outline line, and additionally cuts in the drill holes. this might be a bug, depending on what it is supposed to do exactly. * no mill drilling: if a milling head is used to cut out the board along its outline, the same tool can be used to drill arbitrarily large holes by moving in circles. that might be what is intended with the holes in the outline layer, but they don't really fit size- and shape-wise. * parameters: there are five tunable parameters in the gcode export, while there are roughly three times as many in pcb2gcode, most prominently the feed rates and speed settings. while of course the number of parameters is not an indicator of completeness or quality, i think it is roughly representative of the state of pcb's gcode support. please don't take that personally, i just think it's not quite there -- at least yet. to add constructively, i'd like to point out what's currently available in the area of pcb gcode generaton as far as i am aware of it: * visolate: a java gui tool that just recently got a command line interface (but still depends on having a graphics card, as calculations are done there). implements its own gerber loading, currently lacking polygon support. can generate both precise and voronoi toolpaths. no outline support, no drilling. most (only?) platform independent solution. development is rather quiet; maintained in second generation. * pcb2gcode: command line tool that uses gerbv libraries and then uses pixel-wise flood-filling for toolpath generation. voronoi style patterns are a side effect of using an exagerated tool diameter (it is an open issue that this results in the paths being engraved two times, reducing the savings). supports drilling both with automatic tool changer and mill-drilling. outlines are supported (currently using polygons, there is ongoing consideration how to handle this best). platform dependent due to gerbv dependency. development is currently quite active; the project has an ancestry of similarly named tools written in different languages. * brdtrace: the newest tool. does not touch gerber itself, but has helper scripts that use gerbv to generate images. quite optimized as far as i can tell. outlines are partially supported, mill-drilling is supported (also uses gerbv generated images). platform independent, as long as one finds a way to get pbm images from gerber w/o gerbv. (i should state that i work with the visolate and pcb2gcode maintainers to create debian packages of them, and am about to do so with brdtrace. the things i am / we are using pcb and those tools for in the metalab [1] can be seen at [2].) this turned out to become a longer mail than i intended, and might be interesting for -devel as well -- or are the relevant people on -users anyway? regards chrysn [1] http://metalab.at/ [2] http://geilomat.soup.io/ -- To use raw power is to make yourself infinitely vulnerable to greater powers. -- Bene Gesserit axiom signature.asc Description: Digital signature ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user