Index: detour/4_appendix.html =================================================================== --- detour/4_appendix.html (revision 902) +++ detour/4_appendix.html (revision 903) @@ -185,3 +185,25 @@ detour calculation this is a bit worse, because not the whole bent network is moved, only the tiny veryical line segment in the middle between b and c so the drawing on c becomes something like d. + +

4.1.8. Geometry: blocking spiral

+

+In case of the following spiral (blue net), the low level algorithm is unable +to find the otherwise clearly available path for N1. The reason is that this +is the "one endpoint in the hull, other endpoint outside of the hull" case, +which means a clear sight of line is searched between the inner endpoint +and the naked hull. +

+

+

+

Figure 4/8. Spiral can block the low level hull based algorithm. +

+

+Note: the problem is not present if the blue net is split into two sections +anywhere on the east or south wall (to the right from the conflict), because +each section is searched separately. That is, the inner part of the spiral is +in conflict first, which can be detoured through the second segment, then the +second segment conflict is resolved without considering the first segment, then +the first segment is conflicted again, etc. So the blocker is not that the +final path is a spiral. + Index: detour/img/Makefile =================================================================== --- detour/img/Makefile (revision 902) +++ detour/img/Makefile (revision 903) @@ -5,6 +5,7 @@ ex_multi1.png \ ex_order.png \ ex_osc.png \ + ex_spiral.png \ ex_topo.png \ ex_zigzag.png \ geo_go_around.png \ Index: detour/img/ex_spiral.lht =================================================================== --- detour/img/ex_spiral.lht (nonexistent) +++ detour/img/ex_spiral.lht (revision 903) @@ -0,0 +1,292 @@ +ha:pcb-rnd-board-v7 { + ha:meta { + ha:size { + thermal_scale = 0.500000 + x = 17.5mm + y = 22.25mm + } + ha:grid { + spacing = 0.25mm + offs_x = 0.0 + offs_y = 0.0 + } + } + ha:layer_stack { + li:groups { + ha:0 { + ha:attributes { + thickness = {0.7375mm } + } + ha:type { + substrate = 1 + intern = 1 + } + li:layers { + } + name = grp_4 + } + ha:1 { + ha:attributes { + thickness = {0.125mm } + } + ha:type { + substrate = 1 + intern = 1 + } + li:layers { + } + name = grp_6 + } + ha:2 { + ha:attributes { + thickness = {0.7375mm } + } + ha:type { + substrate = 1 + intern = 1 + } + li:layers { + } + name = grp_8 + } + ha:3 { + ha:attributes { + init-invis = 0 + } + purpose = fab + ha:type { + top = 1 + doc = 1 + } + li:layers { + 0 + } + name = top-doc + } + ha:4 { + ha:attributes { + init-invis = 0 + } + purpose = fab + ha:type { + top = 1 + doc = 1 + } + li:layers { + 1 + } + name = top-doc + } + ha:5 { + ha:attributes { + init-invis = 0 + } + purpose = fab + ha:type { + top = 1 + doc = 1 + } + li:layers { + 2 + } + name = top-doc + } + ha:6 { + ha:attributes { + init-invis = 0 + } + purpose = fab + ha:type { + top = 1 + doc = 1 + } + li:layers { + 3 + } + name = top-doc + } + ha:7 { + purpose = fab + ha:type { + top = 1 + doc = 1 + } + li:layers { + 4 + } + name = top-doc + } + } + } + li:styles { + ha:normal { + diameter = 2.2mm + text_scale = 200 + text_thick = 1.0mm + thickness = 1.0mm + hole = 2.0mm + clearance = 20.0mil + } + ha:thick { + diameter = 2.2mm + text_scale = 0 + text_thick = 0.0 + thickness = 1.7mm + hole = 1.0mm + clearance = 20.0mil + } + ha:thin { + diameter = 137.8mil + text_scale = 0 + text_thick = 0.0 + thickness = 0.35mm + hole = 47.24mil + clearance = 25.0mil + } + ha:thinner { + diameter = 1.5mm + text_scale = 100 + text_thick = 0.0 + thickness = 0.15mm + hole = 0.9mm + clearance = 25.0mil + } + } + li:pcb-rnd-conf-v1 { + ha:overwrite { + ha:design { + text_font_id = 0 + text_scale = 100 + via_thickness = 137.80 mil + via_drilling_hole = 47.24 mil + text_thickness = 0 + line_thickness = 350.00 um + clearance = 25.00 mil + } + ha:editor { + wireframe_draw = false + grid_unit = mm + grids_idx = 10 + grid = 250.00 um + buffer_number = 1 + all_direction_lines = true + } + } + } + ha:data { + li:padstack_prototypes { + unused = 1 + unused = 1 + unused = 1 + unused = 1 + unused = 1 + unused = 1 + } + li:objects { + } + li:layers { + ha:draft { + lid = 0 + li:objects { + ha:arc.6460 { + x=10.25mm; y=8.25mm; width=0.6mm; height=0.6mm; astart=0.000000; adelta=360.000000; thickness=0.8mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:arc.6461 { + x=10.25mm; y=20.25mm; width=0.6mm; height=0.6mm; astart=0.000000; adelta=360.000000; thickness=0.8mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + } + color = {#757575} + group = 3 + ha:combining { + } + } + ha:ratlines { + lid = 1 + li:objects { + ha:line.6462 { + x1=10.25mm; y1=8.25mm; x2=10.25mm; y2=20.25mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:text.6465 { + string=N1; x=10.75mm; y=9.75mm; scale=100; fid=0; + ha:flags { + clearline=1 + } + rot = 0.000000 + } + } + color = {#d3a232} + group = 4 + ha:combining { + } + } + ha:wires { + lid = 2 + li:objects { + ha:line.6812 { + x1=11.75mm; y1=6.0mm; x2=6.25mm; y2=6.0mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.6815 { + x1=6.25mm; y1=6.0mm; x2=6.25mm; y2=13.0mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.6818 { + x1=6.25mm; y1=13.0mm; x2=16.25mm; y2=13.0mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.6830 { + x1=16.25mm; y1=13.0mm; x2=16.25mm; y2=1.0mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.6833 { + x1=16.25mm; y1=1.0mm; x2=1.0mm; y2=1.0mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + } + color = {#104e8b} + group = 5 + ha:combining { + } + } + ha:annotation { + lid = 3 + li:objects { + } + color = {#cd3700} + group = 6 + ha:combining { + } + } + ha:top-doc { + lid = 4 + li:objects { + } + color = {#548b54} + group = 7 + ha:combining { + } + } + } + } + ha:pixmaps { + } +} Index: detour/img/ex_spiral.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: detour/img/ex_spiral.png =================================================================== --- detour/img/ex_spiral.png (nonexistent) +++ detour/img/ex_spiral.png (revision 903) Property changes on: detour/img/ex_spiral.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property