Index: trunk/src/draw.c =================================================================== --- trunk/src/draw.c (revision 27764) +++ trunk/src/draw.c (revision 27765) @@ -589,6 +589,11 @@ /* draw padstack holes - copper is drawn with each group */ if (PCB->pstk_on || !pcb_render->gui) { pcb_draw_pstk_holes(info, group, PCB_PHOLE_PLATED | PCB_PHOLE_UNPLATED | PCB_PHOLE_BB); + if ( + !pcb_render->gui /* on the gui padstacks can be turned off separately so we shouldn't enforce drawing the slot in it; on export, copper is copper, no matter if it is coming from a padstack: slot always needs to be drawn */ + && !info->xform_caller->no_slot_in_nonmech /* keep the output cleaner in some exporters, like gerber, where solid copper is drawn anyway */ + ) + pcb_draw_pstk_slots(info, group, PCB_PHOLE_PLATED | PCB_PHOLE_UNPLATED | PCB_PHOLE_BB); } } Index: trunk/src/obj_common.h =================================================================== --- trunk/src/obj_common.h (revision 27764) +++ trunk/src/obj_common.h (revision 27765) @@ -97,6 +97,7 @@ unsigned layer_faded:1; /* draw layer colors faded */ unsigned omit_overlay:1; /* do not draw overlays (which are useful on screen but normally omitted on exports, except if --as-shown is specified */ unsigned partial_export:1; /* 1 if only objects with the EXPORTSEL flag should be drawn */ + unsigned no_slot_in_nonmech:1; /* if 1, do not draw slots on non-mechanical layers (e.g. "no slot in copper") */ /* WARNING: After adding new fields, make sure to update pcb_xform_add() and pcb_xform_is_nop() below */ }; @@ -110,8 +111,9 @@ __dst__->layer_faded |= __src__->layer_faded; \ __dst__->omit_overlay |= __src__->omit_overlay; \ __dst__->partial_export |= __src__->partial_export; \ + __dst__->no_slot_in_nonmech |= __src__->no_slot_in_nonmech; \ } while(0) -#define pcb_xform_is_nop(src) (((src)->bloat == 0) && ((src)->layer_faded == 0) && ((src)->omit_overlay == 0) && ((src)->partial_export == 0)) +#define pcb_xform_is_nop(src) (((src)->bloat == 0) && ((src)->layer_faded == 0) && ((src)->omit_overlay == 0) && ((src)->partial_export == 0) && ((src)->no_slot_in_nonmech == 0)) /* Returns true if overlay drawing should be omitted */ #define pcb_xform_omit_overlay(info) \