Index: detour/3_hull.html =================================================================== --- detour/3_hull.html (revision 895) +++ detour/3_hull.html (revision 896) @@ -177,7 +177,7 @@

-

+

Figure 3/6. a. N1 inside N3, crossing edges; b. spokes and convex hull; c. path chosen; d. same case but no crossing; e. spokes and convex hull; f. path chosen; @@ -191,10 +191,17 @@

  • the other half is the resulting path; replace the offending line with this path -TODO: zig-zag example: if the vertical dashed line is intersected from both +

    +TODO: However, this will break in the following case: +

    +

    +

    Figure 3/x. zig-zag example: if the vertical dashed line is intersected from both left and right by N3, the hull won't work! probably go "one-by-one"? +

    +

    +

    3.4. Switch-layer cases: V1, V2, V3

    First exclude V1 or V2 depending on the existing objects on offending N1 Index: detour/img/Makefile =================================================================== --- detour/img/Makefile (revision 895) +++ detour/img/Makefile (revision 896) @@ -10,6 +10,7 @@ geo_hnear.png \ geo_hpierce.png \ geo_hwallin.png \ + geo_hwallin_brk.png \ topo_cross1.png \ topo_cross2.png \ topo_cross3.png Index: detour/img/geo_hpierce.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: detour/img/geo_hwallin_brk.lht =================================================================== --- detour/img/geo_hwallin_brk.lht (nonexistent) +++ detour/img/geo_hwallin_brk.lht (revision 896) @@ -0,0 +1,643 @@ +ha:pcb-rnd-board-v7 { + + 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 = 275.6mil + text_scale = 100 + text_thick = 0.0 + thickness = 0.15mm + hole = 47.24mil + clearance = 25.0mil + } + } + + ha:meta { + ha:size { + thermal_scale = 0.500000 + x = 40.25mm + y = 39.5mm + } + ha:grid { + spacing = 0.25mm + offs_x = 0.0 + offs_y = 0.0 + } + } + + ha:data { + li:padstack_prototypes { + + unused = 1 + unused = 1 + unused = 1 + } + + li:objects { + } + li:layers { + + + ha:draft { + lid=0 + group=3 + ha:combining { } + + li:objects { + ha:line.5859 { + x1=31.25mm; y1=25.25mm; x2=31.25mm; y2=30.25mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5865 { + x1=29.5mm; y1=29.5mm; x2=32.75mm; y2=26.25mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5868 { + x1=28.75mm; y1=27.75mm; x2=33.75mm; y2=27.75mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5874 { + x1=33.0mm; y1=29.5mm; x2=27.5mm; y2=24.0mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5877 { + x1=27.5mm; y1=27.5mm; x2=30.75mm; y2=24.25mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5880 { + x1=26.75mm; y1=25.75mm; x2=31.75mm; y2=25.75mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5883 { + x1=29.25mm; y1=28.25mm; x2=29.25mm; y2=19.0mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5886 { + x1=27.5mm; y1=19.75mm; x2=31.0mm; y2=23.25mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5889 { + x1=27.5mm; y1=23.25mm; x2=30.75mm; y2=20.0mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5892 { + x1=26.75mm; y1=21.5mm; x2=31.75mm; y2=21.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5895 { + x1=31.25mm; y1=18.0mm; x2=31.25mm; y2=23.0mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5898 { + x1=29.5mm; y1=18.75mm; x2=33.0mm; y2=22.25mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5901 { + x1=29.5mm; y1=22.25mm; x2=32.75mm; y2=19.0mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5904 { + x1=28.75mm; y1=20.5mm; x2=33.75mm; y2=20.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5910 { + x1=29.5mm; y1=10.75mm; x2=33.0mm; y2=14.25mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5913 { + x1=29.5mm; y1=14.25mm; x2=32.75mm; y2=11.0mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5916 { + x1=28.75mm; y1=12.5mm; x2=33.75mm; y2=12.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5919 { + x1=31.25mm; y1=15.0mm; x2=31.25mm; y2=7.75mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5922 { + x1=29.5mm; y1=8.5mm; x2=33.0mm; y2=12.0mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5925 { + x1=29.5mm; y1=12.0mm; x2=32.75mm; y2=8.75mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5928 { + x1=28.75mm; y1=10.25mm; x2=33.75mm; y2=10.25mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5931 { + x1=32.75mm; y1=9.0mm; x2=32.75mm; y2=14.0mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5934 { + x1=31.0mm; y1=9.75mm; x2=34.5mm; y2=13.25mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5937 { + x1=31.0mm; y1=13.25mm; x2=34.25mm; y2=10.0mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5940 { + x1=30.25mm; y1=11.5mm; x2=35.25mm; y2=11.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:arc.5319 { + x=9.75mm; y=33.75mm; width=0.6mm; height=0.6mm; astart=0.000000; adelta=360.000000; thickness=0.8mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:arc.5320 { + x=9.75mm; y=3.75mm; width=0.6mm; height=0.6mm; astart=0.000000; adelta=360.000000; thickness=0.8mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:arc.5801 { + x=31.25mm; y=33.75mm; width=0.6mm; height=0.6mm; astart=0.000000; adelta=360.000000; thickness=0.8mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:arc.5802 { + x=31.25mm; y=3.75mm; width=0.6mm; height=0.6mm; astart=0.000000; adelta=360.000000; thickness=0.8mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + } + color = {#757575} + } + ha:ratlines { + lid=1 + group=4 + ha:combining { } + + li:objects { + ha:line.1758 { + x1=9.75mm; y1=3.75mm; x2=9.75mm; y2=6.75mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.1761 { + x1=9.75mm; y1=9.5mm; x2=9.75mm; y2=13.25mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.1764 { + x1=9.75mm; y1=15.5mm; x2=9.75mm; y2=17.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.1767 { + x1=9.75mm; y1=19.75mm; x2=9.75mm; y2=22.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.1770 { + x1=9.75mm; y1=33.75mm; x2=9.75mm; y2=26.75mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5803 { + x1=31.25mm; y1=3.75mm; x2=31.25mm; y2=6.75mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5806 { + x1=31.25mm; y1=9.5mm; x2=31.25mm; y2=13.25mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5809 { + x1=31.25mm; y1=15.5mm; x2=31.25mm; y2=17.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5812 { + x1=31.25mm; y1=19.75mm; x2=31.25mm; y2=22.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5815 { + x1=31.25mm; y1=33.75mm; x2=31.25mm; y2=26.75mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:text.2044 { + string=N1; x=8.25mm; y=6.0mm; scale=100; fid=0; + ha:flags { + clearline=1 + } + rot = 0.000000 + } + ha:text.5818 { + string=N1; x=29.75mm; y=6.0mm; scale=100; fid=0; + ha:flags { + clearline=1 + } + rot = 0.000000 + } + } + color = {#d3a232} + } + + ha:wires { + lid=2 + group=5 + ha:combining { } + + li:objects { + ha:line.3896 { + x1=16.5mm; y1=1.25mm; x2=1.25mm; y2=2.25mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.3899 { + x1=1.25mm; y1=2.25mm; x2=11.25mm; y2=11.5mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.3911 { + x1=17.25mm; y1=17.0mm; x2=16.5mm; y2=1.25mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5557 { + x1=11.25mm; y1=11.5mm; x2=4.75mm; y2=16.25mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5560 { + x1=4.75mm; y1=16.25mm; x2=4.75mm; y2=35.5mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5563 { + x1=4.75mm; y1=35.5mm; x2=17.5mm; y2=35.5mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5569 { + x1=17.5mm; y1=35.5mm; x2=7.75mm; y2=25.75mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5575 { + x1=17.25mm; y1=17.0mm; x2=7.75mm; y2=21.5mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5578 { + x1=7.75mm; y1=21.5mm; x2=7.75mm; y2=25.75mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5819 { + x1=38.0mm; y1=1.25mm; x2=22.75mm; y2=2.25mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5822 { + x1=22.75mm; y1=2.25mm; x2=32.75mm; y2=11.5mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5825 { + x1=38.75mm; y1=17.0mm; x2=38.0mm; y2=1.25mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5828 { + x1=32.75mm; y1=11.5mm; x2=26.25mm; y2=16.25mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5831 { + x1=26.25mm; y1=16.25mm; x2=26.25mm; y2=35.5mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5834 { + x1=26.25mm; y1=35.5mm; x2=39.0mm; y2=35.5mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5837 { + x1=39.0mm; y1=35.5mm; x2=29.25mm; y2=25.75mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5840 { + x1=38.75mm; y1=17.0mm; x2=29.25mm; y2=21.5mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5843 { + x1=29.25mm; y1=21.5mm; x2=29.25mm; y2=25.75mm; thickness=0.35mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:text.5984 { + string=a; x=4.75mm; y=36.25mm; scale=200; fid=0; + ha:flags { + clearline=1 + } + rot = 0.000000 + } + ha:text.5985 { + string=b; x=26.25mm; y=36.25mm; scale=200; fid=0; + ha:flags { + clearline=1 + } + rot = 0.000000 + } + } + color = {#104e8b} + } + + ha:annotation { + lid=3 + group=6 + ha:combining { } + + li:objects { + ha:line.5949 { + x1=31.25mm; y1=33.75mm; x2=27.5mm; y2=27.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5952 { + x1=27.5mm; y1=27.5mm; x2=26.75mm; y2=25.75mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5955 { + x1=26.75mm; y1=25.75mm; x2=26.75mm; y2=21.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5958 { + x1=26.75mm; y1=21.5mm; x2=28.75mm; y2=12.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5961 { + x1=28.75mm; y1=12.5mm; x2=28.75mm; y2=10.25mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5964 { + x1=28.75mm; y1=10.25mm; x2=31.25mm; y2=3.75mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5967 { + x1=31.25mm; y1=3.75mm; x2=35.25mm; y2=11.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5970 { + x1=35.25mm; y1=11.5mm; x2=34.5mm; y2=13.25mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5973 { + x1=34.5mm; y1=13.25mm; x2=33.75mm; y2=20.5mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5976 { + x1=33.75mm; y1=20.5mm; x2=33.75mm; y2=27.75mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + ha:line.5979 { + x1=33.75mm; y1=27.75mm; x2=31.25mm; y2=33.75mm; thickness=0.15mm; clearance=50.0mil; + ha:flags { + clearline=1 + } + } + } + color = {#cd3700} + } + + ha:top-doc { + lid=4 + group=7 + ha:combining { } + + li:objects { + } + color = {#548b54} + } + } + } + ha:layer_stack { + li:groups { + ha:0 { + name = grp_4 + ha:type { substrate=1; intern=1; } + li:layers { } + ha:attributes { + thickness={0.7375mm } + } + } + ha:1 { + name = grp_6 + ha:type { substrate=1; intern=1; } + li:layers { } + ha:attributes { + thickness={0.125mm } + } + } + ha:2 { + name = grp_8 + ha:type { substrate=1; intern=1; } + li:layers { } + ha:attributes { + thickness={0.7375mm } + } + } + ha:3 { + name = top-doc + ha:type { top=1; doc=1; } + li:layers { 0; } + ha:attributes { + init-invis=0 + } + purpose = fab + } + ha:4 { + name = top-doc + ha:type { top=1; doc=1; } + li:layers { 1; } + ha:attributes { + init-invis=0 + } + purpose = fab + } + ha:5 { + name = top-doc + ha:type { top=1; doc=1; } + li:layers { 2; } + ha:attributes { + init-invis=0 + } + purpose = fab + } + ha:6 { + name = top-doc + ha:type { top=1; doc=1; } + li:layers { 3; } + ha:attributes { + init-invis=0 + } + purpose = fab + } + ha:7 { + name = top-doc + ha:type { top=1; doc=1; } + li:layers { 4; } + purpose = fab + } + } + } + li:pcb-rnd-conf-v1 { + ha:overwrite { + ha:design { + text_font_id = 0 + text_scale = 100 + via_thickness = 275.60 mil + via_drilling_hole = 47.24 mil + text_thickness = 0 + line_thickness = 150.00 um + clearance = 25.00 mil + } + ha:editor { + grid_unit = mm + buffer_number = 0 + all_direction_lines = true + grids_idx = 10 + grid = 250.00 um + wireframe_draw = false + } + } + } + ha:pixmaps { + } +} Index: detour/img/geo_hwallin_brk.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: detour/img/geo_hwallin_brk.png =================================================================== --- detour/img/geo_hwallin_brk.png (nonexistent) +++ detour/img/geo_hwallin_brk.png (revision 896) Property changes on: detour/img/geo_hwallin_brk.png ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property