From: Patrick B. <pat...@gm...> - 2014-01-06 16:43:10
|
Hi guys, if I remember correctly, the holes are drilled in the order they are found in the input file (grouped by drill size). In my case (using gEDA/pcb) that was top-down I think. Lionel, if you have anything you wish to contribute, I'll gladly give you full admin access to the project so you can upload them to the repo directly (I need your SF user name for that). Since pcb2gcode already fits my needs well enough und I haven't made any boards myself in the last 3 years or so, there's very little motivation for me to start working on it again. If anyone wants to contribute, take over the project -- officially or unofficially -- or even create your own fork, you are very welcome to do so! -- Patrick On Fri, 3 Jan 2014 14:17:30 +0100 Lionel SAINTE CLUQUE <lio...@gm...> wrote: > Hi Reinis > > I looked tonight at the source code of pcb2gcode (surface.cpp mainly). > > By now I find it both hard and not useful to implement douglas-Peucker. > > Hard because the data representation from my point of view is not good for divide to reign algorithms. > Not useful because of the digital nature of the data. The main optimization to do is to join vertical lines and horizontal lines. A Douglas Peucker with arc interpolation would be really interesting on the other hand (with a flag on the command line to tell interpolate with arcs on lines only). > > I think pcb2gcode can output iso as a natural language our gerber. Iso is good because then it is usable directly. Gerber is good to check. > > In fact I spent the night on it. Perhaps with a second night I could achieve something very good, but by now the sources are still messy and I experience difficulties in passing data amongst procedures. I tell you more soon. > > Lionel SAINTE CLUQUE > +33(0)6 18 04 20 75 > > www.dipole-electronique.fr > > Le 3 janv. 2014 à 10:47, Reinis Veips a écrit : > > > Hi Lionel, > > > > 1) After sending my e-mail, I started to browse this list's archive, and found the > > patch by Thomas. There is even a branch in SourceForge's git repo with his > > changes. > > I did test it a little yesterday, and it did seem to produce usable results, at > > least on the first glance (in simulator and in a free-air cut). I will probably > > try to actually mill a board using code generated by this branch this week > > (once I route it). > > > > 2) I do see a use for pcb2gcode as a backend, which takes gerber, and returns basic > > motions/lines, and it's up to frontend to post-process them and output G-code. > > I even don't think pcb2gcode should output G-code- instead, it should return > > basic cut instructions, and postprocessors should be responsible to prepare > > G-code from that. > > > > First firmware I tried to use for my mill-controller was originally meant to be > > used for RepRap's, and it didn't even support G00/G01 with multiple XY > > coordinates, so I had to change C++ code to output each line as a separate G01 > > command. I have since moved on to adapt grbl for my mill controller, and that > > works much better (supports imperial units and G00/G01 command blocks). > > > > Postprocessors can and probably should be written in interpreted languages- > > it would be royal pain to re-compile everything in order to change > > post-processing rules. > > > > > > I also saw the e-mail by Patrick suggesting he does not have time to maintain > > this software, but there was no response from anyone. I'm quite certain > > that I don't have expertise to develop pcb2gcode further, but I do have time to > > devote to test it. > > > > > > Regards, Reinis > > > > On Fri, Jan 03, 2014 at 03:10:41AM +0100, Lionel SAINTE CLUQUE wrote: > >> Hi Reinis, > >> > >> For what I can see, the mailing list is _very_ calm. I experienced the same troubles. In fact I would not say that pcb2gcode works. > >> > >> 1) I worked on some algorithms to make it run better. One is to to calculate the path with a tool radius of 0, then offset it. In fact the current algorithm only works for vertical and horizontal segments. > >> > >> Another improvement that is absolutely necessary is to combine pixel-length lines into long and smooth lines. Thomas Fritz was an interesting contributor who (tried) to implement douglas-peuckert algorithm. As far as I know it did not proved to be relevant. But perhaps I never managed to use it. > >> > >> I developed and not committed other functions such as a gerber output to compare the result path and the original files. > >> > >> 2) Perhaps PCB2Gcode should be integrated in a framework to address your second functionality. > >> pcb2gcode converts pcb to gcode > >> drillsort (for example) sorts drill > >> radiusshift (for example) could recalculate the path with the tool radius shift instead of pcb2gcode. Indeed I often produce boards with several different tools, not only one. > >> Is C++ really suited to work on numerical command files. Isn't perl ou python more versatile for that? I think pcb2gcode already does too many things. I think it is not necessary for pcb2gcode to mirror files, or to radius shift tool path. Neither is it to know which gerber file is the top and the bottom face, or using the drill files, which are not handled by grebe and are a border. > >> > >> I stopped working on that because my mill seemed not to run properly and I had no time to use it. Now I use it much more often. I have little time but pcb2gcode is worth spending some time on this. If I feel less lonely I could contribute on a new release of pcb2gcode. > >> > >> Lionel SAINTE CLUQUE > >> +33(0)6 18 04 20 75 > >> > >> www.dipole-electronique.fr > >> > >> Le 2 janv. 2014 à 14:32, Reinis Veips a écrit : > >> > >>> Hello, > >>> First of all, I'd like to thank everyone involved in this project! pcb2gcode > >>> gives the best results of all open-source PCB-toolpath-generating applications. > >>> I have modified pcb2gcode to output G-code in mm, as my machine did not > >>> support imperial units- that was relatively easy task. > >>> > >>> > >>> There are two more changes to pcb2gcode I would like to implement: > >>> > >>> 1) At the moment, pcb2gcode breaks slopes in many small segments. I'm not sure > >>> if there are machine controllers which buffer such motions into a continous > >>> line, but the one I have looks at each segment separately, and cannot > >>> sustain a full feedrate when there are too much small segments. > >>> On the other hand, if a single motion command is sent to machine, it can sustain > >>> such feedrates without a problem. > >>> > >>> So, the feature I would like to add is to export as few motions as possible. > >>> > >>> I have no experience with libgerbv and cairo, so I'd first like to ask here- > >>> is such a feature feasible at all? If pcb2gcode is processing rasterized > >>> gerber, then I probably won't be able to do much. > >>> > >>> 2) Second problem is a lot simpler. I recall seeing that drilling was done in > >>> arbitrary order- am I right, and there is no path-optimization implemented > >>> for drilling operations? > >>> > >>> > >>> Regards, Reinis > >>> > >>> ------------------------------------------------------------------------------ > >>> Rapidly troubleshoot problems before they affect your business. Most IT > >>> organizations don't have a clear picture of how application performance > >>> affects their revenue. With AppDynamics, you get 100% visibility into your > >>> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! > >>> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > >>> _______________________________________________ > >>> Pcb2gcode-devel mailing list > >>> Pcb...@li... > >>> https://lists.sourceforge.net/lists/listinfo/pcb2gcode-devel > >> > > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > _______________________________________________ > Pcb2gcode-devel mailing list > Pcb...@li... > https://lists.sourceforge.net/lists/listinfo/pcb2gcode-devel |