When I update symbols I lose all of my waived DRCs during refresh, is there a skill script to retain DRCs during refresh.
My goal is the to able to export waived DRCs, and once refresh is done I'd like to import it back without loosing default comments (should be at the same x,y coordinates)
Thanks in advance
This has been discussed before with most of us agreeing that it is undesirable to automatically waive drcs. However, I can see where tou are coming from with wanting to record the comments. If you compared the old drc with the new, and they were identical, you could reasonably safely waive and re-add the comment. This code would be relatively simple but I don't have anything useful for you. If you need help to develop the code yourself, let me know.
Dave Elder, Tait Communications
In reply to eDave:
Thank you Dave for your advice. Yes, old DRC with the new were identical and should be the same location. The only change were the footprint of the symbols (after update symbols). My PCB board has more than 3000 waived drc and they are different comments. Therefore I was wondering if you have any code out there for me to use or help me to develop the code. I would save me hours just to look for group of drc to be waive and add the comment --v/r Patrick
In reply to patricksingr:
Here's a simple answer. Run RecordWaivedDRCs to record the waived drcs. Run RestoreWaivedDRCs to restore the comment and the status.
defun( RecordWaivedDRCs ()
defvar(MyWaivedDRCs, mapcar(lambda((drc), cons(nil, append(drc ->??, list('comment drc ->prop ->COMMENT)))), axlDBGetDesign() ->waived))
defun( RestoreWaivedDRCs ()
foreach(drc, axlDBGetDesign() ->drcs
equivDrc = car(setof(waivedDRC, MyWaivedDRCs, forall(attr, '(xy, layer, source, expected, actual, name), get(waivedDRC, attr) == get(drc, attr))))
when(equivDrc, axlDRCWaive(t, drc, equivDrc ->comment))