I got stuck while designing Ronja - I had a small polygon inside a big one which was not joining a via and I needed to make it join via. The easiest way I found how to accomplish this was using external program gcc ;-) Then I could select the polygon and simply issue command changejoin(selected).
diff -pur pcb-20060422/doc/actions.texi pcb-20060422-patched/doc/actions.texi --- pcb-20060422/doc/actions.texi 2006-04-21 03:54:32.000000000 +0200 +++ pcb-20060422-patched/doc/actions.texi 2006-05-15 08:52:01.000000000 +0200 @@ -95,7 +95,7 @@ Affects all objects which are both selec * ChangeDrillSize Action:: Changes the drilling hole size of objects. * ChangeFlag Action:: Sets or clears flags on objects. * ChangeHole Action:: Changes the hole flag of objects. -* ChangeJoin Action:: Changes the join (clearance through polygons) of objects. +* ChangeJoin Action:: Changes the join (clearance through polygons) of lines, arcs and polygons. * ChangeName Action:: Sets the name of objects. * ChangeOctagon Action:: Changes the octagon-flag of pins and vias. * ChangePinName Action:: Sets the name of a specific pin on a specific element. @@ -367,7 +367,7 @@ plated-through hole (not set), or an unp ChangeJoin(ToggleObject|SelectedLines|SelectedArcs|Selected)@end format @end cartouche -Changes the join (clearance through polygons) of objects. +Changes the join (clearance through polygons) of lines, arcs and polygons. @c ./../src/action.c 3441 The join flag determines whether a line or arc, drawn to intersect a Only in pcb-20060422-patched/doc: Makefile diff -pur pcb-20060422/doc/pcb.html pcb-20060422-patched/doc/pcb.html --- pcb-20060422/doc/pcb.html 2006-04-22 21:17:22.000000000 +0200 +++ pcb-20060422-patched/doc/pcb.html 2006-05-15 08:52:32.000000000 +0200 @@ -6626,7 +6626,8 @@ Up: <a rel="up" accesskey="u" href= <li><a accesskey="7" href="#ChangeDrillSize%20Action">ChangeDrillSize Action</a>: Changes the drilling hole size of objects. <li><a accesskey="8" href="#ChangeFlag%20Action">ChangeFlag Action</a>: Sets or clears flags on objects. <li><a accesskey="9" href="#ChangeHole%20Action">ChangeHole Action</a>: Changes the hole flag of objects. -<li><a href="#ChangeJoin%20Action">ChangeJoin Action</a>: Changes the join (clearance through polygons) of objects. +<li><a href="#ChangeJoin%20Action">ChangeJoin Action</a>: Changes the +join (clearance through polygons) of lines, arcs and polygons. <li><a href="#ChangeName%20Action">ChangeName Action</a>: Sets the name of objects. <li><a href="#ChangeOctagon%20Action">ChangeOctagon Action</a>: Changes the octagon-flag of pins and vias. <li><a href="#ChangePinName%20Action">ChangePinName Action</a>: Sets the name of a specific pin on a specific element. diff -pur pcb-20060422/doc/pcb.info-1 pcb-20060422-patched/doc/pcb.info-1 --- pcb-20060422/doc/pcb.info-1 2006-04-22 21:17:21.000000000 +0200 +++ pcb-20060422-patched/doc/pcb.info-1 2006-05-15 08:51:55.000000000 +0200 @@ -5889,7 +5889,7 @@ Core actions * ChangeDrillSize Action:: Changes the drilling hole size of objects. * ChangeFlag Action:: Sets or clears flags on objects. * ChangeHole Action:: Changes the hole flag of objects. -* ChangeJoin Action:: Changes the join (clearance through polygons) of objects. +* ChangeJoin Action:: Changes the join (clearance through polygons) of lines, arcs and polygons. * ChangeName Action:: Sets the name of objects. * ChangeOctagon Action:: Changes the octagon-flag of pins and vias. * ChangePinName Action:: Sets the name of a specific pin on a specific element. diff -pur pcb-20060422/src/action.c pcb-20060422-patched/src/action.c --- pcb-20060422/src/action.c 2006-04-13 13:45:40.000000000 +0200 +++ pcb-20060422-patched/src/action.c 2006-05-15 08:53:02.000000000 +0200 @@ -3967,7 +3967,7 @@ static const char changejoin_syntax[] = "ChangeJoin(ToggleObject|SelectedLines|SelectedArcs|Selected)"; static const char changejoin_help[] = -"Changes the join (clearance through polygons) of objects."; +"Changes the join (clearance through polygons) of lines, arcs and polygons."; /* %start-doc actions ChangeJoin diff -pur pcb-20060422/src/change.c pcb-20060422-patched/src/change.c --- pcb-20060422/src/change.c 2006-03-28 06:29:19.000000000 +0200 +++ pcb-20060422-patched/src/change.c 2006-05-15 08:43:47.000000000 +0200 @@ -215,7 +215,7 @@ static ObjectFunctionType ChangeSquareFu static ObjectFunctionType ChangeJoinFunctions = { ChangeLineJoin, NULL, - NULL, + ChangePolyClear, NULL, NULL, NULL, diff -pur pcb-20060422/src/change.h pcb-20060422-patched/src/change.h --- pcb-20060422/src/change.h 2006-03-23 00:17:20.000000000 +0100 +++ pcb-20060422-patched/src/change.h 2006-05-15 08:42:52.000000000 +0200 @@ -56,7 +56,7 @@ (ELEMENT_TYPE | PIN_TYPE | VIA_TYPE) #define CHANGEJOIN_TYPES \ - (ARC_TYPE | LINE_TYPE) + (ARC_TYPE | LINE_TYPE | POLYGON_TYPE) #define CHANGETHERMAL_TYPES \ (PIN_TYPE | VIA_TYPE) diff -pur pcb-20060422/src/hid/gtk/gui-command-window.c pcb-20060422-patched/src/hid/gtk/gui-command-window.c --- pcb-20060422/src/hid/gtk/gui-command-window.c 2006-04-18 03:48:10.000000000 +0200 +++ pcb-20060422-patched/src/hid/gtk/gui-command-window.c 2006-05-15 08:53:21.000000000 +0200 @@ -102,7 +102,7 @@ static gchar *command_ref_text[] = { "\n", "<b>changejoin(target)\n", "\ttarget = {object | selectedlines | selectedarcs | selected}\n", - N_("\tChanges the join (clearance through polygons) of objects.\n"), + N_("\tChanges the join (clearance through polygons) of lines, arcs and polygons.\n"), "\n", "<b>changesquare(target)\n", "<b>setsquare(target)\n",