Index: toolpath.c =================================================================== --- toolpath.c (revision 28461) +++ toolpath.c (revision 28462) @@ -296,6 +296,13 @@ result->remain->Clipped = rp; result->remain->Flags.f |= PCB_FLAG_FULLPOLY; } + + /* for positive polarity, simply swap the two polygons to invert the scene */ + if (polarity > 0) { + pcb_polyarea_t *tmp = result->remain; + result->remain = result->fill; + result->fill = tmp; + } } static pcb_cardinal_t trace_contour(pcb_board_t *pcb, pcb_tlp_session_t *result, int tool_idx, pcb_coord_t extra_offs) @@ -496,6 +503,11 @@ setup_remove_poly(pcb, result, grp, -1); setup = 1; } + if (strcmp(argv[0], "setup_positive") == 0) { + req_setup(0); + setup_remove_poly(pcb, result, grp, +1); + setup = 1; + } else if (strcmp(argv[0], "trace_contour") == 0) { int tool = 0; pcb_coord_t extra = 1000;