Le 13/07/2015 23:46, Tomasz Wlostowski a écrit : > Hi, > > We've pushed a branch [1] to Launchpad, which removes remaining > Boost::polygon-based code from Kicad. The patch affects several features > of pcbnew - we need your help to test it as extensively as possible: > - zone filling calculations (both with segments and as solid polygons) > - dead copper removal in zones (also touches ratsnest, in both views) > - 3D viewer > - DXF board outline export > - plotting zones, solder mask layers and board outline > - VRML export. > The only program that still uses BPL is bitmap2component. > > Going into technical details, the patch extends SHAPE_POLY_SET with > remaining features of CPOLYGONS_LIST (+ point inside polygon check) and > replaces all CPOLYGONS_LIST instances except the m_CornersList member of > CPolyLine class. We didn't touch the CPolyLine class yet, although the > next item on the list would be porting CPolyLine::Chamfer/Fillet/Hatch > methods to SHAPE_POLY_SET and come up with a single, universal polygon > set class. > > We've also removed a number of lines of code that became obsolete - for > instance the functions for converting between boost::polygon, Clipper > and CPOLYGONS_LIST or implicit polygon slitting done with Boost (now a > single call of SHAPE_POLY_SET::Fracture), so in the end Kicad lost a bit > of weight ;) > > Many thanks to Orson for testing & helping myself with Bazaar. > > Cheers, > Tom > > [1] https://code.launchpad.net/~orsonmmz/kicad/depolygonized
Thanks to Orson and you. I tested this version with a few boards (basic and very complex) Time to fill zones and rebuild the 3D scene is roughly the same as the current version (sometimes faster, sometimes longer, but comparable). However, I have 2 boards where the copper zones filling does not work. (zones not filled) There is also issues when combining a cutout area with the existing outlines of a given zone: When the cutout outline intersect the main outline, the cutout area outside the main outline is filled. The cutout area outside the main outline should be removed: the cutout area is not a keepout, just the area which should be removed (subtracted) from an existing zone, and any area outside the initial zone should be removed. When a cutout zone is added to an other cutout zone and overlaps it (inside a main zone outline), the merging of these 2 zones is incorrect and gives strange result. This is easy to test using non copper zones. -- Jean-Pierre CHARRAS _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

