By 'segfault' I obviously meant assertion error. The Type() calls are returning:
a) PCB_MODULE_T b) PCB_ZONE_AREA_T Oliver On Tue, Oct 17, 2017 at 12:06 AM, Oliver Walters < [email protected]> wrote: > JP, > > Thanks for pointing out those errors. I have fixed the zone rotation bug > (patch attached to this email). > > The undo/redo behaviour is odd, I have now noticed something related > within the module editor window. > > If I make a change to a zone (add / remove / rotate / move / flip) then I > get a segfault. > > /pcbnew/undo_redo.cpp(581): assert "Type() == aImage->Type()" failed in >> SwapData(). > > > Orson has previously given me some (very much appreciated) pointers to get > me started on this feature. Perhaps either you or he have some further > insights? > > Thanks, > > Oliver > > On Mon, Oct 16, 2017 at 7:16 PM, jp charras <[email protected]> wrote: > >> Le 14/10/2017 à 23:20, Oliver Walters a écrit : >> > Friendly bump - has anyone had a chance to look at this? :) >> > >> > Oliver >> > >> > On 12 Oct 2017 00:30, "Oliver Walters" <[email protected] >> > <mailto:[email protected]>> wrote: >> > >> > Attached is a patch set that allows addition of keepout zones to >> footprints (modules). >> > >> > When embedded inside a module, a keepout can be specified on a >> combination of: >> > >> > a) F.Cu >> > b) All internal copper layers >> > c) B.Cu >> > >> > The patch set is working pretty well, save / load is working and >> you can add / edit / delete >> > keepout areas within the module editor. >> > >> > I have also added a new layer shortcut string *.In.Cu to specify >> all internal layers within a >> > saved file. >> > >> > There are a few issues that I need some help sorting out. >> > >> > 1. Displaying zones only on internal layers. >> > >> > If you create a keepout zone but edit the layers such that is only >> on the internal copper >> > layers, then it will disappear in the module editor. This is >> because only F.Cu and B.Cu layers >> > are available in the module editor. I'm not sure how to display the >> zone in this case, and allow >> > the user to edit it once it has disappeared. >> > >> > 2. Editing zone in pcbnew >> > >> > Once a module is loaded into pcbnew, I want to be able to modify >> the zone properties. e.g. >> > disable for a certain internal layer, or adjust the outline of the >> zone. In the same way that >> > you can individually edit a pad once a module is added to a PCB. >> > >> > Strangely I had this working at one point but I can't work out what >> I changed to break it... >> > >> > >> > As far as I can tell, the DRC and zone cutouts are working well for >> keepout areas that are added >> > to a board via a footprint. >> > >> > Let me know if you see any crashes or mistakes, and if you can >> provide pointers for the two >> > outstanding items above. >> > >> > Thanks, >> > >> > Oliver >> >> Hi Oliver, >> >> I tested your patch, but I have found a few serious issues when editing a >> footprint with keepout >> zone on a board: >> >> - the rotation does not work (incorrect position of the keepout after >> rotation) >> - Undoing/redoing a move, rotation... is fully broken and creates >> multiple copies of the keepout, >> and I had a crash after playing with undo/redo. >> >> Thanks. >> >> -- >> 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 >> > >
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

