From 45b1ff8abf64cfc05c6ab2c86b61f33f28a86ba8 Mon Sep 17 00:00:00 2001 From: Britton Leo Kerin Date: Thu, 14 May 2020 15:47:21 -0800 Subject: [PATCH 1/2] DRC warn for each copper poly with "fullpoly" --- src/drc/drc.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/drc/drc.c b/src/drc/drc.c index 1ddff50a..8f23103d 100644 --- a/src/drc/drc.c +++ b/src/drc/drc.c @@ -774,7 +774,30 @@ DRCAll (void) } LockUndo(); /* Don't need to add all of these things */ - + + COPPERPOLYGON_LOOP (PCB->Data); + { + if ( TEST_FLAG(FULLPOLYFLAG, polygon) ) { + SetThing (1, POLYGON_TYPE, layer, polygon, polygon); + object_list_clear(vobjs); + object_list_append(vobjs, &thing1); + violation = pcb_drc_violation_new ( + "Warning: Copper polygon with the \"fullpoly\" flag", + "This flag can cause PCB to entirely miss connections to parts of\n" + "the polygon in some cases. Consider using separate polygons \n" + "without this flag instead.", + -1, -1, /* x, y, compute automatically */ + 0, /* ANGLE OF ERROR UNKNOWN */ + FALSE, /* MEASUREMENT OF ERROR UNKNOWN */ + 0, + 0, + vobjs); + append_drc_violation (violation); + pcb_drc_violation_free (violation); + } + } + ENDALL_LOOP; + ELEMENT_LOOP (PCB->Data); { PIN_LOOP (element); -- 2.13.3