Index: trunk/doc/conf/tree/editor.html =================================================================== --- trunk/doc/conf/tree/editor.html (revision 31889) +++ trunk/doc/conf/tree/editor.html (revision 31890) @@ -43,6 +43,7 @@ move_linepoint_uses_route rnd_cfn_boolean 0 Moving a line point calculates a new line route. This allows 45/90 line modes when editing lines. auto_via rnd_cfn_boolean 0 when drawing traces and switching layers or when moving an object from one layer to another, try to keep connections by automatically inserting vias. route_radius rnd_cfn_real 0 temporary: route draw helper's arc radius at corners (factor of the trace thickness) + drc_inclusive_bbox rnd_cfn_boolean 0 when enabled, the drc view will always include all red and blue objects (turns off optimization that focuses on red objects) io_incomp_popup rnd_cfn_boolean 0 wether to enable popping up the io incompatibility list dialog on save incompatibility errors io_incomp_style rnd_cfn_string 0 view listing style (list or simple), when io_incomp_popup is true click_time rnd_cfn_integer 0 default time for click expiration, in ms Index: trunk/src/conf_core.h =================================================================== --- trunk/src/conf_core.h (revision 31889) +++ trunk/src/conf_core.h (revision 31890) @@ -58,7 +58,9 @@ RND_CFT_BOOLEAN move_linepoint_uses_route; /* Moving a line point calculates a new line route. This allows 45/90 line modes when editing lines. */ RND_CFT_BOOLEAN auto_via; /* when drawing traces and switching layers or when moving an object from one layer to another, try to keep connections by automatically inserting vias. */ RND_CFT_REAL route_radius; /* temporary: route draw helper's arc radius at corners (factor of the trace thickness) */ + RND_CFT_BOOLEAN drc_inclusive_bbox; /* when enabled, the drc view will always include all red and blue objects (turns off optimization that focuses on red objects) */ + RND_CFT_BOOLEAN io_incomp_popup; /* wether to enable popping up the io incompatibility list dialog on save incompatibility errors */ RND_CFT_STRING io_incomp_style; /* view listing style (list or simple), when io_incomp_popup is true */ Index: trunk/src/pcb-conf.lht =================================================================== --- trunk/src/pcb-conf.lht (revision 31889) +++ trunk/src/pcb-conf.lht (revision 31890) @@ -52,6 +52,7 @@ click_time = 200 click_objlist = 0 auto_via = 1 + drc_inclusive_bbox = 0; io_incomp_popup = 1 io_incomp_style = list ha:view { Index: trunk/src/view.c =================================================================== --- trunk/src/view.c (revision 31889) +++ trunk/src/view.c (revision 31890) @@ -45,6 +45,8 @@ #include #include +#include "conf_core.h" + static unsigned long int pcb_view_next_uid = 0; void pcb_view_free(pcb_view_t *item) @@ -175,7 +177,7 @@ return; /* special case: single objet in group A, use the center */ - if (pcb_idpath_list_length(&v->objs[0]) == 1) { + if (!conf_core.editor.drc_inclusive_bbox && (pcb_idpath_list_length(&v->objs[0]) == 1)) { idp = pcb_idpath_list_first(&v->objs[0]); obj = pcb_idpath2obj_in(data, idp); if (obj != NULL) { Index: trunk/tests/drc_query/Makefile =================================================================== --- trunk/tests/drc_query/Makefile (revision 31889) +++ trunk/tests/drc_query/Makefile (revision 31890) @@ -4,7 +4,7 @@ TDIR=../tests/drc_query FLT=$(TDIR)/drc_filter.sh PCBRND=./pcb-rnd -GLOBARGS=-c rc/library_search_paths=../tests/RTT/lib -c rc/quiet=1 +GLOBARGS=-c rc/library_search_paths=../tests/RTT/lib -c rc/quiet=1 -c editor/drc_inclusive_bbox=1 TESTS = \ thickness.diff overlap.diff netint.diff dwg_area.diff fullpoly.diff \ Index: trunk/tests/drc_query/netint.ref =================================================================== --- trunk/tests/drc_query/netint.ref (revision 31889) +++ trunk/tests/drc_query/netint.ref (revision 31890) @@ -1,15 +1,15 @@ x: shorted nets: net too close to other net -within (36.40, 86.95, 124.64, 149.65) mil +within (23.98, 7.31, 126.02, 183.43) mil required value 0.00 insufficient clearance between an object of the network and objects of other networks x: shorted nets: net too close to other net -within (27.91, 7.31, 90.61, 183.43) mil +within (23.98, 7.31, 126.02, 183.43) mil required value 0.00 insufficient clearance between an object of the network and objects of other networks x: broken net: insufficient overlap -within (18.65, 113.55, 81.35, 227.25) mil +within (17.50, 111.25, 91.76, 248.01) mil required value 0.00 the overlap between two objects in the net is insufficient and can lead to broken network during board fabrication Index: trunk/tests/drc_query/overlap.ref =================================================================== --- trunk/tests/drc_query/overlap.ref (revision 31889) +++ trunk/tests/drc_query/overlap.ref (revision 31890) @@ -1,5 +1,5 @@ x: pair hole: overlapping holes -within (20.00, 145.00, 130.00, 255.00) mil +within (20.00, 116.88, 130.00, 258.13) mil required value 31.50 mil measured value 25.00 mil padstack holes overlap Index: trunk/tests/drc_query/zone_clr.ref =================================================================== --- trunk/tests/drc_query/zone_clr.ref (revision 31889) +++ trunk/tests/drc_query/zone_clr.ref (revision 31890) @@ -1,10 +1,10 @@ x: shorted nets: net too close to other net (zone) -within (396.78, 168.65, 678.22, 231.35) mil +within (396.78, 131.15, 678.22, 568.85) mil required value 20.00 mil insufficient clearance between an object of the network and objects of other networks x: shorted nets: net too close to other net (zone) -within (362.40, 293.65, 487.60, 356.35) mil +within (362.40, 284.28, 487.60, 440.72) mil required value 20.00 mil insufficient clearance between an object of the network and objects of other networks