----- Original Message ----- > From: jp charras <[email protected]> > To: [email protected] > Cc: > Sent: Wednesday, September 3, 2014 4:04 AM > Subject: Re: [Kicad-developers] Edge.Cuts layer in the module editor > > Le 02/09/2014 18:57, Wayne Stambaugh a écrit : >> On 9/1/2014 5:48 AM, Maciej Sumiński wrote: >>> It has been already a few weeks since the GAL module editor has been >>> merged. Among the introduced changes, there is support for Edge.Cuts >>> layer in modules. >>> As I have not received any bug reports related to the feature, does >>> anyone mind if I remove the error message ("This item has an > illegal >>> layer id.") that appears when one tries to edit properties of a > line >>> located on the Edges.Cuts layer? >>> There was also Lorenzo's proposal to add a toolbar button for > changing >>> width settings in the module editor. >>> If noone opposes the changes, I will take care of both. >>> >>> Regards, >>> Orson >>> >> >> I fine with it. I think have board edges in footprints makes sense. >> >> Wayne > > Orson, > Be careful with Edge.Cuts layer in modules. > If they are not currently allowed, this is because I have a good reason. > > In specctra export, and therefore in 3d viewer, we *need* a closed > polygon for board outline. > > Currently, yo build this outline, when searching for a Edge.Cuts segment > end near a given segment end, the max distance allowed to find this > segment is very small (currently 2 microns). > > It means if you create the board outline and the footprint outline > (and/or place it) using 2 different grids, I am pretty sure you'll have > an issue when searching "connected" segments to build the board > outline). > > You may have to enhance this search (for instance the max distance could > be related to segments thickness). > see SPECCTRA_DB::fillBOUNDARY(). > > Otherwise, just allowing Edge.Cuts segments in footprints is just a bug. > This is the only one reason they are not currently allowed. > > -- > Jean-Pierre CHARRAS >
I have suggested a solution for this before, but my proposal does break previous behavior and will require changes in many parts of the source. My idea was that since we now have enough technical layers we can have a layer for solid polygons and a layer for cutouts. Taking the case of an edge connector, a polygon can be placed on the cutout layer so that placing the footprint on the edge of the board will automatically cut out the correct profile. This scheme will also support the somewhat rare case of cutouts for mechanical features of an electronic component and will also solve the generic case of producing the correct board shape when a cutout extends beyond the edge of a board (as in the specific case of a card edge connector). With the current behavior, placing edges on a module's Edge.Cutout layer does not have a well-defined behavior. If the graphic is a closed loop then it will become a cutout if it is entirely inside the board outline, and if it extends to the left of the board outline then it becomes part of the solid board - another problem specific to that case is that if the cutout is circular and extends to the left then it becomes the entire board. Because the behavior is not well defined, we may get different results in different features of KiCad such as the 3D viewer, VRML export, and IDF export. The poorly defined behavior will obviously extend to the handling of KeepOut zones because we're not really sure whether something is a cutout or not. - Cirilo _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

