On Mon, Mar 8, 2010 at 5:17 PM, DJ Delorie <d...@delorie.com> wrote: > >> The patch looks good to me (although I've only skimmed it). It might >> warrant a definition of what a "freckle" is, if that term isn't use >> elsewhere. > > It looks OK to me (assuming a comment explaining *why* it's needed is > added) but I wonder if one of the other optimizations is creating > these freckles. I know one of the optimizations djopt does is to > split lines when they intersect pins/pads, perhaps that code could > just omit freckles rather than create them? (if that's what's > happening, that is).
The problem is that the autorouter often creates 90 degree joints where one line overshoots the joint by 0.01 thou. When djopt is then run, it splits the overshooting line to create a good line plus a 0.01 thou long "freckle". These freckles prevent the mitering optimiser from kicking in. So yes, djopt creates the freckles, but only because the autorouter made the 0.01 thou overshoots in the first place. An ideal solution would fix the autorouter, but unfortunately my half day time budget for fixing the problem only went as far as patching djopt.c. I did have a quick try at fixing the autorouter, but ended up with strange results - so a workaround in djopt.c had to suffice. I'll tidy up the patch to add the explanation & resubmit it - but if anyone has time to fix the deeper issue in the autorouter it would of course be the better solution :) Steve Ecob _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user