Thread Previous • Date Previous • Date Next • Thread Next |
On 10/17/2014 08:10 AM, Wayne Stambaugh wrote:
On 10/17/2014 8:44 AM, jp charras wrote:Le 17/10/2014 14:22, Mark Roszko a écrit :Alright, I've played around. It appears there is many CAM/gerber software that cannot handle G75 arcs that are full 360 degrees. I tested this with the board from Jon and the 1 pin test board from Nick. If I generate 359 degree arcs, the 3d viewer is happy and draws good circles. If I generate 360 degrees then the arcs disappear/screw up. As far as I can tell, the math is right for the arcs regardless of 360 or 359. I think it's because the start point == end point for a 360 degree arc, that some viewers may break down due to their graphics libraries. I modified KiCAD to generate the circles as two arcs and the same viewers seem happy. i.e. I made void GERBER_PLOTTER::Circle( const wxPoint& aCenter, int aDiameter, FILL_T aFill, int aWidth ) { Arc( aCenter, 0, 3600, aDiameter / 2, aFill, aWidth ); } into void GERBER_PLOTTER::Circle( const wxPoint& aCenter, int aDiameter, FILL_T aFill, int aWidth ) { Arc( aCenter, 0, 1800, aDiameter / 2, aFill, aWidth ); Arc( aCenter, 1800, 3600, aDiameter / 2, aFill, aWidth ); } Many other CAD software also generate circles as multiple arcs instead of a full g75. Attached are my generated gerbers, 360 won't work, but 270, 359 and split arcs will work I believe.Do we really want to be in the business of working around other peoples broken software? I really don't want KiCad to be part of that world. It's one of the reasons I am willing to work on KiCad for free. While I appreciate your effort, this is something I would not commit unless we are violating the gerber specification which appears not to be the case if JP is correct. What we should be doing is sending high quality bug reports including references to the gerber specification, screen shots, files that cause the problem, etc. so the developers of the various broken gerber viewer apps and make it their responsibility to fix their code.
You bring up a good point. However, many of KiCad's users are interested in creating board designs that can be easily and accurately read by their board house suppliers. If the fix - using two half circles instead of one whole circle - can be read by broken board house software, why not use this fix in KiCad. Your approach - depending on upstream to fix a problem with an obvious fix - also assumes that the board house will acquire the software upgrade when it arrives. After some period of time, inspection of the upstream fix may disclose that they also substitute two half circles whenever they encounter a full circle in the design.
OK. However, the Gerber specification says: "Under G75, if the start point of the arc is equal to the end point, the arc is a full circle of 360°" See http://www.ucamco.com/files/downloads/file/81/the_gerber_file_format_specification.pdf?46dfe8d5c8aee229e773d81222fd4db4 page 55, chapter 4.4.6_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Thread Previous • Date Previous • Date Next • Thread Next |