Index: trunk/src/conf_core.h =================================================================== --- trunk/src/conf_core.h (revision 31212) +++ trunk/src/conf_core.h (revision 31213) @@ -170,6 +170,10 @@ RND_CFT_STRING fab_author; /* Full name of author for FAB drawings */ RND_CFT_STRING initial_layer_stack; /* deprecated. */ + struct { + RND_CFT_REAL poly_scale; /* scale thermal bridges around polygons; 1.000 is the original size */ + } thermal; + RND_CFT_COORD paste_adjust; /* Adjust paste thickness */ } design; Index: trunk/src/thermal.c =================================================================== --- trunk/src/thermal.c (revision 31212) +++ trunk/src/thermal.c (revision 31213) @@ -33,6 +33,7 @@ #include "data.h" #include "draw.h" #include "undo.h" +#include "conf_core.h" #include "obj_common.h" #include "obj_pstk.h" #include "obj_pstk_inlines.h" @@ -447,7 +448,7 @@ /* combine a round clearance line set into pres; "it" is an iterator already initialized to a polyarea contour */ -static void polytherm_round(rnd_polyarea_t **pres, pcb_poly_it_t *it, rnd_coord_t clr, rnd_bool is_diag) +static void polytherm_round(rnd_polyarea_t **pres, pcb_poly_it_t *it, rnd_coord_t clr, rnd_bool is_diag, double tune) { rnd_polyarea_t *ptmp, *p; double fact = 0.5, fact_ortho=0.75; @@ -457,6 +458,10 @@ char cong[CONG_MAX]; clr -= 2; + if (tune > 0) { + fact *= tune; + fact_ortho *= tune; + } cong_map(cong, it, clr); @@ -637,7 +642,7 @@ /* generate the clear-lines */ pl = pcb_poly_contour(it); if (pl != NULL) - polytherm_round(pres, it, clr, is_diag); + polytherm_round(pres, it, clr, is_diag, conf_core.design.thermal.poly_scale); } /* generate sharp thermal around a polyarea specified by the iterator */