From d0f836ecfadacbaea20fc6a3ceebd455e96e1307 Mon Sep 17 00:00:00 2001 From: jaseg Date: Sun, 13 Jun 2021 20:33:19 +0200 Subject: Port old pcb-tools-extension unit tests to pytest --- gerbonara/gerber/tests/panelize/__init__.py | 0 .../gerber/tests/panelize/data/ref_drill_inch.txt | 41 + .../tests/panelize/data/ref_drill_metric.txt | 47 + .../gerber/tests/panelize/data/ref_dxf_complex.dxf | 7500 ++++++++++++++++++++ .../gerber/tests/panelize/data/ref_dxf_metric.dxf | 654 ++ .../gerber/tests/panelize/data/ref_gerber_inch.gtl | 79 + .../tests/panelize/data/ref_gerber_metric.gtl | 84 + .../panelize/data/ref_gerber_single_quadrant.gtl | 40 + .../tests/panelize/expects/RS2724x_offset.gtl | 78 + .../tests/panelize/expects/RS2724x_rotate.gtl | 98 + .../gerber/tests/panelize/expects/RS2724x_save.gtl | 78 + .../panelize/expects/RS2724x_single_quadrant.gtl | 35 + .../tests/panelize/expects/RS2724x_to_inch.gtl | 78 + .../tests/panelize/expects/RS2724x_to_metric.gtl | 78 + .../tests/panelize/expects/dxf_complex_fill.gtl | 729 ++ .../panelize/expects/dxf_complex_fill_flip.gtl | 746 ++ .../gerber/tests/panelize/expects/dxf_offset.gtl | 93 + .../tests/panelize/expects/dxf_rectangle_inch.gtl | 19 + .../panelize/expects/dxf_rectangle_metric.gtl | 19 + .../gerber/tests/panelize/expects/dxf_rotate.gtl | 93 + .../tests/panelize/expects/dxf_save_fill.gtl | 84 + .../panelize/expects/dxf_save_fill_simple.gtl | 78 + .../tests/panelize/expects/dxf_save_line.gtl | 93 + .../tests/panelize/expects/dxf_save_line.txt | 84 + .../tests/panelize/expects/dxf_save_mousebites.gtl | 582 ++ .../tests/panelize/expects/dxf_save_mousebites.txt | 584 ++ .../gerber/tests/panelize/expects/dxf_to_inch.gtl | 93 + .../tests/panelize/expects/excellon_offset.txt | 41 + .../tests/panelize/expects/excellon_rotate.txt | 41 + .../tests/panelize/expects/excellon_save.txt | 41 + .../tests/panelize/expects/excellon_to_inch.txt | 41 + .../tests/panelize/expects/excellon_to_metric.txt | 41 + .../gerber/tests/panelize/test_am_expression.py | 206 + gerbonara/gerber/tests/panelize/test_dxf.py | 132 + gerbonara/gerber/tests/panelize/test_excellon.py | 60 + gerbonara/gerber/tests/panelize/test_rs274x.py | 66 + gerbonara/gerber/tests/panelize/test_utility.py | 63 + tests/__init__.py | 0 tests/data/ref_drill_inch.txt | 41 - tests/data/ref_drill_metric.txt | 47 - tests/data/ref_dxf_complex.dxf | 7500 -------------------- tests/data/ref_dxf_metric.dxf | 654 -- tests/data/ref_gerber_inch.gtl | 79 - tests/data/ref_gerber_metric.gtl | 84 - tests/data/ref_gerber_single_quadrant.gtl | 40 - tests/expects/RS2724x_offset.gtl | 78 - tests/expects/RS2724x_rotate.gtl | 98 - tests/expects/RS2724x_save.gtl | 78 - tests/expects/RS2724x_single_quadrant.gtl | 35 - tests/expects/RS2724x_to_inch.gtl | 78 - tests/expects/RS2724x_to_metric.gtl | 78 - tests/expects/dxf_complex_fill.gtl | 729 -- tests/expects/dxf_complex_fill_flip.gtl | 746 -- tests/expects/dxf_offset.gtl | 93 - tests/expects/dxf_rectangle_inch.gtl | 19 - tests/expects/dxf_rectangle_metric.gtl | 19 - tests/expects/dxf_rotate.gtl | 93 - tests/expects/dxf_save_fill.gtl | 84 - tests/expects/dxf_save_fill_simple.gtl | 78 - tests/expects/dxf_save_line.gtl | 93 - tests/expects/dxf_save_line.txt | 84 - tests/expects/dxf_save_mousebites.gtl | 582 -- tests/expects/dxf_save_mousebites.txt | 584 -- tests/expects/dxf_to_inch.gtl | 93 - tests/expects/excellon_offset.txt | 41 - tests/expects/excellon_rotate.txt | 41 - tests/expects/excellon_save.txt | 41 - tests/expects/excellon_to_inch.txt | 41 - tests/expects/excellon_to_metric.txt | 41 - tests/test_am_expression.py | 208 - tests/test_dxf.py | 153 - tests/test_excellon.py | 72 - tests/test_rs274x.py | 76 - tests/test_utility.py | 65 - 74 files changed, 12919 insertions(+), 12966 deletions(-) create mode 100644 gerbonara/gerber/tests/panelize/__init__.py create mode 100644 gerbonara/gerber/tests/panelize/data/ref_drill_inch.txt create mode 100644 gerbonara/gerber/tests/panelize/data/ref_drill_metric.txt create mode 100644 gerbonara/gerber/tests/panelize/data/ref_dxf_complex.dxf create mode 100644 gerbonara/gerber/tests/panelize/data/ref_dxf_metric.dxf create mode 100644 gerbonara/gerber/tests/panelize/data/ref_gerber_inch.gtl create mode 100644 gerbonara/gerber/tests/panelize/data/ref_gerber_metric.gtl create mode 100644 gerbonara/gerber/tests/panelize/data/ref_gerber_single_quadrant.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/RS2724x_offset.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/RS2724x_rotate.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/RS2724x_save.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/RS2724x_single_quadrant.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/RS2724x_to_inch.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/RS2724x_to_metric.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_complex_fill.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_complex_fill_flip.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_offset.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_rectangle_inch.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_rectangle_metric.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_rotate.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_save_fill.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_save_fill_simple.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_save_line.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_save_line.txt create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_save_mousebites.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_save_mousebites.txt create mode 100644 gerbonara/gerber/tests/panelize/expects/dxf_to_inch.gtl create mode 100644 gerbonara/gerber/tests/panelize/expects/excellon_offset.txt create mode 100644 gerbonara/gerber/tests/panelize/expects/excellon_rotate.txt create mode 100644 gerbonara/gerber/tests/panelize/expects/excellon_save.txt create mode 100644 gerbonara/gerber/tests/panelize/expects/excellon_to_inch.txt create mode 100644 gerbonara/gerber/tests/panelize/expects/excellon_to_metric.txt create mode 100644 gerbonara/gerber/tests/panelize/test_am_expression.py create mode 100644 gerbonara/gerber/tests/panelize/test_dxf.py create mode 100644 gerbonara/gerber/tests/panelize/test_excellon.py create mode 100644 gerbonara/gerber/tests/panelize/test_rs274x.py create mode 100644 gerbonara/gerber/tests/panelize/test_utility.py delete mode 100644 tests/__init__.py delete mode 100644 tests/data/ref_drill_inch.txt delete mode 100644 tests/data/ref_drill_metric.txt delete mode 100644 tests/data/ref_dxf_complex.dxf delete mode 100644 tests/data/ref_dxf_metric.dxf delete mode 100644 tests/data/ref_gerber_inch.gtl delete mode 100644 tests/data/ref_gerber_metric.gtl delete mode 100644 tests/data/ref_gerber_single_quadrant.gtl delete mode 100644 tests/expects/RS2724x_offset.gtl delete mode 100644 tests/expects/RS2724x_rotate.gtl delete mode 100644 tests/expects/RS2724x_save.gtl delete mode 100644 tests/expects/RS2724x_single_quadrant.gtl delete mode 100644 tests/expects/RS2724x_to_inch.gtl delete mode 100644 tests/expects/RS2724x_to_metric.gtl delete mode 100644 tests/expects/dxf_complex_fill.gtl delete mode 100644 tests/expects/dxf_complex_fill_flip.gtl delete mode 100644 tests/expects/dxf_offset.gtl delete mode 100644 tests/expects/dxf_rectangle_inch.gtl delete mode 100644 tests/expects/dxf_rectangle_metric.gtl delete mode 100644 tests/expects/dxf_rotate.gtl delete mode 100644 tests/expects/dxf_save_fill.gtl delete mode 100644 tests/expects/dxf_save_fill_simple.gtl delete mode 100644 tests/expects/dxf_save_line.gtl delete mode 100644 tests/expects/dxf_save_line.txt delete mode 100644 tests/expects/dxf_save_mousebites.gtl delete mode 100644 tests/expects/dxf_save_mousebites.txt delete mode 100644 tests/expects/dxf_to_inch.gtl delete mode 100644 tests/expects/excellon_offset.txt delete mode 100644 tests/expects/excellon_rotate.txt delete mode 100644 tests/expects/excellon_save.txt delete mode 100644 tests/expects/excellon_to_inch.txt delete mode 100644 tests/expects/excellon_to_metric.txt delete mode 100644 tests/test_am_expression.py delete mode 100644 tests/test_dxf.py delete mode 100644 tests/test_excellon.py delete mode 100644 tests/test_rs274x.py delete mode 100644 tests/test_utility.py diff --git a/gerbonara/gerber/tests/panelize/__init__.py b/gerbonara/gerber/tests/panelize/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gerbonara/gerber/tests/panelize/data/ref_drill_inch.txt b/gerbonara/gerber/tests/panelize/data/ref_drill_inch.txt new file mode 100644 index 0000000..6af5494 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/data/ref_drill_inch.txt @@ -0,0 +1,41 @@ +M48 +FMAT,2 +ICI,OFF +INCH,TZ +T01C0.0236 +T02C0.0275 +T03C0.0314 +T04C0.0393 +% +G90 +M72 +T01 +X1815Y960 +X1815Y1344 +X1421Y2402G85X827Y2402 +T02 +X1421Y1535 +X1421Y768 +X843Y768 +X807Y1535 +T03 +G00X1421Y1152 +M15 +G01X843Y1152 +M16 +G05 +X1417Y2795 +T04 +G00X236Y669 +M15 +G02X630Y276I0J-394 +G03X1024Y-118A394 +G03X1417Y276A394 +G01X2598Y276 +G01X2598Y1024 +G03X1614Y2008I-984J0 +G01X236Y2008 +G01X236Y669 +M16 +G05 +M30 diff --git a/gerbonara/gerber/tests/panelize/data/ref_drill_metric.txt b/gerbonara/gerber/tests/panelize/data/ref_drill_metric.txt new file mode 100644 index 0000000..3a50856 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/data/ref_drill_metric.txt @@ -0,0 +1,47 @@ +M48 +FMAT,2 +ICI,OFF +METRIC,TZ,000.000 +T01C0.600 +T02C0.700 +T03C0.800 +T04C1.000 +% +G90 +M71 +T01 +X4610Y2438 +X4610Y3413 +X3610Y6100G85X2100Y6100 +T02 +X3610Y3900 +X3610Y1950 +X2140Y1950 +X2050Y3900 +T03 +G00X3610Y2925 +M15 +G01X2140Y2925 +M16 +G05 +X3600Y7100 +T04 +G00 +X600Y1700 +M15 +I0J-1000 +G02X1600Y700 +G03 +A1000 +I-2000J0 +X2600Y-300 +X3600Y700 +G01X6600 +Y2600 +G03X4100Y5100I-2500J0 +G01 +X600 +Y1700 +M16 +G05 +M30 diff --git a/gerbonara/gerber/tests/panelize/data/ref_dxf_complex.dxf b/gerbonara/gerber/tests/panelize/data/ref_dxf_complex.dxf new file mode 100644 index 0000000..b9a89da --- /dev/null +++ b/gerbonara/gerber/tests/panelize/data/ref_dxf_complex.dxf @@ -0,0 +1,7500 @@ +0 +SECTION +2 +HEADER +9 +$INSUNITS +70 +4 +9 +$ACADVER +1 +AC1014 +9 +$HANDSEED +5 +FFFF +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +VPORT +5 +8 +100 +AcDbSymbolTable +0 +ENDTAB +0 +TABLE +2 +LTYPE +5 +5 +100 +AcDbSymbolTable +0 +LTYPE +5 +14 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord +2 +BYBLOCK +70 +0 +0 +LTYPE +5 +15 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord +2 +BYLAYER +70 +0 +0 +ENDTAB +0 +TABLE +2 +LAYER +5 +2 +100 +AcDbSymbolTable +70 +2 +0 +LAYER +5 +50 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord +2 +0 +70 +0 +6 +CONTINUOUS +0 +ENDTAB +0 +TABLE +2 +STYLE +5 +3 +100 +AcDbSymbolTable +70 +1 +0 +STYLE +5 +11 +100 +AcDbSymbolTableRecord +100 +AcDbTextStyleTableRecord +2 +STANDARD +70 +0 +0 +ENDTAB +0 +TABLE +2 +VIEW +5 +6 +100 +AcDbSymbolTable +70 +0 +0 +ENDTAB +0 +TABLE +2 +UCS +5 +7 +100 +AcDbSymbolTable +70 +0 +0 +ENDTAB +0 +TABLE +2 +APPID +5 +9 +100 +AcDbSymbolTable +70 +2 +0 +APPID +5 +12 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord +2 +ACAD +70 +0 +0 +ENDTAB +0 +TABLE +2 +DIMSTYLE +5 +A +100 +AcDbSymbolTable +70 +1 +0 +ENDTAB +0 +TABLE +2 +BLOCK_RECORD +5 +1 +100 +AcDbSymbolTable +70 +1 +0 +BLOCK_RECORD +5 +1F +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord +2 +*MODEL_SPACE +0 +BLOCK_RECORD +5 +1B +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord +2 +*PAPER_SPACE +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +BLOCK +5 +20 +100 +AcDbEntity +100 +AcDbBlockBegin +2 +*MODEL_SPACE +0 +ENDBLK +5 +21 +100 +AcDbEntity +100 +AcDbBlockEnd +0 +BLOCK +5 +1C +100 +AcDbEntity +100 +AcDbBlockBegin +2 +*PAPER_SPACE +0 +ENDBLK +5 +1D +100 +AcDbEntity +100 +AcDbBlockEnd +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +LWPOLYLINE +5 +100 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +62.450000000000003 +20 +62.034999999999997 +10 +62.450000000000003 +20 +63.335000000000001 +42 +0.99999999999999989 +10 +61.25 +20 +63.335000000000001 +10 +61.25 +20 +62.034999999999997 +42 +0.99999999999999989 +0 +LWPOLYLINE +5 +101 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +82.450000000000017 +20 +62.034999999999997 +42 +-0.99999999999999989 +10 +81.25 +20 +62.034999999999997 +10 +81.250000000000014 +20 +63.335000000000001 +42 +-0.99999999999999989 +10 +82.449999999999989 +20 +63.335000000000001 +0 +LWPOLYLINE +5 +102 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +72.950000000000003 +20 +63.335000000000001 +42 +-0.99999999999999989 +10 +74.150000000000006 +20 +63.335000000000001 +10 +74.150000000000006 +20 +62.034999999999997 +42 +-0.99999999999999989 +10 +72.950000000000003 +20 +62.034999999999997 +0 +CIRCLE +5 +103 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +65.450000000000003 +20 +62.685000000000002 +30 +0 +40 +0.59999999999999998 +0 +LWPOLYLINE +5 +104 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +14.150000000000002 +20 +62.034999999999997 +10 +14.150000000000002 +20 +63.335000000000001 +42 +0.99999999999999989 +10 +12.950000000000001 +20 +63.335000000000001 +10 +12.949999999999999 +20 +62.034999999999997 +42 +0.99999999999999989 +0 +LWPOLYLINE +5 +105 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +21.25 +20 +42.965000000000003 +10 +21.25 +20 +41.664999999999999 +42 +0.99999999999999989 +10 +22.450000000000003 +20 +41.664999999999999 +10 +22.450000000000003 +20 +42.965000000000003 +42 +0.99999999999999989 +0 +LWPOLYLINE +5 +106 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +34.149999999999999 +20 +41.664999999999999 +10 +34.149999999999999 +20 +42.965000000000003 +42 +0.99999999999999989 +10 +32.950000000000003 +20 +42.965000000000003 +10 +32.950000000000003 +20 +41.664999999999999 +42 +0.99999999999999989 +0 +LWPOLYLINE +5 +107 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +34.149999999999999 +20 +62.034999999999997 +10 +34.149999999999999 +20 +63.335000000000001 +42 +0.99999999999999989 +10 +32.950000000000003 +20 +63.335000000000001 +10 +32.950000000000003 +20 +62.034999999999997 +42 +0.99999999999999989 +0 +LWPOLYLINE +5 +108 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +62.450000000000003 +20 +41.664999999999999 +10 +62.450000000000003 +20 +42.965000000000003 +42 +0.99999999999999989 +10 +61.25 +20 +42.965000000000003 +10 +61.25 +20 +41.664999999999999 +42 +0.99999999999999989 +0 +LWPOLYLINE +5 +109 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +72.950000000000003 +20 +42.965000000000003 +10 +72.950000000000003 +20 +41.664999999999999 +42 +0.99999999999999989 +10 +74.150000000000006 +20 +41.664999999999999 +10 +74.150000000000006 +20 +42.965000000000003 +42 +0.99999999999999989 +0 +CIRCLE +5 +110 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +89.949999999999989 +20 +62.685000000000002 +30 +0 +40 +0.59999999999999998 +0 +LWPOLYLINE +5 +111 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +54.149999999999991 +20 +62.034999999999997 +42 +-0.99999999999999989 +10 +52.950000000000003 +20 +62.034999999999997 +10 +52.949999999999989 +20 +63.335000000000001 +42 +-0.99999999999999989 +10 +54.149999999999999 +20 +63.335000000000001 +0 +CIRCLE +5 +112 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +49.949999999999989 +20 +62.685000000000002 +30 +0 +40 +0.59999999999999998 +0 +ARC +5 +113 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +53.549999999999997 +20 +62.034999999999997 +30 +0 +40 +0.59999999999999609 +100 +AcDbArc +50 +-180 +51 +0 +0 +LWPOLYLINE +5 +114 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +92.950000000000003 +20 +63.335000000000001 +42 +-0.99999999999999989 +10 +94.150000000000006 +20 +63.335000000000001 +10 +94.150000000000006 +20 +62.034999999999997 +42 +-0.99999999999999989 +10 +92.950000000000003 +20 +62.034999999999997 +0 +CIRCLE +5 +115 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +85.450000000000003 +20 +62.685000000000002 +30 +0 +40 +0.59999999999999998 +0 +LINE +5 +116 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +34.149999999999999 +20 +42.965000000000003 +30 +0 +11 +34.149999999999999 +21 +41.664999999999999 +31 +0 +0 +LINE +5 +117 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +74.150000000000006 +20 +42.965000000000003 +30 +0 +11 +74.150000000000006 +21 +41.664999999999999 +31 +0 +0 +LWPOLYLINE +5 +118 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +41.249999999999993 +20 +42.965000000000003 +10 +41.249999999999993 +20 +41.664999999999999 +42 +0.99999999999999989 +10 +42.449999999999989 +20 +41.664999999999999 +10 +42.449999999999989 +20 +42.965000000000003 +42 +0.99999999999999989 +0 +LINE +5 +119 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +41.249999999999993 +20 +41.664999999999999 +30 +0 +11 +41.249999999999993 +21 +42.965000000000003 +31 +0 +0 +LINE +5 +120 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +39.999999999999993 +20 +5 +30 +0 +11 +55.399999999999991 +21 +5 +31 +0 +0 +LWPOLYLINE +5 +121 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +22.450000000000003 +20 +62.034999999999997 +10 +22.450000000000003 +20 +63.335000000000001 +42 +0.99999999999999989 +10 +21.25 +20 +63.335000000000001 +10 +21.25 +20 +62.034999999999997 +42 +0.99999999999999989 +0 +ARC +5 +122 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +61.849999999999994 +20 +62.034999999999997 +30 +0 +40 +0.59999999999999609 +100 +AcDbArc +50 +-180 +51 +0 +0 +ARC +5 +123 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +73.550000000000011 +20 +63.335000000000001 +30 +0 +40 +0.59999999999999609 +100 +AcDbArc +50 +0 +51 +180 +0 +CIRCLE +5 +124 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +69.950000000000003 +20 +62.685000000000002 +30 +0 +40 +0.59999999999999998 +0 +ARC +5 +125 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +73.550000000000011 +20 +62.034999999999997 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +-180 +51 +0 +0 +LINE +5 +126 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +32.950000000000003 +20 +41.664999999999999 +30 +0 +11 +32.950000000000003 +21 +42.965000000000003 +31 +0 +0 +LINE +5 +127 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +22.450000000000003 +20 +42.965000000000003 +30 +0 +11 +22.450000000000003 +21 +41.664999999999999 +31 +0 +0 +LINE +5 +128 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +21.25 +20 +41.664999999999999 +30 +0 +11 +21.25 +21 +42.965000000000003 +31 +0 +0 +CIRCLE +5 +129 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +69.950000000000003 +20 +42.314999999999998 +30 +0 +40 +0.59999999999999998 +0 +CIRCLE +5 +130 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +65.450000000000003 +20 +42.314999999999998 +30 +0 +40 +0.59999999999999998 +0 +ARC +5 +131 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +61.849999999999994 +20 +42.965000000000003 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +0 +51 +180 +0 +ARC +5 +132 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +73.550000000000011 +20 +42.965000000000003 +30 +0 +40 +0.59999999999999609 +100 +AcDbArc +50 +0 +51 +180 +0 +ARC +5 +133 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +73.550000000000011 +20 +41.664999999999999 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +-180 +51 +0 +0 +ARC +5 +134 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +61.849999999999994 +20 +41.664999999999999 +30 +0 +40 +0.59999999999999609 +100 +AcDbArc +50 +-180 +51 +0 +0 +LWPOLYLINE +5 +135 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +54.149999999999991 +20 +41.664999999999999 +42 +-0.99999999999999989 +10 +52.950000000000003 +20 +41.664999999999999 +10 +52.950000000000003 +20 +42.965000000000003 +42 +-0.99999999999999989 +10 +54.149999999999991 +20 +42.965000000000003 +0 +CIRCLE +5 +136 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +49.949999999999989 +20 +42.314999999999998 +30 +0 +40 +0.59999999999999998 +0 +ARC +5 +137 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +53.549999999999997 +20 +42.965000000000003 +30 +0 +40 +0.59999999999999609 +100 +AcDbArc +50 +0 +51 +180 +0 +ARC +5 +138 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +53.549999999999997 +20 +41.664999999999999 +30 +0 +40 +0.59999999999999609 +100 +AcDbArc +50 +-180 +51 +0 +0 +ARC +5 +139 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +53.549999999999997 +20 +63.335000000000001 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +0 +51 +180 +0 +ARC +5 +140 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +93.550000000000011 +20 +63.335000000000001 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +0 +51 +180 +0 +LWPOLYLINE +5 +141 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +12.949999999999999 +20 +42.965000000000003 +42 +-0.99999999999999989 +10 +14.15 +20 +42.965000000000003 +10 +14.15 +20 +41.664999999999999 +42 +-0.99999999999999989 +10 +12.949999999999999 +20 +41.664999999999999 +0 +LWPOLYLINE +5 +142 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +2.4499999999999988 +20 +41.664999999999999 +42 +-0.99999999999999989 +10 +1.2499999999999978 +20 +41.664999999999999 +10 +1.2499999999999956 +20 +42.965000000000003 +42 +-0.99999999999999989 +10 +2.4500000000000011 +20 +42.965000000000003 +0 +LWPOLYLINE +5 +143 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +94.150000000000006 +20 +41.664999999999999 +42 +-0.99999999999999989 +10 +92.950000000000003 +20 +41.664999999999999 +10 +92.950000000000017 +20 +42.965000000000003 +42 +-0.99999999999999989 +10 +94.149999999999991 +20 +42.965000000000003 +0 +LWPOLYLINE +5 +144 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +42.449999999999989 +20 +62.034999999999997 +10 +42.449999999999989 +20 +63.335000000000001 +42 +0.99999999999999989 +10 +41.25 +20 +63.335000000000001 +10 +41.25 +20 +62.034999999999997 +42 +0.99999999999999989 +0 +LWPOLYLINE +5 +145 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +82.450000000000017 +20 +41.664999999999999 +42 +-0.99999999999999989 +10 +81.25 +20 +41.664999999999999 +10 +81.25 +20 +42.965000000000003 +42 +-0.99999999999999989 +10 +82.450000000000017 +20 +42.965000000000003 +0 +CIRCLE +5 +146 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +25.449999999999999 +20 +62.685000000000002 +30 +0 +40 +0.59999999999999998 +0 +ARC +5 +147 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +81.850000000000009 +20 +41.664999999999999 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +-180 +51 +0 +0 +CIRCLE +5 +148 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +89.949999999999989 +20 +42.314999999999998 +30 +0 +40 +0.59999999999999998 +0 +ARC +5 +149 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +93.550000000000011 +20 +41.664999999999999 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +-180 +51 +0 +0 +LINE +5 +150 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +-6.6613381477509392e-15 +20 +5 +30 +0 +11 +15.399999999999995 +21 +5 +31 +0 +0 +CIRCLE +5 +151 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +45.450000000000003 +20 +42.314999999999998 +30 +0 +40 +0.59999999999999998 +0 +CIRCLE +5 +152 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +45.450000000000003 +20 +62.685000000000002 +30 +0 +40 +0.59999999999999998 +0 +LINE +5 +153 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +42.449999999999989 +20 +42.965000000000003 +30 +0 +11 +42.449999999999989 +21 +41.664999999999999 +31 +0 +0 +LWPOLYLINE +5 +154 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +1.25 +20 +63.335000000000001 +10 +1.25 +20 +62.034999999999997 +42 +0.99999999999999989 +10 +2.4500000000000002 +20 +62.034999999999997 +10 +2.4500000000000002 +20 +63.335000000000001 +42 +0.99999999999999989 +0 +LINE +5 +155 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +2.4500000000000002 +20 +63.335000000000001 +30 +0 +11 +2.4500000000000002 +21 +62.034999999999997 +31 +0 +0 +LINE +5 +156 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +1.25 +20 +62.034999999999997 +30 +0 +11 +1.25 +21 +63.335000000000001 +31 +0 +0 +LINE +5 +157 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +12.949999999999999 +20 +62.034999999999997 +30 +0 +11 +12.950000000000001 +21 +63.335000000000001 +31 +0 +0 +CIRCLE +5 +158 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +5.4500000000000002 +20 +62.685000000000002 +30 +0 +40 +0.59999999999999998 +0 +ARC +5 +159 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +13.550000000000001 +20 +42.965000000000003 +30 +0 +40 +0.60000000000000053 +100 +AcDbArc +50 +0 +51 +180 +0 +LINE +5 +160 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +14.15 +20 +42.965000000000003 +30 +0 +11 +14.15 +21 +41.664999999999999 +31 +0 +0 +LINE +5 +161 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +34.149999999999999 +20 +63.335000000000001 +30 +0 +11 +34.149999999999999 +21 +62.034999999999997 +31 +0 +0 +ARC +5 +162 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +1.8500000000000003 +20 +63.335000000000001 +30 +0 +40 +0.59999999999999998 +100 +AcDbArc +50 +0 +51 +180 +0 +LINE +5 +163 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +35.399999999999999 +20 +100 +30 +0 +11 +20 +21 +100 +31 +0 +0 +LINE +5 +164 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +15.4 +20 +100 +30 +0 +11 +0 +21 +100 +31 +0 +0 +LINE +5 +165 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +0 +20 +100 +30 +0 +11 +0 +21 +60 +31 +0 +0 +LINE +5 +166 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +0 +20 +45 +30 +0 +11 +-6.6613381477509392e-15 +21 +5 +31 +0 +0 +LINE +5 +167 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +19.999999999999993 +20 +5 +30 +0 +11 +35.399999999999999 +21 +5 +31 +0 +0 +LINE +5 +168 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +75.400000000000006 +20 +100 +30 +0 +11 +60 +21 +100 +31 +0 +0 +LINE +5 +169 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +95.399999999999991 +20 +100 +30 +0 +11 +80 +21 +100 +31 +0 +0 +LINE +5 +170 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +59.999999999999993 +20 +5 +30 +0 +11 +75.399999999999991 +21 +5 +31 +0 +0 +CIRCLE +5 +171 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +9.9499999999999993 +20 +62.685000000000002 +30 +0 +40 +0.59999999999999998 +0 +LINE +5 +172 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +79.999999999999986 +20 +5 +30 +0 +11 +95.399999999999991 +21 +5 +31 +0 +0 +ARC +5 +173 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +13.550000000000002 +20 +62.034999999999997 +30 +0 +40 +0.60000000000000275 +100 +AcDbArc +50 +-180 +51 +0 +0 +LINE +5 +174 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +95.399999999999991 +20 +5 +30 +0 +11 +95.399999999999991 +21 +45 +31 +0 +0 +LINE +5 +175 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +92.950000000000003 +20 +62.034999999999997 +30 +0 +11 +92.950000000000003 +21 +63.335000000000001 +31 +0 +0 +CIRCLE +5 +176 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +5.4499999999999993 +20 +42.314999999999998 +30 +0 +40 +0.59999999999999998 +0 +ARC +5 +177 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +1.8499999999999983 +20 +42.965000000000003 +30 +0 +40 +0.60000000000000275 +100 +AcDbArc +50 +0 +51 +180 +0 +ARC +5 +178 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +13.550000000000001 +20 +41.664999999999999 +30 +0 +40 +0.60000000000000053 +100 +AcDbArc +50 +-180 +51 +0 +0 +ARC +5 +179 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +1.8499999999999983 +20 +41.664999999999999 +30 +0 +40 +0.60000000000000053 +100 +AcDbArc +50 +-180 +51 +0 +0 +LINE +5 +180 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +22.450000000000003 +20 +63.335000000000001 +30 +0 +11 +22.450000000000003 +21 +62.034999999999997 +31 +0 +0 +LINE +5 +181 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +14.150000000000002 +20 +63.335000000000001 +30 +0 +11 +14.150000000000002 +21 +62.034999999999997 +31 +0 +0 +LINE +5 +182 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +72.950000000000003 +20 +41.664999999999999 +30 +0 +11 +72.950000000000003 +21 +42.965000000000003 +31 +0 +0 +CIRCLE +5 +183 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +29.950000000000003 +20 +62.685000000000002 +30 +0 +40 +0.59999999999999998 +0 +LINE +5 +184 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +61.25 +20 +41.664999999999999 +30 +0 +11 +61.25 +21 +42.965000000000003 +31 +0 +0 +LINE +5 +185 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +62.450000000000003 +20 +42.965000000000003 +30 +0 +11 +62.450000000000003 +21 +41.664999999999999 +31 +0 +0 +ARC +5 +186 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +41.849999999999994 +20 +42.965000000000003 +30 +0 +40 +0.59999999999999609 +100 +AcDbArc +50 +0 +51 +180 +0 +ARC +5 +187 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +41.849999999999994 +20 +63.335000000000001 +30 +0 +40 +0.59999999999999609 +100 +AcDbArc +50 +0 +51 +180 +0 +LINE +5 +188 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +54.149999999999991 +20 +42.965000000000003 +30 +0 +11 +54.149999999999991 +21 +41.664999999999999 +31 +0 +0 +LINE +5 +189 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +52.950000000000003 +20 +41.664999999999999 +30 +0 +11 +52.950000000000003 +21 +42.965000000000003 +31 +0 +0 +ARC +5 +190 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +21.850000000000001 +20 +63.335000000000001 +30 +0 +40 +0.60000000000000053 +100 +AcDbArc +50 +0 +51 +180 +0 +LINE +5 +191 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +21.25 +20 +62.034999999999997 +30 +0 +11 +21.25 +21 +63.335000000000001 +31 +0 +0 +LINE +5 +192 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +32.950000000000003 +20 +62.034999999999997 +30 +0 +11 +32.950000000000003 +21 +63.335000000000001 +31 +0 +0 +ARC +5 +193 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +81.850000000000009 +20 +42.965000000000003 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +0 +51 +180 +0 +ARC +5 +194 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +93.550000000000011 +20 +42.965000000000003 +30 +0 +40 +0.59999999999998721 +100 +AcDbArc +50 +0 +51 +180 +0 +ARC +5 +195 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +33.550000000000004 +20 +62.034999999999997 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +-180 +51 +0 +0 +ARC +5 +196 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +33.550000000000004 +20 +63.335000000000001 +30 +0 +40 +0.59999999999999609 +100 +AcDbArc +50 +0 +51 +180 +0 +ARC +5 +197 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +21.850000000000001 +20 +62.034999999999997 +30 +0 +40 +0.60000000000000053 +100 +AcDbArc +50 +-180 +51 +0 +0 +CIRCLE +5 +198 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +85.450000000000003 +20 +42.314999999999998 +30 +0 +40 +0.59999999999999998 +0 +LINE +5 +199 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +92.950000000000003 +20 +41.664999999999999 +30 +0 +11 +92.950000000000003 +21 +42.965000000000003 +31 +0 +0 +LINE +5 +200 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +82.450000000000017 +20 +42.965000000000003 +30 +0 +11 +82.449999999999989 +21 +41.664999999999999 +31 +0 +0 +ARC +5 +201 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +41.849999999999994 +20 +62.034999999999997 +30 +0 +40 +0.59999999999999609 +100 +AcDbArc +50 +-180 +51 +0 +0 +ARC +5 +202 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +41.849999999999994 +20 +41.664999999999999 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +-180 +51 +0 +0 +LINE +5 +203 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +55.399999999999991 +20 +100 +30 +0 +11 +39.999999999999993 +21 +100 +31 +0 +0 +LINE +5 +204 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +42.449999999999989 +20 +63.335000000000001 +30 +0 +11 +42.449999999999989 +21 +62.034999999999997 +31 +0 +0 +LINE +5 +205 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +41.25 +20 +62.034999999999997 +30 +0 +11 +41.25 +21 +63.335000000000001 +31 +0 +0 +ARC +5 +206 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +81.850000000000009 +20 +62.034999999999997 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +-180 +51 +0 +0 +LINE +5 +207 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +81.25 +20 +62.034999999999997 +30 +0 +11 +81.25 +21 +63.335000000000001 +31 +0 +0 +LINE +5 +208 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +12.949999999999999 +20 +41.664999999999999 +30 +0 +11 +12.949999999999999 +21 +42.965000000000003 +31 +0 +0 +LINE +5 +209 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +1.2499999999999978 +20 +41.664999999999999 +30 +0 +11 +1.2499999999999978 +21 +42.965000000000003 +31 +0 +0 +LINE +5 +210 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +2.4500000000000011 +20 +42.965000000000003 +30 +0 +11 +2.4499999999999988 +21 +41.664999999999999 +31 +0 +0 +ARC +5 +211 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +1.8500000000000003 +20 +62.034999999999997 +30 +0 +40 +0.60000000000000031 +100 +AcDbArc +50 +-180 +51 +0 +0 +ARC +5 +212 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +13.550000000000002 +20 +63.335000000000001 +30 +0 +40 +0.60000000000000053 +100 +AcDbArc +50 +0 +51 +180 +0 +LINE +5 +213 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +72.950000000000003 +20 +62.034999999999997 +30 +0 +11 +72.950000000000003 +21 +63.335000000000001 +31 +0 +0 +LINE +5 +214 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +62.450000000000003 +20 +63.335000000000001 +30 +0 +11 +62.450000000000003 +21 +62.034999999999997 +31 +0 +0 +LINE +5 +215 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +74.150000000000006 +20 +63.335000000000001 +30 +0 +11 +74.150000000000006 +21 +62.034999999999997 +31 +0 +0 +LINE +5 +216 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +61.25 +20 +62.034999999999997 +30 +0 +11 +61.25 +21 +63.335000000000001 +31 +0 +0 +LINE +5 +217 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +52.950000000000003 +20 +62.034999999999997 +30 +0 +11 +52.950000000000003 +21 +63.335000000000001 +31 +0 +0 +LINE +5 +218 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +54.149999999999999 +20 +63.335000000000001 +30 +0 +11 +54.149999999999999 +21 +62.034999999999997 +31 +0 +0 +ARC +5 +219 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +93.550000000000011 +20 +62.034999999999997 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +-180 +51 +0 +0 +LINE +5 +220 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +82.449999999999989 +20 +63.335000000000001 +30 +0 +11 +82.449999999999989 +21 +62.034999999999997 +31 +0 +0 +LINE +5 +221 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +94.149999999999991 +20 +42.965000000000003 +30 +0 +11 +94.149999999999991 +21 +41.664999999999999 +31 +0 +0 +LINE +5 +222 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +81.25 +20 +41.664999999999999 +30 +0 +11 +81.25 +21 +42.965000000000003 +31 +0 +0 +CIRCLE +5 +223 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +25.449999999999999 +20 +42.314999999999998 +30 +0 +40 +0.59999999999999998 +0 +CIRCLE +5 +224 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +29.950000000000003 +20 +42.314999999999998 +30 +0 +40 +0.59999999999999998 +0 +LINE +5 +225 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +94.150000000000006 +20 +63.335000000000001 +30 +0 +11 +94.150000000000006 +21 +62.034999999999997 +31 +0 +0 +ARC +5 +226 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +81.850000000000009 +20 +63.335000000000001 +30 +0 +40 +0.59999999999998721 +100 +AcDbArc +50 +0 +51 +180 +0 +ARC +5 +227 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +61.849999999999994 +20 +63.335000000000001 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +0 +51 +180 +0 +LINE +5 +228 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +95.399999999999991 +20 +60 +30 +0 +11 +95.399999999999991 +21 +100 +31 +0 +0 +CIRCLE +5 +229 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +9.9499999999999993 +20 +42.314999999999998 +30 +0 +40 +0.59999999999999998 +0 +ARC +5 +230 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +21.849999999999994 +20 +41.664999999999999 +30 +0 +40 +0.59999999999999609 +100 +AcDbArc +50 +-180 +51 +0 +0 +ARC +5 +231 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +33.549999999999997 +20 +41.664999999999999 +30 +0 +40 +0.60000000000000053 +100 +AcDbArc +50 +-180 +51 +0 +0 +ARC +5 +232 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +33.549999999999997 +20 +42.965000000000003 +30 +0 +40 +0.60000000000000053 +100 +AcDbArc +50 +0 +51 +180 +0 +ARC +5 +233 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +21.849999999999994 +20 +42.965000000000003 +30 +0 +40 +0.60000000000000497 +100 +AcDbArc +50 +0 +51 +180 +0 +LINE +5 +234 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +95.399999999999991 +20 +56 +30 +0 +11 +95.399999999999991 +21 +49 +31 +0 +0 +LINE +5 +235 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +0 +20 +56 +30 +0 +11 +0 +21 +49 +31 +0 +0 +LINE +5 +236 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +3.7000000000000002 +20 +58 +30 +0 +11 +3.7000000000000002 +21 +58 +31 +0 +0 +LINE +5 +237 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +11.699999999999999 +20 +58 +30 +0 +11 +11.699999999999999 +21 +58 +31 +0 +0 +LINE +5 +238 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +23.700000000000003 +20 +58 +30 +0 +11 +23.700000000000003 +21 +58 +31 +0 +0 +LINE +5 +239 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +31.699999999999999 +20 +58 +30 +0 +11 +31.699999999999999 +21 +58 +31 +0 +0 +LINE +5 +240 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +43.700000000000003 +20 +58 +30 +0 +11 +43.700000000000003 +21 +58 +31 +0 +0 +LINE +5 +241 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +51.700000000000003 +20 +58 +30 +0 +11 +51.700000000000003 +21 +58 +31 +0 +0 +LINE +5 +242 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +63.700000000000003 +20 +58 +30 +0 +11 +63.700000000000003 +21 +58 +31 +0 +0 +LINE +5 +243 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +71.700000000000003 +20 +58 +30 +0 +11 +71.700000000000003 +21 +58 +31 +0 +0 +LINE +5 +244 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +83.699999999999989 +20 +58 +30 +0 +11 +83.699999999999989 +21 +58 +31 +0 +0 +LINE +5 +245 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +91.699999999999989 +20 +58 +30 +0 +11 +91.699999999999989 +21 +58 +31 +0 +0 +LINE +5 +246 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +3.7000000000000002 +20 +47 +30 +0 +11 +3.7000000000000002 +21 +47 +31 +0 +0 +LINE +5 +247 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +11.699999999999999 +20 +46.999999999999993 +30 +0 +11 +11.699999999999999 +21 +46.999999999999993 +31 +0 +0 +LINE +5 +248 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +23.700000000000003 +20 +46.999999999999993 +30 +0 +11 +23.700000000000003 +21 +46.999999999999993 +31 +0 +0 +LINE +5 +249 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +31.699999999999999 +20 +46.999999999999993 +30 +0 +11 +31.699999999999999 +21 +46.999999999999993 +31 +0 +0 +LINE +5 +250 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +43.700000000000003 +20 +46.999999999999993 +30 +0 +11 +43.700000000000003 +21 +46.999999999999993 +31 +0 +0 +LINE +5 +251 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +51.700000000000003 +20 +46.999999999999993 +30 +0 +11 +51.700000000000003 +21 +46.999999999999993 +31 +0 +0 +LINE +5 +252 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +63.700000000000003 +20 +46.999999999999993 +30 +0 +11 +63.700000000000003 +21 +46.999999999999993 +31 +0 +0 +LINE +5 +253 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +71.700000000000003 +20 +46.999999999999993 +30 +0 +11 +71.700000000000003 +21 +46.999999999999993 +31 +0 +0 +LINE +5 +254 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +83.699999999999989 +20 +46.999999999999993 +30 +0 +11 +83.699999999999989 +21 +46.999999999999993 +31 +0 +0 +LINE +5 +255 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +91.699999999999989 +20 +47 +30 +0 +11 +91.699999999999989 +21 +47 +31 +0 +0 +LINE +5 +256 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +0 +20 +60 +30 +0 +11 +1.7000000000000002 +21 +60 +31 +0 +0 +LINE +5 +257 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +13.699999999999999 +20 +60 +30 +0 +11 +15.4 +21 +60 +31 +0 +0 +LINE +5 +258 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +20 +20 +60 +30 +0 +11 +21.699999999999999 +21 +60 +31 +0 +0 +LINE +5 +259 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +33.700000000000003 +20 +60 +30 +0 +11 +35.399999999999999 +21 +60 +31 +0 +0 +LINE +5 +260 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +39.999999999999993 +20 +60 +30 +0 +11 +41.700000000000003 +21 +60.000000000000007 +31 +0 +0 +LINE +5 +261 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +53.700000000000003 +20 +60 +30 +0 +11 +55.399999999999991 +21 +60 +31 +0 +0 +LINE +5 +262 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +60 +20 +60 +30 +0 +11 +61.700000000000003 +21 +60.000000000000007 +31 +0 +0 +LINE +5 +263 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +73.700000000000003 +20 +60 +30 +0 +11 +75.400000000000006 +21 +60 +31 +0 +0 +LINE +5 +264 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +80 +20 +60 +30 +0 +11 +81.700000000000003 +21 +59.999999999999993 +31 +0 +0 +LINE +5 +265 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +93.699999999999974 +20 +59.999999999999993 +30 +0 +11 +95.399999999999991 +21 +60 +31 +0 +0 +LINE +5 +266 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +95.399999999999991 +20 +56 +30 +0 +11 +93.699999999999974 +21 +56.000000000000007 +31 +0 +0 +LINE +5 +267 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +81.700000000000003 +20 +56.000000000000007 +30 +0 +11 +73.700000000000003 +21 +56 +31 +0 +0 +LINE +5 +268 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +61.700000000000003 +20 +55.999999999999986 +30 +0 +11 +53.700000000000003 +21 +56 +31 +0 +0 +LINE +5 +269 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +41.700000000000003 +20 +55.999999999999986 +30 +0 +11 +33.700000000000003 +21 +56 +31 +0 +0 +LINE +5 +270 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +21.699999999999999 +20 +56 +30 +0 +11 +13.699999999999999 +21 +56 +31 +0 +0 +LINE +5 +271 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +1.6999999999999997 +20 +56 +30 +0 +11 +0 +21 +56 +31 +0 +0 +LINE +5 +272 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +0 +20 +49 +30 +0 +11 +1.7000000000000055 +21 +49 +31 +0 +0 +LINE +5 +273 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +13.699999999999999 +20 +48.999999999999986 +30 +0 +11 +21.699999999999999 +21 +48.999999999999993 +31 +0 +0 +LINE +5 +274 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +33.700000000000003 +20 +48.999999999999993 +30 +0 +11 +41.700000000000003 +21 +48.999999999999993 +31 +0 +0 +LINE +5 +275 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +53.700000000000003 +20 +48.999999999999986 +30 +0 +11 +61.700000000000003 +21 +48.999999999999993 +31 +0 +0 +LINE +5 +276 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +73.700000000000003 +20 +48.999999999999986 +30 +0 +11 +81.700000000000017 +21 +48.999999999999993 +31 +0 +0 +LINE +5 +277 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +93.699999999999974 +20 +49.000000000000014 +30 +0 +11 +95.399999999999991 +21 +49 +31 +0 +0 +LINE +5 +278 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +95.399999999999991 +20 +45 +30 +0 +11 +93.699999999999974 +21 +45.000000000000007 +31 +0 +0 +LINE +5 +279 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +81.700000000000003 +20 +45.000000000000007 +30 +0 +11 +80 +21 +45 +31 +0 +0 +LINE +5 +280 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +75.400000000000006 +20 +45 +30 +0 +11 +73.700000000000017 +21 +45 +31 +0 +0 +LINE +5 +281 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +61.699999999999989 +20 +45 +30 +0 +11 +60 +21 +45 +31 +0 +0 +LINE +5 +282 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +55.399999999999991 +20 +45 +30 +0 +11 +53.70000000000001 +21 +45 +31 +0 +0 +LINE +5 +283 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +41.699999999999989 +20 +45 +30 +0 +11 +39.999999999999993 +21 +45 +31 +0 +0 +LINE +5 +284 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +35.399999999999999 +20 +45 +30 +0 +11 +33.700000000000003 +21 +45 +31 +0 +0 +LINE +5 +285 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +21.699999999999996 +20 +45 +30 +0 +11 +20 +21 +45 +31 +0 +0 +LINE +5 +286 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +15.4 +20 +45 +30 +0 +11 +13.700000000000003 +21 +45 +31 +0 +0 +LINE +5 +287 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +1.6999999999999948 +20 +45 +30 +0 +11 +0 +21 +45 +31 +0 +0 +LINE +5 +288 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +17.399999999999999 +20 +72 +30 +0 +11 +18 +21 +72 +31 +0 +0 +LINE +5 +289 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +18 +20 +87.999999999999986 +30 +0 +11 +17.399999999999999 +21 +87.999999999999986 +31 +0 +0 +LINE +5 +290 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +38 +20 +87.999999999999986 +30 +0 +11 +37.400000000000006 +21 +87.999999999999986 +31 +0 +0 +LINE +5 +291 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +37.400000000000006 +20 +72 +30 +0 +11 +38 +21 +72 +31 +0 +0 +LINE +5 +292 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +58 +20 +87.999999999999986 +30 +0 +11 +57.399999999999991 +21 +87.999999999999986 +31 +0 +0 +LINE +5 +293 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +57.399999999999991 +20 +72 +30 +0 +11 +58 +21 +72 +31 +0 +0 +LINE +5 +294 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +78 +20 +87.999999999999986 +30 +0 +11 +77.399999999999991 +21 +87.999999999999986 +31 +0 +0 +LINE +5 +295 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +77.399999999999991 +20 +72 +30 +0 +11 +78 +21 +72 +31 +0 +0 +LINE +5 +296 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +18 +20 +32.999999999999986 +30 +0 +11 +17.399999999999999 +21 +32.999999999999986 +31 +0 +0 +LINE +5 +297 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +38 +20 +32.999999999999986 +30 +0 +11 +37.400000000000006 +21 +32.999999999999986 +31 +0 +0 +LINE +5 +298 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +58 +20 +32.999999999999986 +30 +0 +11 +57.399999999999991 +21 +32.999999999999986 +31 +0 +0 +LINE +5 +299 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +78 +20 +32.999999999999986 +30 +0 +11 +77.399999999999991 +21 +32.999999999999986 +31 +0 +0 +LINE +5 +300 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +77.399999999999991 +20 +17 +30 +0 +11 +78 +21 +17 +31 +0 +0 +LINE +5 +301 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +57.399999999999991 +20 +17 +30 +0 +11 +58 +21 +17 +31 +0 +0 +LINE +5 +302 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +37.400000000000006 +20 +17 +30 +0 +11 +38 +21 +17 +31 +0 +0 +LINE +5 +303 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +17.399999999999999 +20 +17 +30 +0 +11 +18 +21 +17 +31 +0 +0 +LINE +5 +304 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +15.399999999999995 +20 +5 +30 +0 +11 +15.4 +21 +15.000000000000002 +31 +0 +0 +LINE +5 +305 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +15.4 +20 +34.999999999999993 +30 +0 +11 +15.4 +21 +45 +31 +0 +0 +LINE +5 +306 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +20 +20 +45 +30 +0 +11 +20 +21 +34.999999999999993 +31 +0 +0 +LINE +5 +307 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +19.999999999999996 +20 +15 +30 +0 +11 +19.999999999999993 +21 +5 +31 +0 +0 +LINE +5 +308 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +35.399999999999999 +20 +5 +30 +0 +11 +35.399999999999999 +21 +15.000000000000002 +31 +0 +0 +LINE +5 +309 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +35.399999999999999 +20 +34.999999999999993 +30 +0 +11 +35.399999999999999 +21 +45 +31 +0 +0 +LINE +5 +310 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +39.999999999999993 +20 +45 +30 +0 +11 +40 +21 +34.999999999999993 +31 +0 +0 +LINE +5 +311 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +40 +20 +15 +30 +0 +11 +39.999999999999993 +21 +5 +31 +0 +0 +LINE +5 +312 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +55.399999999999991 +20 +5 +30 +0 +11 +55.399999999999991 +21 +15.000000000000002 +31 +0 +0 +LINE +5 +313 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +55.399999999999991 +20 +34.999999999999993 +30 +0 +11 +55.399999999999991 +21 +45 +31 +0 +0 +LINE +5 +314 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +60 +20 +45 +30 +0 +11 +60 +21 +34.999999999999993 +31 +0 +0 +LINE +5 +315 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +60 +20 +15 +30 +0 +11 +59.999999999999993 +21 +5 +31 +0 +0 +LINE +5 +316 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +75.399999999999991 +20 +5 +30 +0 +11 +75.400000000000006 +21 +15.000000000000004 +31 +0 +0 +LINE +5 +317 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +75.399999999999991 +20 +34.999999999999993 +30 +0 +11 +75.400000000000006 +21 +45 +31 +0 +0 +LINE +5 +318 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +80 +20 +45 +30 +0 +11 +80 +21 +34.999999999999993 +31 +0 +0 +LINE +5 +319 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +80 +20 +15 +30 +0 +11 +79.999999999999986 +21 +5 +31 +0 +0 +LINE +5 +320 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +80 +20 +60 +30 +0 +11 +80 +21 +70 +31 +0 +0 +LINE +5 +321 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +79.999999999999986 +20 +89.999999999999986 +30 +0 +11 +80 +21 +100 +31 +0 +0 +LINE +5 +322 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +75.400000000000006 +20 +100 +30 +0 +11 +75.399999999999991 +21 +89.999999999999972 +31 +0 +0 +LINE +5 +323 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +75.399999999999991 +20 +70 +30 +0 +11 +75.400000000000006 +21 +60 +31 +0 +0 +LINE +5 +324 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +60 +20 +60 +30 +0 +11 +60.000000000000007 +21 +70 +31 +0 +0 +LINE +5 +325 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +59.999999999999993 +20 +89.999999999999986 +30 +0 +11 +60 +21 +100 +31 +0 +0 +LINE +5 +326 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +55.399999999999991 +20 +100 +30 +0 +11 +55.399999999999999 +21 +89.999999999999986 +31 +0 +0 +LINE +5 +327 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +55.399999999999984 +20 +70 +30 +0 +11 +55.399999999999991 +21 +60 +31 +0 +0 +LINE +5 +328 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +39.999999999999993 +20 +60 +30 +0 +11 +40 +21 +70 +31 +0 +0 +LINE +5 +329 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +39.999999999999993 +20 +89.999999999999986 +30 +0 +11 +39.999999999999993 +21 +100 +31 +0 +0 +LINE +5 +330 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +35.399999999999999 +20 +100 +30 +0 +11 +35.400000000000006 +21 +89.999999999999986 +31 +0 +0 +LINE +5 +331 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +35.399999999999999 +20 +70 +30 +0 +11 +35.399999999999999 +21 +60 +31 +0 +0 +LINE +5 +332 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +20 +20 +60 +30 +0 +11 +20.000000000000007 +21 +70 +31 +0 +0 +LINE +5 +333 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +20.000000000000004 +20 +89.999999999999986 +30 +0 +11 +20 +21 +100 +31 +0 +0 +LINE +5 +334 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +15.4 +20 +100 +30 +0 +11 +15.399999999999995 +21 +89.999999999999986 +31 +0 +0 +LINE +5 +335 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +15.399999999999993 +20 +70 +30 +0 +11 +15.4 +21 +60 +31 +0 +0 +ARC +5 +336 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +17.399999999999988 +20 +89.999999999999986 +30 +0 +40 +1.9999999999999929 +100 +AcDbArc +50 +180 +51 +270.00000000000034 +0 +ARC +5 +337 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +18.000000000000011 +20 +89.999999999999986 +30 +0 +40 +1.9999999999999929 +100 +AcDbArc +50 +-90.000000000000313 +51 +0 +0 +ARC +5 +338 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +17.400000000000006 +20 +69.999999999999986 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +90.000000000000199 +51 +180 +0 +ARC +5 +339 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +17.999999999999996 +20 +69.999999999999986 +30 +0 +40 +2.0000000000000129 +100 +AcDbArc +50 +0 +51 +89.999999999999901 +0 +ARC +5 +340 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +37.399999999999999 +20 +89.999999999999986 +30 +0 +40 +1.9999999999999929 +100 +AcDbArc +50 +180 +51 +270.00000000000023 +0 +ARC +5 +341 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +38 +20 +89.999999999999986 +30 +0 +40 +1.9999999999999929 +100 +AcDbArc +50 +-90 +51 +0 +0 +ARC +5 +342 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +37.400000000000013 +20 +69.999999999999986 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +90.000000000000199 +51 +180 +0 +ARC +5 +343 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +37.999999999999986 +20 +69.999999999999986 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +0 +51 +89.999999999999588 +0 +ARC +5 +344 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +57.399999999999977 +20 +89.999999999999972 +30 +0 +40 +1.9999999999999751 +100 +AcDbArc +50 +180 +51 +270.0000000000004 +0 +ARC +5 +345 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +58.000000000000014 +20 +89.999999999999972 +30 +0 +40 +1.9999999999999751 +100 +AcDbArc +50 +-90.000000000000398 +51 +0 +0 +ARC +5 +346 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +57.400000000000006 +20 +69.999999999999986 +30 +0 +40 +2.0000000000000195 +100 +AcDbArc +50 +90.000000000000398 +51 +180 +0 +ARC +5 +347 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +57.999999999999986 +20 +69.999999999999986 +30 +0 +40 +2.0000000000000195 +100 +AcDbArc +50 +0 +51 +89.999999999999588 +0 +ARC +5 +348 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +77.399999999999977 +20 +89.999999999999986 +30 +0 +40 +1.9999999999999929 +100 +AcDbArc +50 +180 +51 +270.0000000000004 +0 +ARC +5 +349 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +78.000000000000014 +20 +89.999999999999972 +30 +0 +40 +1.9999999999999751 +100 +AcDbArc +50 +-90.000000000000398 +51 +0 +0 +ARC +5 +350 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +77.399999999999977 +20 +70.000000000000014 +30 +0 +40 +1.9999999999999929 +100 +AcDbArc +50 +89.999999999999588 +51 +180 +0 +ARC +5 +351 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +77.999999999999986 +20 +69.999999999999986 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +0 +51 +89.999999999999588 +0 +ARC +5 +352 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +1.69999999999999 +20 +57.999999999999986 +30 +0 +40 +2.0000000000000102 +100 +AcDbArc +50 +0 +51 +89.999999999999716 +0 +ARC +5 +353 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +13.700000000000008 +20 +57.999999999999986 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +90.000000000000256 +51 +180 +0 +ARC +5 +354 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +1.69999999999999 +20 +58.000000000000007 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +270.00000000000034 +51 +360 +0 +ARC +5 +355 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +13.700000000000008 +20 +58.000000000000007 +30 +0 +40 +2.0000000000000084 +100 +AcDbArc +50 +180 +51 +269.99999999999972 +0 +ARC +5 +356 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +21.699999999999985 +20 +57.999999999999986 +30 +0 +40 +2.0000000000000151 +100 +AcDbArc +50 +0 +51 +89.999999999999588 +0 +ARC +5 +357 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +21.699999999999985 +20 +58.000000000000007 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +270.0000000000004 +51 +360 +0 +ARC +5 +358 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +33.700000000000017 +20 +57.999999999999986 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +90.000000000000398 +51 +180 +0 +ARC +5 +359 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +33.700000000000017 +20 +58.000000000000007 +30 +0 +40 +2.0000000000000151 +100 +AcDbArc +50 +180 +51 +269.9999999999996 +0 +ARC +5 +360 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +41.699999999999982 +20 +57.999999999999986 +30 +0 +40 +2.0000000000000195 +100 +AcDbArc +50 +0 +51 +89.999999999999389 +0 +ARC +5 +361 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +41.699999999999982 +20 +58.000000000000007 +30 +0 +40 +2.0000000000000195 +100 +AcDbArc +50 +270.00000000000063 +51 +360 +0 +ARC +5 +362 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +53.700000000000017 +20 +57.999999999999979 +30 +0 +40 +2.0000000000000195 +100 +AcDbArc +50 +90.000000000000398 +51 +180 +0 +ARC +5 +363 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +53.700000000000017 +20 +58.000000000000014 +30 +0 +40 +2.0000000000000195 +100 +AcDbArc +50 +180 +51 +269.9999999999996 +0 +ARC +5 +364 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +61.699999999999982 +20 +57.999999999999986 +30 +0 +40 +2.0000000000000195 +100 +AcDbArc +50 +0 +51 +89.999999999999389 +0 +ARC +5 +365 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +61.699999999999982 +20 +58.000000000000007 +30 +0 +40 +2.0000000000000195 +100 +AcDbArc +50 +270.00000000000063 +51 +360 +0 +ARC +5 +366 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +73.700000000000017 +20 +57.999999999999979 +30 +0 +40 +2.0000000000000195 +100 +AcDbArc +50 +90.000000000000398 +51 +180 +0 +ARC +5 +367 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +73.700000000000017 +20 +58.000000000000014 +30 +0 +40 +2.0000000000000195 +100 +AcDbArc +50 +180 +51 +269.9999999999996 +0 +ARC +5 +368 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +81.700000000000017 +20 +58.000000000000014 +30 +0 +40 +1.9999999999999751 +100 +AcDbArc +50 +0 +51 +90.000000000000398 +0 +ARC +5 +369 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +81.700000000000017 +20 +57.999999999999979 +30 +0 +40 +1.9999999999999751 +100 +AcDbArc +50 +-90.000000000000398 +51 +0 +0 +ARC +5 +370 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +1.6999999999999953 +20 +47 +30 +0 +40 +2.0000000000000044 +100 +AcDbArc +50 +0 +51 +89.999999999999716 +0 +ARC +5 +371 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +1.7000000000000037 +20 +46.999999999999993 +30 +0 +40 +1.9999999999999929 +100 +AcDbArc +50 +-90.000000000000256 +51 +0 +0 +ARC +5 +372 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +13.700000000000003 +20 +46.999999999999986 +30 +0 +40 +2.0000000000000018 +100 +AcDbArc +50 +90.000000000000099 +51 +180 +0 +ARC +5 +373 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +13.699999999999996 +20 +46.999999999999993 +30 +0 +40 +1.9999999999999973 +100 +AcDbArc +50 +180 +51 +270.00000000000023 +0 +ARC +5 +374 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +21.699999999999989 +20 +46.999999999999986 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +0 +51 +89.999999999999702 +0 +ARC +5 +375 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +21.700000000000003 +20 +46.999999999999993 +30 +0 +40 +1.9999999999999929 +100 +AcDbArc +50 +-90.000000000000199 +51 +0 +0 +ARC +5 +376 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +33.70000000000001 +20 +46.999999999999986 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +90.000000000000199 +51 +180 +0 +ARC +5 +377 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +33.699999999999996 +20 +46.999999999999993 +30 +0 +40 +1.9999999999999973 +100 +AcDbArc +50 +180 +51 +270.00000000000023 +0 +ARC +5 +378 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +41.699999999999989 +20 +46.999999999999986 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +0 +51 +89.999999999999588 +0 +ARC +5 +379 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +41.70000000000001 +20 +46.999999999999993 +30 +0 +40 +1.9999999999999929 +100 +AcDbArc +50 +-90.000000000000611 +51 +0 +0 +ARC +5 +380 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +53.70000000000001 +20 +46.999999999999972 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +90.000000000000199 +51 +180 +0 +ARC +5 +381 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +53.700000000000003 +20 +47 +30 +0 +40 +2.0000000000000018 +100 +AcDbArc +50 +180 +51 +270.00000000000023 +0 +ARC +5 +382 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +61.699999999999989 +20 +46.999999999999986 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +0 +51 +89.999999999999588 +0 +ARC +5 +383 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +61.70000000000001 +20 +46.999999999999993 +30 +0 +40 +1.9999999999999929 +100 +AcDbArc +50 +-90.000000000000611 +51 +0 +0 +ARC +5 +384 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +73.700000000000017 +20 +46.999999999999972 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +90.000000000000398 +51 +180 +0 +ARC +5 +385 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +81.700000000000003 +20 +47 +30 +0 +40 +1.9999999999999929 +100 +AcDbArc +50 +0 +51 +89.999999999999588 +0 +ARC +5 +386 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +73.700000000000003 +20 +47 +30 +0 +40 +2.0000000000000018 +100 +AcDbArc +50 +180 +51 +270.0000000000004 +0 +ARC +5 +387 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +81.700000000000017 +20 +46.999999999999986 +30 +0 +40 +1.9999999999999751 +100 +AcDbArc +50 +-90.000000000000398 +51 +0 +0 +ARC +5 +388 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +93.699999999999989 +20 +47 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +90.000000000000398 +51 +180 +0 +ARC +5 +389 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +93.69999999999996 +20 +46.999999999999986 +30 +0 +40 +1.9999999999999751 +100 +AcDbArc +50 +180 +51 +270.0000000000004 +0 +ARC +5 +390 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +93.69999999999996 +20 +57.999999999999979 +30 +0 +40 +1.9999999999999751 +100 +AcDbArc +50 +180 +51 +270.0000000000004 +0 +ARC +5 +391 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +93.69999999999996 +20 +58.000000000000014 +30 +0 +40 +1.9999999999999751 +100 +AcDbArc +50 +89.999999999999588 +51 +180 +0 +ARC +5 +392 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +17.400000000000002 +20 +34.999999999999993 +30 +0 +40 +2.0000000000000018 +100 +AcDbArc +50 +180 +51 +269.99999999999989 +0 +ARC +5 +393 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +18 +20 +34.999999999999993 +30 +0 +40 +2.0000000000000018 +100 +AcDbArc +50 +-90 +51 +0 +0 +ARC +5 +394 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +17.399999999999999 +20 +15.000000000000002 +30 +0 +40 +1.9999999999999996 +100 +AcDbArc +50 +90 +51 +180 +0 +ARC +5 +395 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +18 +20 +15.000000000000004 +30 +0 +40 +1.9999999999999973 +100 +AcDbArc +50 +0 +51 +90 +0 +ARC +5 +396 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +37.400000000000006 +20 +34.999999999999993 +30 +0 +40 +2.0000000000000062 +100 +AcDbArc +50 +180 +51 +270 +0 +ARC +5 +397 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +37.999999999999993 +20 +34.999999999999993 +30 +0 +40 +2.0000000000000062 +100 +AcDbArc +50 +-89.999999999999801 +51 +0 +0 +ARC +5 +398 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +37.400000000000006 +20 +15 +30 +0 +40 +2.0000000000000018 +100 +AcDbArc +50 +90 +51 +180 +0 +ARC +5 +399 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +38 +20 +15 +30 +0 +40 +2.0000000000000018 +100 +AcDbArc +50 +0 +51 +90 +0 +ARC +5 +400 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +57.400000000000006 +20 +35.000000000000007 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +180 +51 +269.9999999999996 +0 +ARC +5 +401 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +57.999999999999986 +20 +35.000000000000007 +30 +0 +40 +2.0000000000000151 +100 +AcDbArc +50 +270.0000000000004 +51 +360 +0 +ARC +5 +402 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +57.400000000000006 +20 +14.999999999999993 +30 +0 +40 +2.0000000000000084 +100 +AcDbArc +50 +90.000000000000398 +51 +180 +0 +ARC +5 +403 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +57.999999999999986 +20 +14.999999999999991 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +0 +51 +89.999999999999588 +0 +ARC +5 +404 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +77.399999999999991 +20 +34.999999999999986 +30 +0 +40 +2.0000000000000018 +100 +AcDbArc +50 +180 +51 +270 +0 +ARC +5 +405 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +77.999999999999986 +20 +35.000000000000007 +30 +0 +40 +2.0000000000000151 +100 +AcDbArc +50 +270.0000000000004 +51 +360 +0 +ARC +5 +406 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +77.399999999999991 +20 +15.000000000000011 +30 +0 +40 +1.9999999999999907 +100 +AcDbArc +50 +90 +51 +180 +0 +ARC +5 +407 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +77.999999999999986 +20 +14.999999999999991 +30 +0 +40 +2.0000000000000107 +100 +AcDbArc +50 +0 +51 +89.999999999999588 +0 +ENDSEC +0 +SECTION +2 +OBJECTS +0 +DICTIONARY +5 +C +100 +AcDbDictionary +3 +ACAD_GROUP +350 +D +3 +ACAD_MLINESTYLE +350 +17 +0 +DICTIONARY +5 +D +100 +AcDbDictionary +0 +DICTIONARY +5 +1A +330 +C +100 +AcDbDictionary +0 +DICTIONARY +5 +17 +100 +AcDbDictionary +0 +ENDSEC +0 +EOF diff --git a/gerbonara/gerber/tests/panelize/data/ref_dxf_metric.dxf b/gerbonara/gerber/tests/panelize/data/ref_dxf_metric.dxf new file mode 100644 index 0000000..8861d4b --- /dev/null +++ b/gerbonara/gerber/tests/panelize/data/ref_dxf_metric.dxf @@ -0,0 +1,654 @@ +0 +SECTION +2 +HEADER +9 +$INSUNITS +70 +4 +9 +$ACADVER +1 +AC1014 +9 +$HANDSEED +5 +FFFF +0 +ENDSEC +0 +SECTION +2 +TABLES +0 +TABLE +2 +VPORT +5 +8 +100 +AcDbSymbolTable +0 +ENDTAB +0 +TABLE +2 +LTYPE +5 +5 +100 +AcDbSymbolTable +0 +LTYPE +5 +14 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord +2 +BYBLOCK +70 +0 +0 +LTYPE +5 +15 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord +2 +BYLAYER +70 +0 +0 +ENDTAB +0 +TABLE +2 +LAYER +5 +2 +100 +AcDbSymbolTable +70 +2 +0 +LAYER +5 +50 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord +2 +0 +70 +0 +6 +CONTINUOUS +0 +ENDTAB +0 +TABLE +2 +STYLE +5 +3 +100 +AcDbSymbolTable +70 +1 +0 +STYLE +5 +11 +100 +AcDbSymbolTableRecord +100 +AcDbTextStyleTableRecord +2 +STANDARD +70 +0 +0 +ENDTAB +0 +TABLE +2 +VIEW +5 +6 +100 +AcDbSymbolTable +70 +0 +0 +ENDTAB +0 +TABLE +2 +UCS +5 +7 +100 +AcDbSymbolTable +70 +0 +0 +ENDTAB +0 +TABLE +2 +APPID +5 +9 +100 +AcDbSymbolTable +70 +2 +0 +APPID +5 +12 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord +2 +ACAD +70 +0 +0 +ENDTAB +0 +TABLE +2 +DIMSTYLE +5 +A +100 +AcDbSymbolTable +70 +1 +0 +ENDTAB +0 +TABLE +2 +BLOCK_RECORD +5 +1 +100 +AcDbSymbolTable +70 +1 +0 +BLOCK_RECORD +5 +1F +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord +2 +*MODEL_SPACE +0 +BLOCK_RECORD +5 +1B +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord +2 +*PAPER_SPACE +0 +ENDTAB +0 +ENDSEC +0 +SECTION +2 +BLOCKS +0 +BLOCK +5 +20 +100 +AcDbEntity +100 +AcDbBlockBegin +2 +*MODEL_SPACE +0 +ENDBLK +5 +21 +100 +AcDbEntity +100 +AcDbBlockEnd +0 +BLOCK +5 +1C +100 +AcDbEntity +100 +AcDbBlockBegin +2 +*PAPER_SPACE +0 +ENDBLK +5 +1D +100 +AcDbEntity +100 +AcDbBlockEnd +0 +ENDSEC +0 +SECTION +2 +ENTITIES +0 +LWPOLYLINE +5 +100 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +8 +70 +1 +43 +0.0 +10 +40 +20 +0 +10 +9.9999999999999982 +20 +1.1102230246251565e-15 +42 +-0.41421356237309565 +10 +1.1102230246251565e-15 +20 +10 +10 +1.1102230246251565e-15 +20 +40 +42 +-0.41421356237309553 +10 +10 +20 +50 +10 +40 +20 +50 +42 +-0.41421356237309603 +10 +50 +20 +40 +10 +50 +20 +9.9999999999999982 +42 +-0.41421356237309548 +0 +LWPOLYLINE +5 +101 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +8 +70 +1 +43 +0.0 +10 +74.270404858697972 +20 +75.039392445007664 +10 +74.270404858697972 +20 +45.039392445007664 +42 +-0.41421356237309553 +10 +64.270404858697972 +20 +35.039392445007664 +10 +34.270404858697965 +20 +35.039392445007664 +42 +-0.41421356237309553 +10 +24.270404858697965 +20 +45.039392445007664 +10 +24.270404858697958 +20 +75.039392445007664 +42 +-0.41421356237309553 +10 +34.270404858697965 +20 +85.039392445007678 +10 +64.270404858697972 +20 +85.039392445007678 +42 +-0.41421356237309603 +0 +CIRCLE +5 +102 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +80.154604804025013 +20 +12.631646043929035 +30 +0 +40 +12.546259950593821 +210 +0 +220 +0 +230 +1 +0 +CIRCLE +5 +103 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +50 +20 +65 +30 +0 +40 +10.277260744660863 +210 +0 +220 +0 +230 +1 +0 +ARC +5 +104 +100 +AcDbEntity +8 +0 +100 +AcDbCircle +10 +50 +20 +65 +30 +0 +40 +6.4592498736207826 +210 +0 +220 +-0 +230 +1 +100 +AcDbArc +50 +90 +51 +345.73898023603914 +0 +LINE +5 +105 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +50 +20 +65 +30 +0 +11 +56.26019871530297 +21 +63.408830312383643 +31 +0 +0 +LINE +5 +106 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +50 +20 +65 +30 +0 +11 +50 +21 +71.459249873620777 +31 +0 +0 +LWPOLYLINE +5 +107 +100 +AcDbEntity +8 +0 +100 +AcDbPolyline +90 +4 +70 +1 +43 +0.0 +10 +38.203772564818578 +20 +42.206179116779516 +10 +13.451174232106741 +20 +42.206179116779516 +10 +13.451174232106741 +20 +13.596032991956758 +10 +38.203772564818578 +20 +13.596032991956758 +0 +LINE +5 +108 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +80 +20 +85 +30 +0 +11 +80 +21 +35 +31 +0 +0 +LINE +5 +109 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +90 +20 +85 +30 +0 +11 +90 +21 +35 +31 +0 +0 +LINE +5 +110 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +20 +20 +32.938987371135568 +30 +0 +11 +32.582672402541192 +21 +32.938987371135568 +31 +0 +0 +LINE +5 +111 +100 +AcDbEntity +8 +0 +100 +AcDbLine +10 +32.582672402541192 +20 +32.938987371135568 +30 +0 +11 +32.582672402541192 +21 +17.844276543429842 +31 +0 +0 +ENDSEC +0 +SECTION +2 +OBJECTS +0 +DICTIONARY +5 +C +100 +AcDbDictionary +3 +ACAD_GROUP +350 +D +3 +ACAD_MLINESTYLE +350 +17 +0 +DICTIONARY +5 +D +100 +AcDbDictionary +0 +DICTIONARY +5 +1A +330 +C +100 +AcDbDictionary +0 +DICTIONARY +5 +17 +100 +AcDbDictionary +0 +ENDSEC +0 +EOF diff --git a/gerbonara/gerber/tests/panelize/data/ref_gerber_inch.gtl b/gerbonara/gerber/tests/panelize/data/ref_gerber_inch.gtl new file mode 100644 index 0000000..3ec60d8 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/data/ref_gerber_inch.gtl @@ -0,0 +1,79 @@ +%MOIN*% +%FSLAX25Y25*% +%INTop Layer*% +%IPPOS*% +%AMCOMP* +20,1,0.00787402,0,0.00393701,0.015748,0.00393701,$1* +21,1,0.015748,0.00787402,-0.00787402,-0.00393701,$1* +1,1,0.015748,-0.0472441,0,$1* +4,1,4,0.0472441,0,0.0551181,-0.00787402,0.0472441,-0.015748,0.0393701,-0.00787402,0.0472441,0,$1* +5,1,6,0.0472441,0.00787402,0.015748,$1* +6,-0.0275591,0,0.019685,0.0019685,0.00590551,2,0.0019685,0.023622,$1* +7,0.0275591,0,0.023622,0.019685,0.00590551,$1*% +%ADD10C,0.0003937*% +%ADD11C,0.03937X0.01575*% +%ADD12R,0.03937X0.01969X0.007874*% +%ADD13O,0.03937X0.01969X0.007874*% +%ADD14O,0.01969X0.03937X0.007874*% +%ADD15P,0.03937X5X90X0.007874*% +%ADD16COMP,0*% +%ADD17COMP,45*% +%ADD18COMP,-45*% +G75* +%LPD*% +D10* +G01* +X3937Y0D02* +X35433Y0D01* +G03* +X39370Y3937I0J3937D01* +G01* +X39370Y35433D01* +G03* +X35433Y39370I-3937J0D01* +G01* +X3937Y39370D01* +G03* +X0Y35433I0J-3937D01* +G01* +X0Y3937D01* +G03* +X3937Y0I3937J0D01* +G01* +G36* +G01* +X17717Y3937D02* +X19685Y3937D01* +G03* +X21654Y5906I0J1969D01* +G01* +X21654Y33465D01* +G03* +X19685Y35433I-1969J0D01* +G01* +X17717Y35433D01* +G03* +X15748Y33465I0J-1969D01* +G01* +X15748Y5906D01* +G03* +X17717Y3937I1969J0D01* +G01* +G37* +D11* +X9843Y3937D03* +D12* +X9843Y11811D03* +D13* +X9843Y19685D03* +D14* +X9843Y27559D03* +D15* +X9843Y35433D03* +D16* +X29528Y19685D03* +D17* +X29528Y29528D03* +D18* +X29528Y9843D03* +M02* diff --git a/gerbonara/gerber/tests/panelize/data/ref_gerber_metric.gtl b/gerbonara/gerber/tests/panelize/data/ref_gerber_metric.gtl new file mode 100644 index 0000000..8dfbdd4 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/data/ref_gerber_metric.gtl @@ -0,0 +1,84 @@ +%MOMM*% +%FSLAX34Y34*% +%INTop Layer*% +%IPPOS*% +%AMCOMP* +20,1,0.2,0,0.1,0.4,0.1,$1* +21,1,0.4,0.2,-0.2,-0.1,$1* +1,1,0.4,-1.2,0,$1* +4,1,4,1.2,0,1.4,-0.2,1.2,-0.4,1,-0.2,1.2,0,$1* +5,1,6,1.2,0.2,0.4,$1* +6,-0.7,0,0.5,0.05,0.15,2,0.05,0.6,$1* +7,0.7,0,0.6,0.5,0.15,$1*% +%ADD10C,0.01*% +%ADD11C,1X0.4*% +%ADD12R,1X0.5X0.2*% +%ADD13O,1X0.5X0.2*% +%ADD14O,0.5X1X0.2*% +%ADD15P,1X5X90X0.2*% +%ADD16COMP,0*% +%ADD17COMP,45*% +%ADD18COMP,-45*% +G75* +%LPD*% + +D10* +G01* +X10000Y0D02* +X90000Y0D01* +G03* +X100000Y10000I0J10000D01* +G01* +X100000Y90000D01* +G03* +X90000Y100000I-10000J0D01* +G01* +X10000Y100000D01* +G03* +X0Y90000I0J-10000D01* +G01* +X0Y10000D01* +G03* +X10000Y0I10000J0D01* +G01* + +G36* +G01* +X45000Y10000D02* +X50000Y10000D01* +G03* +X55000Y15000I0J5000D01* +G01* +X55000Y85000D01* +G03* +X50000Y90000I-5000J0D01* +G01* +X45000Y90000D01* +G03* +X40000Y85000I0J-5000D01* +G01* +X40000Y15000D01* +G03* +X45000Y10000I5000J0D01* +G01* +G37* + +D11* +X25000Y10000D03* +D12* +X25000Y30000D03* +D13* +X25000Y50000D03* +D14* +X25000Y70000D03* +D15* +X25000Y90000D03* + +D16* +X75000Y50000D03* +D17* +X75000Y75000D03* +D18* +X75000Y25000D03* + +M02* diff --git a/gerbonara/gerber/tests/panelize/data/ref_gerber_single_quadrant.gtl b/gerbonara/gerber/tests/panelize/data/ref_gerber_single_quadrant.gtl new file mode 100644 index 0000000..f31f1e7 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/data/ref_gerber_single_quadrant.gtl @@ -0,0 +1,40 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%ADD10C,0.1*% +G74* +%LPD*% + +D10* + +G36* +G01* +X0Y10000D02* +Y90000D01* +G02* +X10000Y100000I10000* +X20000Y90000J10000* +G01* +Y20000* +X40000* +G02* +X50000Y10000J10000* +X40000Y0I10000* +G01* +X10000* +G02* +X0Y10000J10000* +G37* + +G03* +X70000Y50000D02* +X60000Y60000I10000D01* +X50000Y50000J10000* +X60000Y40000I10000* +X70000Y50000J10000* + +G02* +X60000Y90000D02* +X60000Y90000I10000D01* + +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/RS2724x_offset.gtl b/gerbonara/gerber/tests/panelize/expects/RS2724x_offset.gtl new file mode 100644 index 0000000..3dc3e6a --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/RS2724x_offset.gtl @@ -0,0 +1,78 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%AMCOMP* +20,1,0.2,0,0.1,0.4,0.1,$1* +21,1,0.4,0.2,-0.2,-0.1,$1* +1,1,0.4,-1.2,0,$1* +4,1,4,1.2,0,1.4,-0.2,1.2,-0.4,1,-0.2,1.2,0,$1* +5,1,6,1.2,0.2,0.4,$1* +6,-0.7,0,0.5,0.05,0.15,2,0.05,0.6,$1* +7,0.7,0,0.6,0.5,0.15,$1*% +%ADD10C,0.01*% +%ADD11C,1X0.4*% +%ADD12R,1X0.5X0.2*% +%ADD13O,1X0.5X0.2*% +%ADD14O,0.5X1X0.2*% +%ADD15P,1X5X90X0.2*% +%ADD16COMP,0*% +%ADD17COMP,45*% +%ADD18COMP,-45*% +G75* +%LPD*% +D10* +G01* +X120000Y50000D02* +X200000Y50000D01* +G03* +X210000Y60000I0J10000D01* +G01* +X210000Y140000D01* +G03* +X200000Y150000I-10000J0D01* +G01* +X120000Y150000D01* +G03* +X110000Y140000I0J-10000D01* +G01* +X110000Y60000D01* +G03* +X120000Y50000I10000J0D01* +G01* +G36* +G01* +X155000Y60000D02* +X160000Y60000D01* +G03* +X165000Y65000I0J5000D01* +G01* +X165000Y135000D01* +G03* +X160000Y140000I-5000J0D01* +G01* +X155000Y140000D01* +G03* +X150000Y135000I0J-5000D01* +G01* +X150000Y65000D01* +G03* +X155000Y60000I5000J0D01* +G01* +G37* +D11* +X135000Y60000D03* +D12* +X135000Y80000D03* +D13* +X135000Y100000D03* +D14* +X135000Y120000D03* +D15* +X135000Y140000D03* +D16* +X185000Y100000D03* +D17* +X185000Y125000D03* +D18* +X185000Y75000D03* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/RS2724x_rotate.gtl b/gerbonara/gerber/tests/panelize/expects/RS2724x_rotate.gtl new file mode 100644 index 0000000..f7c82cd --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/RS2724x_rotate.gtl @@ -0,0 +1,98 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%AMCOMP* +20,1,0.2,0,0.1,0.4,0.1,($1)+(20)* +21,1,0.4,0.2,-0.2,-0.1,($1)+(20)* +1,1,0.4,-1.2,0,($1)+(20)* +4,1,4,1.2,0,1.4,-0.2,1.2,-0.4,1,-0.2,1.2,0,($1)+(20)* +5,1,6,1.2,0.2,0.4,($1)+(20)* +6,-0.7,0,0.5,0.05,0.15,2,0.05,0.6,($1)+(20)* +7,0.7,0,0.6,0.5,0.15,($1)+(20)*% +%AMMACR* +21,1,$1,$2,0,0,20* +1,0,$3,0,0,20*% +%AMMACLO* +$4=($1)-($2)* +$5=($1)-($4)* +21,1,$5,$2,0,0,20* +1,1,$4,($4)/(2),0,20* +1,1,$4,($4)/(-2),0,20* +1,0,$3,0,0,20*% +%AMMACPO* +$4=($2)-($1)* +$5=($2)-($4)* +21,1,$1,$5,0,0,20* +1,1,$4,0,($4)/(2),20* +1,1,$4,0,($4)/(-2),20* +1,0,$3,0,0,20*% +%AMMACP* +5,1,$2,0,0,$1,($3)+(20)* +1,0,$4,0,0,20*% +%ADD10C,0.01*% +%ADD11C,1X0.4*% +%ADD12MACR,1X0.5X0.2*% +%ADD13MACLO,1X0.5X0.2*% +%ADD14MACPO,0.5X1X0.2*% +%ADD15MACP,1X5X90X0.2*% +%ADD16COMP,0*% +%ADD17COMP,45*% +%ADD18COMP,-45*% +G75* +%LPD*% +D10* +G01* +X49630Y-24751D02* +X124805Y2611D01* +G03* +X130782Y15428I-3420J9397D01* +G01* +X103420Y90603D01* +G03* +X90603Y96580I-9397J-3420D01* +G01* +X15428Y69218D01* +G03* +X9451Y56401I3420J-9397D01* +G01* +X36813Y-18774D01* +G03* +X49630Y-24751I9397J3420D01* +G01* +G36* +G01* +X79099Y-3383D02* +X83797Y-1673D01* +G03* +X86786Y4735I-1710J4698D01* +G01* +X62844Y70514D01* +G03* +X56436Y73502I-4698J-1710D01* +G01* +X51737Y71792D01* +G03* +X48749Y65383I1710J-4698D01* +G01* +X72690Y-395D01* +G03* +X79099Y-3383I4698J1710D01* +G01* +G37* +D11* +X60305Y-10224D03* +D12* +X53464Y8570D03* +D13* +X46624Y27364D03* +D14* +X39784Y46158D03* +D15* +X32943Y64952D03* +D16* +X93609Y44465D03* +D17* +X85058Y67957D03* +D18* +X102159Y20973D03* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/RS2724x_save.gtl b/gerbonara/gerber/tests/panelize/expects/RS2724x_save.gtl new file mode 100644 index 0000000..5053d99 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/RS2724x_save.gtl @@ -0,0 +1,78 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%AMCOMP* +20,1,0.2,0,0.1,0.4,0.1,$1* +21,1,0.4,0.2,-0.2,-0.1,$1* +1,1,0.4,-1.2,0,$1* +4,1,4,1.2,0,1.4,-0.2,1.2,-0.4,1,-0.2,1.2,0,$1* +5,1,6,1.2,0.2,0.4,$1* +6,-0.7,0,0.5,0.05,0.15,2,0.05,0.6,$1* +7,0.7,0,0.6,0.5,0.15,$1*% +%ADD10C,0.01*% +%ADD11C,1X0.4*% +%ADD12R,1X0.5X0.2*% +%ADD13O,1X0.5X0.2*% +%ADD14O,0.5X1X0.2*% +%ADD15P,1X5X90X0.2*% +%ADD16COMP,0*% +%ADD17COMP,45*% +%ADD18COMP,-45*% +G75* +%LPD*% +D10* +G01* +X10000Y0D02* +X90000Y0D01* +G03* +X100000Y10000I0J10000D01* +G01* +X100000Y90000D01* +G03* +X90000Y100000I-10000J0D01* +G01* +X10000Y100000D01* +G03* +X0Y90000I0J-10000D01* +G01* +X0Y10000D01* +G03* +X10000Y0I10000J0D01* +G01* +G36* +G01* +X45000Y10000D02* +X50000Y10000D01* +G03* +X55000Y15000I0J5000D01* +G01* +X55000Y85000D01* +G03* +X50000Y90000I-5000J0D01* +G01* +X45000Y90000D01* +G03* +X40000Y85000I0J-5000D01* +G01* +X40000Y15000D01* +G03* +X45000Y10000I5000J0D01* +G01* +G37* +D11* +X25000Y10000D03* +D12* +X25000Y30000D03* +D13* +X25000Y50000D03* +D14* +X25000Y70000D03* +D15* +X25000Y90000D03* +D16* +X75000Y50000D03* +D17* +X75000Y75000D03* +D18* +X75000Y25000D03* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/RS2724x_single_quadrant.gtl b/gerbonara/gerber/tests/panelize/expects/RS2724x_single_quadrant.gtl new file mode 100644 index 0000000..dbec705 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/RS2724x_single_quadrant.gtl @@ -0,0 +1,35 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%ADD10C,0.1*% +G75* +%LPD*% +D10* +G36* +G01* +X0Y10000D02* +X0Y90000D01* +G02* +X10000Y100000I10000J0D01* +X20000Y90000I0J-10000D01* +G01* +X20000Y20000D01* +X40000Y20000D01* +G02* +X50000Y10000I0J-10000D01* +X40000Y0I-10000J0D01* +G01* +X10000Y0D01* +G02* +X0Y10000I0J10000D01* +G37* +G03* +X70000Y50000D02* +X60000Y60000I-10000J0D01* +X50000Y50000I0J-10000D01* +X60000Y40000I10000J0D01* +X70000Y50000I0J10000D01* +G02* +X60000Y90000D02* +X60000Y90000I0J0D01* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/RS2724x_to_inch.gtl b/gerbonara/gerber/tests/panelize/expects/RS2724x_to_inch.gtl new file mode 100644 index 0000000..cb9234e --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/RS2724x_to_inch.gtl @@ -0,0 +1,78 @@ +%MOIN*% +%FSLAX25Y25*% +%IPPOS*% +%AMCOMP* +20,1,0.00787402,0,0.00393701,0.015748,0.00393701,$1* +21,1,0.015748,0.00787402,-0.00787402,-0.00393701,$1* +1,1,0.015748,-0.0472441,0,$1* +4,1,4,0.0472441,0,0.0551181,-0.00787402,0.0472441,-0.015748,0.0393701,-0.00787402,0.0472441,0,$1* +5,1,6,0.0472441,0.00787402,0.015748,$1* +6,-0.0275591,0,0.019685,0.0019685,0.00590551,2,0.0019685,0.023622,$1* +7,0.0275591,0,0.023622,0.019685,0.00590551,$1*% +%ADD10C,0.0003937*% +%ADD11C,0.03937X0.01575*% +%ADD12R,0.03937X0.01969X0.007874*% +%ADD13O,0.03937X0.01969X0.007874*% +%ADD14O,0.01969X0.03937X0.007874*% +%ADD15P,0.03937X5X90X0.007874*% +%ADD16COMP,0*% +%ADD17COMP,45*% +%ADD18COMP,-45*% +G75* +%LPD*% +D10* +G01* +X3937Y0D02* +X35433Y0D01* +G03* +X39370Y3937I0J3937D01* +G01* +X39370Y35433D01* +G03* +X35433Y39370I-3937J0D01* +G01* +X3937Y39370D01* +G03* +X0Y35433I0J-3937D01* +G01* +X0Y3937D01* +G03* +X3937Y0I3937J0D01* +G01* +G36* +G01* +X17717Y3937D02* +X19685Y3937D01* +G03* +X21654Y5906I0J1969D01* +G01* +X21654Y33465D01* +G03* +X19685Y35433I-1969J0D01* +G01* +X17717Y35433D01* +G03* +X15748Y33465I0J-1969D01* +G01* +X15748Y5906D01* +G03* +X17717Y3937I1969J0D01* +G01* +G37* +D11* +X9843Y3937D03* +D12* +X9843Y11811D03* +D13* +X9843Y19685D03* +D14* +X9843Y27559D03* +D15* +X9843Y35433D03* +D16* +X29528Y19685D03* +D17* +X29528Y29528D03* +D18* +X29528Y9843D03* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/RS2724x_to_metric.gtl b/gerbonara/gerber/tests/panelize/expects/RS2724x_to_metric.gtl new file mode 100644 index 0000000..a8efda8 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/RS2724x_to_metric.gtl @@ -0,0 +1,78 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%AMCOMP* +20,1,0.2,0,0.1,0.399999,0.1,$1* +21,1,0.399999,0.2,-0.2,-0.1,$1* +1,1,0.399999,-1.2,0,$1* +4,1,4,1.2,0,1.4,-0.2,1.2,-0.399999,1,-0.2,1.2,0,$1* +5,1,6,1.2,0.2,0.399999,$1* +6,-0.700001,0,0.499999,0.0499999,0.15,2,0.0499999,0.599999,$1* +7,0.700001,0,0.599999,0.499999,0.15,$1*% +%ADD10C,0.01*% +%ADD11C,1X0.4*% +%ADD12R,1X0.5001X0.2*% +%ADD13O,1X0.5001X0.2*% +%ADD14O,0.5001X1X0.2*% +%ADD15P,1X5X90X0.2*% +%ADD16COMP,0*% +%ADD17COMP,45*% +%ADD18COMP,-45*% +G75* +%LPD*% +D10* +G01* +X10000Y0D02* +X90000Y0D01* +G03* +X100000Y10000I0J10000D01* +G01* +X100000Y90000D01* +G03* +X90000Y100000I-10000J0D01* +G01* +X10000Y100000D01* +G03* +X0Y90000I0J-10000D01* +G01* +X0Y10000D01* +G03* +X10000Y0I10000J0D01* +G01* +G36* +G01* +X45001Y10000D02* +X50000Y10000D01* +G03* +X55001Y15001I0J5001D01* +G01* +X55001Y85001D01* +G03* +X50000Y90000I-5001J0D01* +G01* +X45001Y90000D01* +G03* +X40000Y85001I0J-5001D01* +G01* +X40000Y15001D01* +G03* +X45001Y10000I5001J0D01* +G01* +G37* +D11* +X25001Y10000D03* +D12* +X25001Y30000D03* +D13* +X25001Y50000D03* +D14* +X25001Y70000D03* +D15* +X25001Y90000D03* +D16* +X75001Y50000D03* +D17* +X75001Y75001D03* +D18* +X75001Y25001D03* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_complex_fill.gtl b/gerbonara/gerber/tests/panelize/expects/dxf_complex_fill.gtl new file mode 100644 index 0000000..e667789 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_complex_fill.gtl @@ -0,0 +1,729 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%ADD10C,0*% +G75* +%LPD*% +D10* +G36* +G01* +X800000Y150000D02* +G75* +G03* +X780000Y170000I-20000J0D01* +G01* +X774000Y170000D01* +G03* +X754000Y150000I0J-20000D01* +G01* +X754000Y50000D01* +G01* +X600000Y50000D01* +G01* +X600000Y150000D01* +G03* +X580000Y170000I-20000J0D01* +G01* +X574000Y170000D01* +G03* +X554000Y150000I0J-20000D01* +G01* +X554000Y50000D01* +G01* +X400000Y50000D01* +G01* +X400000Y150000D01* +G03* +X380000Y170000I-20000J0D01* +G01* +X374000Y170000D01* +G03* +X354000Y150000I0J-20000D01* +G01* +X354000Y50000D01* +G01* +X200000Y50000D01* +G01* +X200000Y150000D01* +G03* +X180000Y170000I-20000J0D01* +G01* +X174000Y170000D01* +G03* +X154000Y150000I0J-20000D01* +G01* +X154000Y50000D01* +G01* +X0Y50000D01* +G01* +X0Y450000D01* +G01* +X17000Y450000D01* +G03* +X37000Y470000I0J20000D01* +G03* +X17000Y490000I-20000J0D01* +G01* +X0Y490000D01* +G01* +X0Y560000D01* +G01* +X17000Y560000D01* +G03* +X37000Y580000I0J20000D01* +G03* +X17000Y600000I-20000J0D01* +G01* +X0Y600000D01* +G01* +X0Y1000000D01* +G01* +X154000Y1000000D01* +G01* +X154000Y900000D01* +G03* +X174000Y880000I20000J0D01* +G01* +X180000Y880000D01* +G03* +X200000Y900000I0J20000D01* +G01* +X200000Y1000000D01* +G01* +X354000Y1000000D01* +G01* +X354000Y900000D01* +G03* +X374000Y880000I20000J0D01* +G01* +X380000Y880000D01* +G03* +X400000Y900000I0J20000D01* +G01* +X400000Y1000000D01* +G01* +X554000Y1000000D01* +G01* +X554000Y900000D01* +G03* +X574000Y880000I20000J0D01* +G01* +X580000Y880000D01* +G03* +X600000Y900000I0J20000D01* +G01* +X600000Y1000000D01* +G01* +X754000Y1000000D01* +G01* +X754000Y900000D01* +G03* +X774000Y880000I20000J0D01* +G01* +X780000Y880000D01* +G03* +X800000Y900000I0J20000D01* +G01* +X800000Y1000000D01* +G01* +X954000Y1000000D01* +G01* +X954000Y600000D01* +G01* +X937000Y600000D01* +G03* +X917000Y580000I0J-20000D01* +G03* +X937000Y560000I20000J0D01* +G01* +X954000Y560000D01* +G01* +X954000Y490000D01* +G01* +X937000Y490000D01* +G03* +X917000Y470000I0J-20000D01* +G03* +X937000Y450000I20000J0D01* +G01* +X954000Y450000D01* +G01* +X954000Y50000D01* +G01* +X800000Y50000D01* +G01* +X800000Y150000D01* +G37* +%LPC*% +G36* +G01* +X624500Y620350D02* +G75* +G01* +X624500Y633350D01* +G03* +X612500Y633350I-6000J0D01* +G01* +X612500Y620350D01* +G03* +X624500Y620350I6000J0D01* +G01* +X824500Y620350D02* +G75* +G02* +X812500Y620350I-6000J0D01* +G01* +X812500Y633350D01* +G02* +X824500Y633350I6000J0D01* +G01* +X824500Y620350D01* +G01* +X729500Y633350D02* +G75* +G02* +X741500Y633350I6000J0D01* +G01* +X741500Y620350D01* +G02* +X729500Y620350I-6000J0D01* +G01* +X729500Y633350D01* +G01* +X141500Y620350D02* +G75* +G01* +X141500Y633350D01* +G03* +X129500Y633350I-6000J0D01* +G01* +X129500Y620350D01* +G03* +X141500Y620350I6000J0D01* +G01* +X212500Y429650D02* +G75* +G01* +X212500Y416650D01* +G03* +X224500Y416650I6000J0D01* +G01* +X224500Y429650D01* +G03* +X212500Y429650I-6000J0D01* +G01* +X341500Y416650D02* +G75* +G01* +X341500Y429650D01* +G03* +X329500Y429650I-6000J0D01* +G01* +X329500Y416650D01* +G03* +X341500Y416650I6000J0D01* +G01* +X341500Y620350D02* +G75* +G01* +X341500Y633350D01* +G03* +X329500Y633350I-6000J0D01* +G01* +X329500Y620350D01* +G03* +X341500Y620350I6000J0D01* +G01* +X624500Y416650D02* +G75* +G01* +X624500Y429650D01* +G03* +X612500Y429650I-6000J0D01* +G01* +X612500Y416650D01* +G03* +X624500Y416650I6000J0D01* +G01* +X729500Y429650D02* +G75* +G01* +X729500Y416650D01* +G03* +X741500Y416650I6000J0D01* +G01* +X741500Y429650D01* +G03* +X729500Y429650I-6000J0D01* +G01* +X541500Y620350D02* +G75* +G02* +X529500Y620350I-6000J0D01* +G01* +X529500Y633350D01* +G02* +X541500Y633350I6000J0D01* +G01* +X541500Y620350D01* +G01* +X929500Y633350D02* +G75* +G02* +X941500Y633350I6000J0D01* +G01* +X941500Y620350D01* +G02* +X929500Y620350I-6000J0D01* +G01* +X929500Y633350D01* +G01* +X412500Y429650D02* +G75* +G01* +X412500Y416650D01* +G03* +X424500Y416650I6000J0D01* +G01* +X424500Y429650D01* +G03* +X412500Y429650I-6000J0D01* +G01* +X224500Y620350D02* +G75* +G01* +X224500Y633350D01* +G03* +X212500Y633350I-6000J0D01* +G01* +X212500Y620350D01* +G03* +X224500Y620350I6000J0D01* +G01* +X541500Y416650D02* +G75* +G02* +X529500Y416650I-6000J0D01* +G01* +X529500Y429650D01* +G02* +X541500Y429650I6000J0D01* +G01* +X541500Y416650D01* +G01* +X129500Y429650D02* +G75* +G02* +X141500Y429650I6000J0D01* +G01* +X141500Y416650D01* +G02* +X129500Y416650I-6000J0D01* +G01* +X129500Y429650D01* +G01* +X24500Y416650D02* +G75* +G02* +X12500Y416650I-6000J0D01* +G01* +X12500Y429650D01* +G02* +X24500Y429650I6000J0D01* +G01* +X24500Y416650D01* +G01* +X941500Y416650D02* +G75* +G02* +X929500Y416650I-6000J0D01* +G01* +X929500Y429650D01* +G02* +X941500Y429650I6000J0D01* +G01* +X941500Y416650D01* +G01* +X424500Y620350D02* +G75* +G01* +X424500Y633350D01* +G03* +X412500Y633350I-6000J0D01* +G01* +X412500Y620350D01* +G03* +X424500Y620350I6000J0D01* +G01* +X824500Y416650D02* +G75* +G02* +X812500Y416650I-6000J0D01* +G01* +X812500Y429650D01* +G02* +X824500Y429650I6000J0D01* +G01* +X824500Y416650D01* +G01* +X12500Y633350D02* +G75* +G01* +X12500Y620350D01* +G03* +X24500Y620350I6000J0D01* +G01* +X24500Y633350D01* +G03* +X12500Y633350I-6000J0D01* +G01* +X660500Y626850D02* +G75* +G03* +X660500Y626850I-6000J0D01* +G01* +X905500Y626850D02* +G75* +G03* +X905500Y626850I-6000J0D01* +G01* +X505500Y626850D02* +G75* +G03* +X505500Y626850I-6000J0D01* +G01* +X860500Y626850D02* +G75* +G03* +X860500Y626850I-6000J0D01* +G01* +X705500Y626850D02* +G75* +G03* +X705500Y626850I-6000J0D01* +G01* +X705500Y423150D02* +G75* +G03* +X705500Y423150I-6000J0D01* +G01* +X660500Y423150D02* +G75* +G03* +X660500Y423150I-6000J0D01* +G01* +X505500Y423150D02* +G75* +G03* +X505500Y423150I-6000J0D01* +G01* +X260500Y626850D02* +G75* +G03* +X260500Y626850I-6000J0D01* +G01* +X905500Y423150D02* +G75* +G03* +X905500Y423150I-6000J0D01* +G01* +X460500Y423150D02* +G75* +G03* +X460500Y423150I-6000J0D01* +G01* +X460500Y626850D02* +G75* +G03* +X460500Y626850I-6000J0D01* +G01* +X60500Y626850D02* +G75* +G03* +X60500Y626850I-6000J0D01* +G01* +X105500Y626850D02* +G75* +G03* +X105500Y626850I-6000J0D01* +G01* +X60500Y423150D02* +G75* +G03* +X60500Y423150I-6000J0D01* +G01* +X305500Y626850D02* +G75* +G03* +X305500Y626850I-6000J0D01* +G01* +X860500Y423150D02* +G75* +G03* +X860500Y423150I-6000J0D01* +G01* +X541500Y633350D02* +G75* +G01* +X541500Y620350D01* +G02* +X529500Y620350I-6000J0D01* +G01* +X529500Y633350D01* +G02* +X541500Y633350I6000J0D01* +G01* +X941500Y429650D02* +G75* +G01* +X941500Y416650D01* +G02* +X929500Y416650I-6000J0D01* +G01* +X929500Y429650D01* +G02* +X941500Y429650I6000J0D01* +G01* +X260500Y423150D02* +G75* +G03* +X260500Y423150I-6000J0D01* +G01* +X305500Y423150D02* +G75* +G03* +X305500Y423150I-6000J0D01* +G01* +X824500Y633350D02* +G75* +G03* +X812500Y633350I-6000J0D01* +G01* +X812500Y620350D01* +G03* +X824500Y620350I6000J0D01* +G01* +X824500Y633350D01* +G01* +X105500Y423150D02* +G75* +G03* +X105500Y423150I-6000J0D01* +G01* +X217000Y560000D02* +G75* +G03* +X237000Y580000I0J20000D01* +G03* +X217000Y600000I-20000J0D01* +G01* +X200000Y600000D01* +G01* +X200000Y700000D01* +G03* +X180000Y720000I-20000J0D01* +G01* +X174000Y720000D01* +G03* +X154000Y700000I0J-20000D01* +G01* +X154000Y600000D01* +G01* +X137000Y600000D01* +G03* +X117000Y580000I0J-20000D01* +G03* +X137000Y560000I20000J0D01* +G01* +X217000Y560000D01* +G01* +X417000Y560000D02* +G75* +G03* +X437000Y580000I0J20000D01* +G03* +X417000Y600000I-20000J0D01* +G01* +X400000Y600000D01* +G01* +X400000Y700000D01* +G03* +X380000Y720000I-20000J0D01* +G01* +X374000Y720000D01* +G03* +X354000Y700000I0J-20000D01* +G01* +X354000Y600000D01* +G01* +X337000Y600000D01* +G03* +X317000Y580000I0J-20000D01* +G03* +X337000Y560000I20000J0D01* +G01* +X417000Y560000D01* +G01* +X617000Y560000D02* +G75* +G03* +X637000Y580000I0J20000D01* +G03* +X617000Y600000I-20000J0D01* +G01* +X600000Y600000D01* +G01* +X600000Y700000D01* +G03* +X580000Y720000I-20000J0D01* +G01* +X574000Y720000D01* +G03* +X554000Y700000I0J-20000D01* +G01* +X554000Y600000D01* +G01* +X537000Y600000D01* +G03* +X517000Y580000I0J-20000D01* +G03* +X537000Y560000I20000J0D01* +G01* +X617000Y560000D01* +G01* +X817000Y560000D02* +G75* +G03* +X837000Y580000I0J20000D01* +G03* +X817000Y600000I-20000J0D01* +G01* +X800000Y600000D01* +G01* +X800000Y700000D01* +G03* +X780000Y720000I-20000J0D01* +G01* +X774000Y720000D01* +G03* +X754000Y700000I0J-20000D01* +G01* +X754000Y600000D01* +G01* +X737000Y600000D01* +G03* +X717000Y580000I0J-20000D01* +G03* +X737000Y560000I20000J0D01* +G01* +X817000Y560000D01* +G01* +X180000Y330000D02* +G75* +G03* +X200000Y350000I0J20000D01* +G01* +X200000Y450000D01* +G01* +X217000Y450000D01* +G03* +X237000Y470000I0J20000D01* +G03* +X217000Y490000I-20000J0D01* +G01* +X137000Y490000D01* +G03* +X117000Y470000I0J-20000D01* +G03* +X137000Y450000I20000J0D01* +G01* +X154000Y450000D01* +G01* +X154000Y350000D01* +G03* +X174000Y330000I20000J0D01* +G01* +X180000Y330000D01* +G01* +X380000Y330000D02* +G75* +G03* +X400000Y350000I0J20000D01* +G01* +X400000Y450000D01* +G01* +X417000Y450000D01* +G03* +X437000Y470000I0J20000D01* +G03* +X417000Y490000I-20000J0D01* +G01* +X337000Y490000D01* +G03* +X317000Y470000I0J-20000D01* +G03* +X337000Y450000I20000J0D01* +G01* +X354000Y450000D01* +G01* +X354000Y350000D01* +G03* +X374000Y330000I20000J0D01* +G01* +X380000Y330000D01* +G01* +X580000Y330000D02* +G75* +G03* +X600000Y350000I0J20000D01* +G01* +X600000Y450000D01* +G01* +X617000Y450000D01* +G03* +X637000Y470000I0J20000D01* +G03* +X617000Y490000I-20000J0D01* +G01* +X537000Y490000D01* +G03* +X517000Y470000I0J-20000D01* +G03* +X537000Y450000I20000J0D01* +G01* +X554000Y450000D01* +G01* +X554000Y350000D01* +G03* +X574000Y330000I20000J0D01* +G01* +X580000Y330000D01* +G01* +X780000Y330000D02* +G75* +G03* +X800000Y350000I0J20000D01* +G01* +X800000Y450000D01* +G01* +X817000Y450000D01* +G03* +X837000Y470000I0J20000D01* +G03* +X817000Y490000I-20000J0D01* +G01* +X737000Y490000D01* +G03* +X717000Y470000I0J-20000D01* +G03* +X737000Y450000I20000J0D01* +G01* +X754000Y450000D01* +G01* +X754000Y350000D01* +G03* +X774000Y330000I20000J0D01* +G01* +X780000Y330000D01* +G37* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_complex_fill_flip.gtl b/gerbonara/gerber/tests/panelize/expects/dxf_complex_fill_flip.gtl new file mode 100644 index 0000000..1f91be3 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_complex_fill_flip.gtl @@ -0,0 +1,746 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%ADD10C,0*% +%ADD11C,0*% +G75* +%LPD*% +D10* +G36* +G01* +X0Y1000000D02* +G75* +G01* +X0Y0D01* +G01* +X1000000Y0D01* +G01* +X1000000Y1000000D01* +G01* +X0Y1000000D01* +G37* +G75* +%LPC*% +D11* +G36* +G01* +X800000Y150000D02* +G75* +G03* +X780000Y170000I-20000J0D01* +G01* +X774000Y170000D01* +G03* +X754000Y150000I0J-20000D01* +G01* +X754000Y50000D01* +G01* +X600000Y50000D01* +G01* +X600000Y150000D01* +G03* +X580000Y170000I-20000J0D01* +G01* +X574000Y170000D01* +G03* +X554000Y150000I0J-20000D01* +G01* +X554000Y50000D01* +G01* +X400000Y50000D01* +G01* +X400000Y150000D01* +G03* +X380000Y170000I-20000J0D01* +G01* +X374000Y170000D01* +G03* +X354000Y150000I0J-20000D01* +G01* +X354000Y50000D01* +G01* +X200000Y50000D01* +G01* +X200000Y150000D01* +G03* +X180000Y170000I-20000J0D01* +G01* +X174000Y170000D01* +G03* +X154000Y150000I0J-20000D01* +G01* +X154000Y50000D01* +G01* +X0Y50000D01* +G01* +X0Y450000D01* +G01* +X17000Y450000D01* +G03* +X37000Y470000I0J20000D01* +G03* +X17000Y490000I-20000J0D01* +G01* +X0Y490000D01* +G01* +X0Y560000D01* +G01* +X17000Y560000D01* +G03* +X37000Y580000I0J20000D01* +G03* +X17000Y600000I-20000J0D01* +G01* +X0Y600000D01* +G01* +X0Y1000000D01* +G01* +X154000Y1000000D01* +G01* +X154000Y900000D01* +G03* +X174000Y880000I20000J0D01* +G01* +X180000Y880000D01* +G03* +X200000Y900000I0J20000D01* +G01* +X200000Y1000000D01* +G01* +X354000Y1000000D01* +G01* +X354000Y900000D01* +G03* +X374000Y880000I20000J0D01* +G01* +X380000Y880000D01* +G03* +X400000Y900000I0J20000D01* +G01* +X400000Y1000000D01* +G01* +X554000Y1000000D01* +G01* +X554000Y900000D01* +G03* +X574000Y880000I20000J0D01* +G01* +X580000Y880000D01* +G03* +X600000Y900000I0J20000D01* +G01* +X600000Y1000000D01* +G01* +X754000Y1000000D01* +G01* +X754000Y900000D01* +G03* +X774000Y880000I20000J0D01* +G01* +X780000Y880000D01* +G03* +X800000Y900000I0J20000D01* +G01* +X800000Y1000000D01* +G01* +X954000Y1000000D01* +G01* +X954000Y600000D01* +G01* +X937000Y600000D01* +G03* +X917000Y580000I0J-20000D01* +G03* +X937000Y560000I20000J0D01* +G01* +X954000Y560000D01* +G01* +X954000Y490000D01* +G01* +X937000Y490000D01* +G03* +X917000Y470000I0J-20000D01* +G03* +X937000Y450000I20000J0D01* +G01* +X954000Y450000D01* +G01* +X954000Y50000D01* +G01* +X800000Y50000D01* +G01* +X800000Y150000D01* +G37* +%LPD*% +G36* +G01* +X624500Y620350D02* +G75* +G01* +X624500Y633350D01* +G03* +X612500Y633350I-6000J0D01* +G01* +X612500Y620350D01* +G03* +X624500Y620350I6000J0D01* +G01* +X824500Y620350D02* +G75* +G02* +X812500Y620350I-6000J0D01* +G01* +X812500Y633350D01* +G02* +X824500Y633350I6000J0D01* +G01* +X824500Y620350D01* +G01* +X729500Y633350D02* +G75* +G02* +X741500Y633350I6000J0D01* +G01* +X741500Y620350D01* +G02* +X729500Y620350I-6000J0D01* +G01* +X729500Y633350D01* +G01* +X141500Y620350D02* +G75* +G01* +X141500Y633350D01* +G03* +X129500Y633350I-6000J0D01* +G01* +X129500Y620350D01* +G03* +X141500Y620350I6000J0D01* +G01* +X212500Y429650D02* +G75* +G01* +X212500Y416650D01* +G03* +X224500Y416650I6000J0D01* +G01* +X224500Y429650D01* +G03* +X212500Y429650I-6000J0D01* +G01* +X341500Y416650D02* +G75* +G01* +X341500Y429650D01* +G03* +X329500Y429650I-6000J0D01* +G01* +X329500Y416650D01* +G03* +X341500Y416650I6000J0D01* +G01* +X341500Y620350D02* +G75* +G01* +X341500Y633350D01* +G03* +X329500Y633350I-6000J0D01* +G01* +X329500Y620350D01* +G03* +X341500Y620350I6000J0D01* +G01* +X624500Y416650D02* +G75* +G01* +X624500Y429650D01* +G03* +X612500Y429650I-6000J0D01* +G01* +X612500Y416650D01* +G03* +X624500Y416650I6000J0D01* +G01* +X729500Y429650D02* +G75* +G01* +X729500Y416650D01* +G03* +X741500Y416650I6000J0D01* +G01* +X741500Y429650D01* +G03* +X729500Y429650I-6000J0D01* +G01* +X541500Y620350D02* +G75* +G02* +X529500Y620350I-6000J0D01* +G01* +X529500Y633350D01* +G02* +X541500Y633350I6000J0D01* +G01* +X541500Y620350D01* +G01* +X929500Y633350D02* +G75* +G02* +X941500Y633350I6000J0D01* +G01* +X941500Y620350D01* +G02* +X929500Y620350I-6000J0D01* +G01* +X929500Y633350D01* +G01* +X412500Y429650D02* +G75* +G01* +X412500Y416650D01* +G03* +X424500Y416650I6000J0D01* +G01* +X424500Y429650D01* +G03* +X412500Y429650I-6000J0D01* +G01* +X224500Y620350D02* +G75* +G01* +X224500Y633350D01* +G03* +X212500Y633350I-6000J0D01* +G01* +X212500Y620350D01* +G03* +X224500Y620350I6000J0D01* +G01* +X541500Y416650D02* +G75* +G02* +X529500Y416650I-6000J0D01* +G01* +X529500Y429650D01* +G02* +X541500Y429650I6000J0D01* +G01* +X541500Y416650D01* +G01* +X129500Y429650D02* +G75* +G02* +X141500Y429650I6000J0D01* +G01* +X141500Y416650D01* +G02* +X129500Y416650I-6000J0D01* +G01* +X129500Y429650D01* +G01* +X24500Y416650D02* +G75* +G02* +X12500Y416650I-6000J0D01* +G01* +X12500Y429650D01* +G02* +X24500Y429650I6000J0D01* +G01* +X24500Y416650D01* +G01* +X941500Y416650D02* +G75* +G02* +X929500Y416650I-6000J0D01* +G01* +X929500Y429650D01* +G02* +X941500Y429650I6000J0D01* +G01* +X941500Y416650D01* +G01* +X424500Y620350D02* +G75* +G01* +X424500Y633350D01* +G03* +X412500Y633350I-6000J0D01* +G01* +X412500Y620350D01* +G03* +X424500Y620350I6000J0D01* +G01* +X824500Y416650D02* +G75* +G02* +X812500Y416650I-6000J0D01* +G01* +X812500Y429650D01* +G02* +X824500Y429650I6000J0D01* +G01* +X824500Y416650D01* +G01* +X12500Y633350D02* +G75* +G01* +X12500Y620350D01* +G03* +X24500Y620350I6000J0D01* +G01* +X24500Y633350D01* +G03* +X12500Y633350I-6000J0D01* +G01* +X660500Y626850D02* +G75* +G03* +X660500Y626850I-6000J0D01* +G01* +X905500Y626850D02* +G75* +G03* +X905500Y626850I-6000J0D01* +G01* +X505500Y626850D02* +G75* +G03* +X505500Y626850I-6000J0D01* +G01* +X860500Y626850D02* +G75* +G03* +X860500Y626850I-6000J0D01* +G01* +X705500Y626850D02* +G75* +G03* +X705500Y626850I-6000J0D01* +G01* +X705500Y423150D02* +G75* +G03* +X705500Y423150I-6000J0D01* +G01* +X660500Y423150D02* +G75* +G03* +X660500Y423150I-6000J0D01* +G01* +X505500Y423150D02* +G75* +G03* +X505500Y423150I-6000J0D01* +G01* +X260500Y626850D02* +G75* +G03* +X260500Y626850I-6000J0D01* +G01* +X905500Y423150D02* +G75* +G03* +X905500Y423150I-6000J0D01* +G01* +X460500Y423150D02* +G75* +G03* +X460500Y423150I-6000J0D01* +G01* +X460500Y626850D02* +G75* +G03* +X460500Y626850I-6000J0D01* +G01* +X60500Y626850D02* +G75* +G03* +X60500Y626850I-6000J0D01* +G01* +X105500Y626850D02* +G75* +G03* +X105500Y626850I-6000J0D01* +G01* +X60500Y423150D02* +G75* +G03* +X60500Y423150I-6000J0D01* +G01* +X305500Y626850D02* +G75* +G03* +X305500Y626850I-6000J0D01* +G01* +X860500Y423150D02* +G75* +G03* +X860500Y423150I-6000J0D01* +G01* +X541500Y633350D02* +G75* +G01* +X541500Y620350D01* +G02* +X529500Y620350I-6000J0D01* +G01* +X529500Y633350D01* +G02* +X541500Y633350I6000J0D01* +G01* +X941500Y429650D02* +G75* +G01* +X941500Y416650D01* +G02* +X929500Y416650I-6000J0D01* +G01* +X929500Y429650D01* +G02* +X941500Y429650I6000J0D01* +G01* +X260500Y423150D02* +G75* +G03* +X260500Y423150I-6000J0D01* +G01* +X305500Y423150D02* +G75* +G03* +X305500Y423150I-6000J0D01* +G01* +X824500Y633350D02* +G75* +G03* +X812500Y633350I-6000J0D01* +G01* +X812500Y620350D01* +G03* +X824500Y620350I6000J0D01* +G01* +X824500Y633350D01* +G01* +X105500Y423150D02* +G75* +G03* +X105500Y423150I-6000J0D01* +G01* +X217000Y560000D02* +G75* +G03* +X237000Y580000I0J20000D01* +G03* +X217000Y600000I-20000J0D01* +G01* +X200000Y600000D01* +G01* +X200000Y700000D01* +G03* +X180000Y720000I-20000J0D01* +G01* +X174000Y720000D01* +G03* +X154000Y700000I0J-20000D01* +G01* +X154000Y600000D01* +G01* +X137000Y600000D01* +G03* +X117000Y580000I0J-20000D01* +G03* +X137000Y560000I20000J0D01* +G01* +X217000Y560000D01* +G01* +X417000Y560000D02* +G75* +G03* +X437000Y580000I0J20000D01* +G03* +X417000Y600000I-20000J0D01* +G01* +X400000Y600000D01* +G01* +X400000Y700000D01* +G03* +X380000Y720000I-20000J0D01* +G01* +X374000Y720000D01* +G03* +X354000Y700000I0J-20000D01* +G01* +X354000Y600000D01* +G01* +X337000Y600000D01* +G03* +X317000Y580000I0J-20000D01* +G03* +X337000Y560000I20000J0D01* +G01* +X417000Y560000D01* +G01* +X617000Y560000D02* +G75* +G03* +X637000Y580000I0J20000D01* +G03* +X617000Y600000I-20000J0D01* +G01* +X600000Y600000D01* +G01* +X600000Y700000D01* +G03* +X580000Y720000I-20000J0D01* +G01* +X574000Y720000D01* +G03* +X554000Y700000I0J-20000D01* +G01* +X554000Y600000D01* +G01* +X537000Y600000D01* +G03* +X517000Y580000I0J-20000D01* +G03* +X537000Y560000I20000J0D01* +G01* +X617000Y560000D01* +G01* +X817000Y560000D02* +G75* +G03* +X837000Y580000I0J20000D01* +G03* +X817000Y600000I-20000J0D01* +G01* +X800000Y600000D01* +G01* +X800000Y700000D01* +G03* +X780000Y720000I-20000J0D01* +G01* +X774000Y720000D01* +G03* +X754000Y700000I0J-20000D01* +G01* +X754000Y600000D01* +G01* +X737000Y600000D01* +G03* +X717000Y580000I0J-20000D01* +G03* +X737000Y560000I20000J0D01* +G01* +X817000Y560000D01* +G01* +X180000Y330000D02* +G75* +G03* +X200000Y350000I0J20000D01* +G01* +X200000Y450000D01* +G01* +X217000Y450000D01* +G03* +X237000Y470000I0J20000D01* +G03* +X217000Y490000I-20000J0D01* +G01* +X137000Y490000D01* +G03* +X117000Y470000I0J-20000D01* +G03* +X137000Y450000I20000J0D01* +G01* +X154000Y450000D01* +G01* +X154000Y350000D01* +G03* +X174000Y330000I20000J0D01* +G01* +X180000Y330000D01* +G01* +X380000Y330000D02* +G75* +G03* +X400000Y350000I0J20000D01* +G01* +X400000Y450000D01* +G01* +X417000Y450000D01* +G03* +X437000Y470000I0J20000D01* +G03* +X417000Y490000I-20000J0D01* +G01* +X337000Y490000D01* +G03* +X317000Y470000I0J-20000D01* +G03* +X337000Y450000I20000J0D01* +G01* +X354000Y450000D01* +G01* +X354000Y350000D01* +G03* +X374000Y330000I20000J0D01* +G01* +X380000Y330000D01* +G01* +X580000Y330000D02* +G75* +G03* +X600000Y350000I0J20000D01* +G01* +X600000Y450000D01* +G01* +X617000Y450000D01* +G03* +X637000Y470000I0J20000D01* +G03* +X617000Y490000I-20000J0D01* +G01* +X537000Y490000D01* +G03* +X517000Y470000I0J-20000D01* +G03* +X537000Y450000I20000J0D01* +G01* +X554000Y450000D01* +G01* +X554000Y350000D01* +G03* +X574000Y330000I20000J0D01* +G01* +X580000Y330000D01* +G01* +X780000Y330000D02* +G75* +G03* +X800000Y350000I0J20000D01* +G01* +X800000Y450000D01* +G01* +X817000Y450000D01* +G03* +X837000Y470000I0J20000D01* +G03* +X817000Y490000I-20000J0D01* +G01* +X737000Y490000D01* +G03* +X717000Y470000I0J-20000D01* +G03* +X737000Y450000I20000J0D01* +G01* +X754000Y450000D01* +G01* +X754000Y350000D01* +G03* +X774000Y330000I20000J0D01* +G01* +X780000Y330000D01* +G37* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_offset.gtl b/gerbonara/gerber/tests/panelize/expects/dxf_offset.gtl new file mode 100644 index 0000000..df1b015 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_offset.gtl @@ -0,0 +1,93 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%ADD10C,0*% +G75* +%LPD*% +D10* +G01* +X910000Y900000D02* +G75* +G01* +X910000Y400000D01* +G01* +X1010000Y900000D02* +G75* +G01* +X1010000Y400000D01* +G01* +X310000Y379390D02* +G75* +G01* +X435827Y379390D01* +G01* +X435827Y228443D01* +G01* +X510000Y50000D02* +G75* +G01* +X210000Y50000D01* +G02* +X110000Y150000I0J100000D01* +G01* +X110000Y450000D01* +G02* +X210000Y550000I100000J0D01* +G01* +X510000Y550000D01* +G02* +X610000Y450000I0J-100000D01* +G01* +X610000Y150000D01* +G02* +X510000Y50000I-100000J0D01* +G01* +X852704Y800394D02* +G75* +G01* +X852704Y500394D01* +G02* +X752704Y400394I-100000J0D01* +G01* +X452704Y400394D01* +G02* +X352704Y500394I0J100000D01* +G01* +X352704Y800394D01* +G02* +X452704Y900394I100000J0D01* +G01* +X752704Y900394D01* +G02* +X852704Y800394I0J-100000D01* +G01* +X492038Y472062D02* +G75* +G01* +X244512Y472062D01* +G01* +X244512Y185960D01* +G01* +X492038Y185960D01* +G01* +X492038Y472062D01* +G01* +X1037009Y176316D02* +G75* +G03* +X1037009Y176316I-125463J0D01* +G01* +X712773Y700000D02* +G75* +G03* +X712773Y700000I-102773J0D01* +G01* +X610000Y700000D02* +G75* +G01* +X610000Y764592D01* +G03* +X672602Y684088I0J-64592D01* +G01* +X610000Y700000D01* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_rectangle_inch.gtl b/gerbonara/gerber/tests/panelize/expects/dxf_rectangle_inch.gtl new file mode 100644 index 0000000..c196f92 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_rectangle_inch.gtl @@ -0,0 +1,19 @@ +%MOIN*% +%FSLAX25Y25*% +%IPPOS*% +%ADD10C,0*% +G75* +%LPD*% +D10* +G01* +X0Y39370D02* +G75* +G01* +X0Y0D01* +G01* +X39370Y0D01* +G01* +X39370Y39370D01* +G01* +X0Y39370D01* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_rectangle_metric.gtl b/gerbonara/gerber/tests/panelize/expects/dxf_rectangle_metric.gtl new file mode 100644 index 0000000..092471f --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_rectangle_metric.gtl @@ -0,0 +1,19 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%ADD10C,0*% +G75* +%LPD*% +D10* +G01* +X0Y100000D02* +G75* +G01* +X0Y0D01* +G01* +X100000Y0D01* +G01* +X100000Y100000D01* +G01* +X0Y100000D01* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_rotate.gtl b/gerbonara/gerber/tests/panelize/expects/dxf_rotate.gtl new file mode 100644 index 0000000..5c04b64 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_rotate.gtl @@ -0,0 +1,93 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%ADD10C,0*% +G75* +%LPD*% +D10* +G01* +X501270Y1044184D02* +G75* +G01* +X672280Y574337D01* +G01* +X595239Y1078386D02* +G75* +G01* +X766249Y608539D01* +G01* +X115513Y349758D02* +G75* +G01* +X233752Y392793D01* +G01* +X285379Y250949D01* +G01* +X416110Y108637D02* +G75* +G01* +X134202Y6031D01* +G02* +X6031Y65798I-34202J93969D01* +G01* +X-96575Y347706D01* +G02* +X-36808Y475877I93969J34202D01* +G01* +X245100Y578483D01* +G02* +X373271Y518716I34202J-93969D01* +G01* +X475877Y236808D01* +G02* +X416110Y108637I-93969J-34202D01* +G01* +X481496Y930988D02* +G75* +G01* +X584102Y649080D01* +G02* +X524335Y520909I-93969J-34202D01* +G01* +X242427Y418303D01* +G02* +X114256Y478070I-34202J93969D01* +G01* +X11650Y759978D01* +G02* +X71417Y888149I93969J34202D01* +G01* +X353325Y990755D01* +G02* +X481496Y930988I34202J-93969D01* +G01* +X254877Y499102D02* +G75* +G01* +X22279Y414443D01* +G01* +X120131Y145595D01* +G01* +X352730Y230254D01* +G01* +X254877Y499102D01* +G01* +X868133Y407583D02* +G75* +G03* +X868133Y407583I-117896J-42911D01* +G01* +X384341Y788789D02* +G75* +G03* +X384341Y788789I-96575J-35150D01* +G01* +X287766Y753639D02* +G75* +G01* +X265674Y814336D01* +G03* +X352035Y760098I22092J-60697D01* +G01* +X287766Y753639D01* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_save_fill.gtl b/gerbonara/gerber/tests/panelize/expects/dxf_save_fill.gtl new file mode 100644 index 0000000..4b82fb2 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_save_fill.gtl @@ -0,0 +1,84 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%ADD10C,0*% +G75* +%LPD*% +D10* +G36* +G01* +X400000Y0D02* +G75* +G01* +X100000Y0D01* +G02* +X0Y100000I0J100000D01* +G01* +X0Y400000D01* +G02* +X100000Y500000I100000J0D01* +G01* +X400000Y500000D01* +G02* +X500000Y400000I0J-100000D01* +G01* +X500000Y100000D01* +G02* +X400000Y0I-100000J0D01* +G01* +X742704Y750394D02* +G75* +G01* +X742704Y450394D01* +G02* +X642704Y350394I-100000J0D01* +G01* +X342704Y350394D01* +G02* +X242704Y450394I0J100000D01* +G01* +X242704Y750394D01* +G02* +X342704Y850394I100000J0D01* +G01* +X642704Y850394D01* +G02* +X742704Y750394I0J-100000D01* +G01* +X927009Y126316D02* +G75* +G03* +X927009Y126316I-125463J0D01* +G37* +%LPC*% +G36* +G01* +X382038Y422062D02* +G75* +G01* +X134512Y422062D01* +G01* +X134512Y135960D01* +G01* +X382038Y135960D01* +G01* +X382038Y422062D01* +G01* +X602773Y650000D02* +G75* +G03* +X602773Y650000I-102773J0D01* +G37* +%LPD*% +G36* +G01* +X500000Y650000D02* +G75* +G01* +X500000Y714592D01* +G03* +X562602Y634088I0J-64592D01* +G01* +X500000Y650000D01* +G37* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_save_fill_simple.gtl b/gerbonara/gerber/tests/panelize/expects/dxf_save_fill_simple.gtl new file mode 100644 index 0000000..5ff4d55 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_save_fill_simple.gtl @@ -0,0 +1,78 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%ADD10C,0*% +G75* +%LPD*% +D10* +G36* +G01* +X400000Y0D02* +G75* +G01* +X100000Y0D01* +G02* +X0Y100000I0J100000D01* +G01* +X0Y400000D01* +G02* +X100000Y500000I100000J0D01* +G01* +X400000Y500000D01* +G02* +X500000Y400000I0J-100000D01* +G01* +X500000Y100000D01* +G02* +X400000Y0I-100000J0D01* +G01* +X742704Y750394D02* +G75* +G01* +X742704Y450394D01* +G02* +X642704Y350394I-100000J0D01* +G01* +X342704Y350394D01* +G02* +X242704Y450394I0J100000D01* +G01* +X242704Y750394D01* +G02* +X342704Y850394I100000J0D01* +G01* +X642704Y850394D01* +G02* +X742704Y750394I0J-100000D01* +G01* +X382038Y422062D02* +G75* +G01* +X134512Y422062D01* +G01* +X134512Y135960D01* +G01* +X382038Y135960D01* +G01* +X382038Y422062D01* +G01* +X927009Y126316D02* +G75* +G03* +X927009Y126316I-125463J0D01* +G01* +X602773Y650000D02* +G75* +G03* +X602773Y650000I-102773J0D01* +G01* +X500000Y650000D02* +G75* +G01* +X500000Y714592D01* +G03* +X562602Y634088I0J-64592D01* +G01* +X500000Y650000D01* +G37* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_save_line.gtl b/gerbonara/gerber/tests/panelize/expects/dxf_save_line.gtl new file mode 100644 index 0000000..b3ee8f1 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_save_line.gtl @@ -0,0 +1,93 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%ADD10C,0.2*% +G75* +%LPD*% +D10* +G01* +X800000Y850000D02* +G75* +G01* +X800000Y350000D01* +G01* +X900000Y850000D02* +G75* +G01* +X900000Y350000D01* +G01* +X200000Y329390D02* +G75* +G01* +X325827Y329390D01* +G01* +X325827Y178443D01* +G01* +X400000Y0D02* +G75* +G01* +X100000Y0D01* +G02* +X0Y100000I0J100000D01* +G01* +X0Y400000D01* +G02* +X100000Y500000I100000J0D01* +G01* +X400000Y500000D01* +G02* +X500000Y400000I0J-100000D01* +G01* +X500000Y100000D01* +G02* +X400000Y0I-100000J0D01* +G01* +X742704Y750394D02* +G75* +G01* +X742704Y450394D01* +G02* +X642704Y350394I-100000J0D01* +G01* +X342704Y350394D01* +G02* +X242704Y450394I0J100000D01* +G01* +X242704Y750394D01* +G02* +X342704Y850394I100000J0D01* +G01* +X642704Y850394D01* +G02* +X742704Y750394I0J-100000D01* +G01* +X382038Y422062D02* +G75* +G01* +X134512Y422062D01* +G01* +X134512Y135960D01* +G01* +X382038Y135960D01* +G01* +X382038Y422062D01* +G01* +X927009Y126316D02* +G75* +G03* +X927009Y126316I-125463J0D01* +G01* +X602773Y650000D02* +G75* +G03* +X602773Y650000I-102773J0D01* +G01* +X500000Y650000D02* +G75* +G01* +X500000Y714592D01* +G03* +X562602Y634088I0J-64592D01* +G01* +X500000Y650000D01* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_save_line.txt b/gerbonara/gerber/tests/panelize/expects/dxf_save_line.txt new file mode 100644 index 0000000..c3d73d4 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_save_line.txt @@ -0,0 +1,84 @@ +M48 +FMAT,2 +ICI,OFF +METRIC,TZ,000.000 +T01C0.200 +% +G90 +M71 +T01 +G00X80000Y85000 +M15 +G01X80000Y35000 +M16 +G05 + +G00X90000Y85000 +M15 +G01X90000Y35000 +M16 +G05 + +G00X20000Y32939 +M15 +G01X32583Y32939 +G01X32583Y17844 +M16 +G05 + +G00X40000Y0 +M15 +G01X10000Y0 +G02X0Y10000I0J10000 +G01X0Y40000 +G02X10000Y50000I10000J0 +G01X40000Y50000 +G02X50000Y40000I0J-10000 +G01X50000Y10000 +G02X40000Y0I-10000J0 +M16 +G05 + +G00X74270Y75039 +M15 +G01X74270Y45039 +G02X64270Y35039I-10000J0 +G01X34270Y35039 +G02X24270Y45039I0J10000 +G01X24270Y75039 +G02X34270Y85039I10000J0 +G01X64270Y85039 +G02X74270Y75039I0J-10000 +M16 +G05 + +G00X38204Y42206 +M15 +G01X13451Y42206 +G01X13451Y13596 +G01X38204Y13596 +G01X38204Y42206 +M16 +G05 + +G00X92701Y12632 +M15 +G03X92701Y12632I-12546J0 +M16 +G05 + +G00X60277Y65000 +M15 +G03X60277Y65000I-10277J0 +M16 +G05 + +G00X50000Y65000 +M15 +G01X50000Y71459 +G03X56260Y63409I0J-6459 +G01X50000Y65000 +M16 +G05 + +M30 diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_save_mousebites.gtl b/gerbonara/gerber/tests/panelize/expects/dxf_save_mousebites.gtl new file mode 100644 index 0000000..64cc6d8 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_save_mousebites.gtl @@ -0,0 +1,582 @@ +%MOMM*% +%FSLAX34Y34*% +%IPPOS*% +%ADD10C,0.5*% +G75* +%LPD*% +D10* +X800000Y850000D03* +X800000Y836000D03* +X800000Y822000D03* +X800000Y808000D03* +X800000Y794000D03* +X800000Y780000D03* +X800000Y766000D03* +X800000Y752000D03* +X800000Y738000D03* +X800000Y724000D03* +X800000Y710000D03* +X800000Y696000D03* +X800000Y682000D03* +X800000Y668000D03* +X800000Y654000D03* +X800000Y640000D03* +X800000Y626000D03* +X800000Y612000D03* +X800000Y598000D03* +X800000Y584000D03* +X800000Y570000D03* +X800000Y556000D03* +X800000Y542000D03* +X800000Y528000D03* +X800000Y514000D03* +X800000Y500000D03* +X800000Y486000D03* +X800000Y472000D03* +X800000Y458000D03* +X800000Y444000D03* +X800000Y430000D03* +X800000Y416000D03* +X800000Y402000D03* +X800000Y388000D03* +X800000Y374000D03* +X800000Y360000D03* + +X900000Y850000D03* +X900000Y836000D03* +X900000Y822000D03* +X900000Y808000D03* +X900000Y794000D03* +X900000Y780000D03* +X900000Y766000D03* +X900000Y752000D03* +X900000Y738000D03* +X900000Y724000D03* +X900000Y710000D03* +X900000Y696000D03* +X900000Y682000D03* +X900000Y668000D03* +X900000Y654000D03* +X900000Y640000D03* +X900000Y626000D03* +X900000Y612000D03* +X900000Y598000D03* +X900000Y584000D03* +X900000Y570000D03* +X900000Y556000D03* +X900000Y542000D03* +X900000Y528000D03* +X900000Y514000D03* +X900000Y500000D03* +X900000Y486000D03* +X900000Y472000D03* +X900000Y458000D03* +X900000Y444000D03* +X900000Y430000D03* +X900000Y416000D03* +X900000Y402000D03* +X900000Y388000D03* +X900000Y374000D03* +X900000Y360000D03* + +X200000Y329390D03* +X214000Y329390D03* +X228000Y329390D03* +X242000Y329390D03* +X256000Y329390D03* +X270000Y329390D03* +X284000Y329390D03* +X298000Y329390D03* +X312000Y329390D03* +X325827Y329217D03* +X325827Y315217D03* +X325827Y301217D03* +X325827Y287217D03* +X325827Y273217D03* +X325827Y259217D03* +X325827Y245217D03* +X325827Y231217D03* +X325827Y217217D03* +X325827Y203217D03* +X325827Y189217D03* + +X400000Y0D03* +X386000Y0D03* +X372000Y0D03* +X358000Y0D03* +X344000Y0D03* +X330000Y0D03* +X316000Y0D03* +X302000Y0D03* +X288000Y0D03* +X274000Y0D03* +X260000Y0D03* +X246000Y0D03* +X232000Y0D03* +X218000Y0D03* +X204000Y0D03* +X190000Y0D03* +X176000Y0D03* +X162000Y0D03* +X148000Y0D03* +X134000Y0D03* +X120000Y0D03* +X106000Y0D03* +X92009Y320D03* +X78177Y2410D03* +X64773Y6410D03* +X52057Y12242D03* +X40280Y19790D03* +X29672Y28909D03* +X20440Y39418D03* +X12764Y51113D03* +X6796Y63764D03* +X2652Y77125D03* +X412Y90933D03* +X0Y104920D03* +X0Y118920D03* +X0Y132920D03* +X0Y146920D03* +X0Y160920D03* +X0Y174920D03* +X0Y188920D03* +X0Y202920D03* +X0Y216920D03* +X0Y230920D03* +X0Y244920D03* +X0Y258920D03* +X0Y272920D03* +X0Y286920D03* +X0Y300920D03* +X0Y314920D03* +X0Y328920D03* +X0Y342920D03* +X0Y356920D03* +X0Y370920D03* +X0Y384920D03* +X0Y398920D03* +X834Y412884D03* +X3602Y426596D03* +X8256Y439788D03* +X14706Y452201D03* +X22825Y463592D03* +X32454Y473739D03* +X43404Y482444D03* +X55463Y489534D03* +X68392Y494873D03* +X81940Y498356D03* +X95842Y499914D03* +X109841Y500000D03* +X123841Y500000D03* +X137841Y500000D03* +X151841Y500000D03* +X165841Y500000D03* +X179841Y500000D03* +X193841Y500000D03* +X207841Y500000D03* +X221841Y500000D03* +X235841Y500000D03* +X249841Y500000D03* +X263841Y500000D03* +X277841Y500000D03* +X291841Y500000D03* +X305841Y500000D03* +X319841Y500000D03* +X333841Y500000D03* +X347841Y500000D03* +X361841Y500000D03* +X375841Y500000D03* +X389841Y500000D03* +X403840Y499926D03* +X417746Y498413D03* +X431305Y494974D03* +X444252Y489676D03* +X456333Y482623D03* +X467311Y473954D03* +X476972Y463838D03* +X485127Y452472D03* +X491617Y440080D03* +X496313Y426903D03* +X499125Y413200D03* +X500000Y399239D03* +X500000Y385239D03* +X500000Y371239D03* +X500000Y357239D03* +X500000Y343239D03* +X500000Y329239D03* +X500000Y315239D03* +X500000Y301239D03* +X500000Y287239D03* +X500000Y273239D03* +X500000Y259239D03* +X500000Y245239D03* +X500000Y231239D03* +X500000Y217239D03* +X500000Y203239D03* +X500000Y189239D03* +X500000Y175239D03* +X500000Y161239D03* +X500000Y147239D03* +X500000Y133239D03* +X500000Y119239D03* +X500000Y105239D03* +X499616Y91250D03* +X497421Y77435D03* +X493319Y64061D03* +X487391Y51391D03* +X479753Y39672D03* +X470554Y29133D03* +X459975Y19981D03* +X448222Y12395D03* +X435525Y6523D03* +X422134Y2480D03* +X408309Y346D03* + +X742704Y750394D03* +X742704Y736394D03* +X742704Y722394D03* +X742704Y708394D03* +X742704Y694394D03* +X742704Y680394D03* +X742704Y666394D03* +X742704Y652394D03* +X742704Y638394D03* +X742704Y624394D03* +X742704Y610394D03* +X742704Y596394D03* +X742704Y582394D03* +X742704Y568394D03* +X742704Y554394D03* +X742704Y540394D03* +X742704Y526394D03* +X742704Y512394D03* +X742704Y498394D03* +X742704Y484394D03* +X742704Y470394D03* +X742704Y456394D03* +X742384Y442402D03* +X740294Y428571D03* +X736294Y415167D03* +X730462Y402451D03* +X722914Y390674D03* +X713795Y380066D03* +X703286Y370834D03* +X691591Y363158D03* +X678940Y357190D03* +X665579Y353045D03* +X651771Y350806D03* +X637784Y350394D03* +X623784Y350394D03* +X609784Y350394D03* +X595784Y350394D03* +X581784Y350394D03* +X567784Y350394D03* +X553784Y350394D03* +X539784Y350394D03* +X525784Y350394D03* +X511784Y350394D03* +X497784Y350394D03* +X483784Y350394D03* +X469784Y350394D03* +X455784Y350394D03* +X441784Y350394D03* +X427784Y350394D03* +X413784Y350394D03* +X399784Y350394D03* +X385784Y350394D03* +X371784Y350394D03* +X357784Y350394D03* +X343784Y350394D03* +X329820Y351227D03* +X316108Y353996D03* +X302916Y358650D03* +X290503Y365100D03* +X279112Y373219D03* +X268965Y382848D03* +X260261Y393798D03* +X253170Y405856D03* +X247831Y418786D03* +X244348Y432334D03* +X242791Y446236D03* +X242704Y460235D03* +X242704Y474235D03* +X242704Y488235D03* +X242704Y502235D03* +X242704Y516235D03* +X242704Y530235D03* +X242704Y544235D03* +X242704Y558235D03* +X242704Y572235D03* +X242704Y586235D03* +X242704Y600235D03* +X242704Y614235D03* +X242704Y628235D03* +X242704Y642235D03* +X242704Y656235D03* +X242704Y670235D03* +X242704Y684235D03* +X242704Y698235D03* +X242704Y712235D03* +X242704Y726235D03* +X242704Y740235D03* +X242778Y754234D03* +X244291Y768140D03* +X247731Y781699D03* +X253028Y794646D03* +X260081Y806727D03* +X268750Y817705D03* +X278866Y827366D03* +X290232Y835521D03* +X302624Y842011D03* +X315801Y846707D03* +X329504Y849519D03* +X343465Y850394D03* +X357465Y850394D03* +X371465Y850394D03* +X385465Y850394D03* +X399465Y850394D03* +X413465Y850394D03* +X427465Y850394D03* +X441465Y850394D03* +X455465Y850394D03* +X469465Y850394D03* +X483465Y850394D03* +X497465Y850394D03* +X511465Y850394D03* +X525465Y850394D03* +X539465Y850394D03* +X553465Y850394D03* +X567465Y850394D03* +X581465Y850394D03* +X595465Y850394D03* +X609465Y850394D03* +X623465Y850394D03* +X637465Y850394D03* +X651454Y850010D03* +X665269Y847815D03* +X678643Y843713D03* +X691313Y837785D03* +X703032Y830147D03* +X713571Y820948D03* +X722723Y810369D03* +X730309Y798616D03* +X736181Y785919D03* +X740224Y772528D03* +X742358Y758703D03* + +X382038Y422062D03* +X368038Y422062D03* +X354038Y422062D03* +X340038Y422062D03* +X326038Y422062D03* +X312038Y422062D03* +X298038Y422062D03* +X284038Y422062D03* +X270038Y422062D03* +X256038Y422062D03* +X242038Y422062D03* +X228038Y422062D03* +X214038Y422062D03* +X200038Y422062D03* +X186038Y422062D03* +X172038Y422062D03* +X158038Y422062D03* +X144038Y422062D03* +X134512Y417588D03* +X134512Y403588D03* +X134512Y389588D03* +X134512Y375588D03* +X134512Y361588D03* +X134512Y347588D03* +X134512Y333588D03* +X134512Y319588D03* +X134512Y305588D03* +X134512Y291588D03* +X134512Y277588D03* +X134512Y263588D03* +X134512Y249588D03* +X134512Y235588D03* +X134512Y221588D03* +X134512Y207588D03* +X134512Y193588D03* +X134512Y179588D03* +X134512Y165588D03* +X134512Y151588D03* +X134512Y137588D03* +X146884Y135960D03* +X160884Y135960D03* +X174884Y135960D03* +X188884Y135960D03* +X202884Y135960D03* +X216884Y135960D03* +X230884Y135960D03* +X244884Y135960D03* +X258884Y135960D03* +X272884Y135960D03* +X286884Y135960D03* +X300884Y135960D03* +X314884Y135960D03* +X328884Y135960D03* +X342884Y135960D03* +X356884Y135960D03* +X370884Y135960D03* +X382038Y138807D03* +X382038Y152807D03* +X382038Y166807D03* +X382038Y180807D03* +X382038Y194807D03* +X382038Y208807D03* +X382038Y222807D03* +X382038Y236807D03* +X382038Y250807D03* +X382038Y264807D03* +X382038Y278807D03* +X382038Y292807D03* +X382038Y306807D03* +X382038Y320807D03* +X382038Y334807D03* +X382038Y348807D03* +X382038Y362807D03* +X382038Y376807D03* +X382038Y390807D03* +X382038Y404807D03* +X382038Y418807D03* + +X927009Y126316D03* +X926228Y140287D03* +X923897Y154085D03* +X920044Y167536D03* +X914717Y180475D03* +X907982Y192741D03* +X899924Y204180D03* +X890641Y214651D03* +X880251Y224022D03* +X868881Y232179D03* +X856674Y239019D03* +X843781Y244457D03* +X830363Y248425D03* +X816586Y250874D03* +X802622Y251774D03* +X788645Y251114D03* +X774828Y248901D03* +X761344Y245164D03* +X748360Y239948D03* +X736037Y233319D03* +X724529Y225358D03* +X713979Y216166D03* +X704519Y205856D03* +X696265Y194557D03* +X689321Y182409D03* +X683773Y169563D03* +X679689Y156179D03* +X677122Y142424D03* +X676102Y128469D03* +X676642Y114486D03* +X678737Y100651D03* +X682358Y87135D03* +X687463Y74107D03* +X693986Y61728D03* +X701847Y50152D03* +X710949Y39524D03* +X721177Y29975D03* +X732405Y21625D03* +X744493Y14576D03* +X757291Y8918D03* +X770639Y4720D03* +X784372Y2035D03* +X798318Y895D03* +X812304Y1316D03* +X826157Y3291D03* +X839703Y6797D03* +X852775Y11789D03* +X865210Y18206D03* +X876852Y25968D03* +X887558Y34978D03* +X897195Y45124D03* +X905641Y56280D03* +X912793Y68307D03* +X918560Y81056D03* +X922873Y94367D03* +X925676Y108077D03* +X926935Y122013D03* + +X602773Y650000D03* +X601821Y663957D03* +X598982Y677655D03* +X594309Y690841D03* +X587889Y703270D03* +X579841Y714712D03* +X570313Y724955D03* +X559483Y733809D03* +X547550Y741111D03* +X534737Y746724D03* +X521280Y750545D03* +X507428Y752504D03* +X493439Y752563D03* +X479572Y750722D03* +X466083Y747015D03* +X453222Y741510D03* +X441228Y734310D03* +X430323Y725547D03* +X420709Y715385D03* +X412565Y704012D03* +X406040Y691637D03* +X401256Y678491D03* +X398301Y664818D03* +X397231Y650870D03* +X398065Y636905D03* +X400788Y623184D03* +X405348Y609959D03* +X411663Y597476D03* +X419614Y585966D03* +X429055Y575643D03* +X439810Y566697D03* +X451680Y559295D03* +X464446Y553573D03* +X477870Y549638D03* +X491705Y547563D03* +X505693Y547385D03* +X519575Y549109D03* +X533095Y552702D03* +X546002Y558098D03* +X558056Y565196D03* +X569035Y573866D03* +X578734Y583946D03* +X586975Y595251D03* +X593605Y607569D03* +X598500Y620674D03* +X601570Y634322D03* +X602758Y648261D03* + +X500000Y650000D03* +X500000Y664000D03* +X500000Y678000D03* +X500000Y692000D03* +X500000Y706000D03* +X494599Y714366D03* +X480883Y711699D03* +X468062Y706144D03* +X456736Y697962D03* +X447434Y687536D03* +X440591Y675353D03* +X436529Y661984D03* +X435437Y648054D03* +X437366Y634216D03* +X442226Y621115D03* +X449789Y609367D03* +X459702Y599520D03* +X471501Y592035D03* +X484633Y587262D03* +X498484Y585425D03* +X512407Y586610D03* +X525748Y590761D03* +X537885Y597685D03* +X548249Y607056D03* +X556356Y618437D03* +X561825Y631294D03* +X551844Y636823D03* +X538276Y640271D03* +X524707Y643720D03* +X511139Y647169D03* + +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_save_mousebites.txt b/gerbonara/gerber/tests/panelize/expects/dxf_save_mousebites.txt new file mode 100644 index 0000000..4a64514 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_save_mousebites.txt @@ -0,0 +1,584 @@ +M48 +FMAT,2 +ICI,OFF +METRIC,TZ,000.000 +T01C0.500 +% +G90 +M71 +T01 +X80000Y85000 +X80000Y83600 +X80000Y82200 +X80000Y80800 +X80000Y79400 +X80000Y78000 +X80000Y76600 +X80000Y75200 +X80000Y73800 +X80000Y72400 +X80000Y71000 +X80000Y69600 +X80000Y68200 +X80000Y66800 +X80000Y65400 +X80000Y64000 +X80000Y62600 +X80000Y61200 +X80000Y59800 +X80000Y58400 +X80000Y57000 +X80000Y55600 +X80000Y54200 +X80000Y52800 +X80000Y51400 +X80000Y50000 +X80000Y48600 +X80000Y47200 +X80000Y45800 +X80000Y44400 +X80000Y43000 +X80000Y41600 +X80000Y40200 +X80000Y38800 +X80000Y37400 +X80000Y36000 + +X90000Y85000 +X90000Y83600 +X90000Y82200 +X90000Y80800 +X90000Y79400 +X90000Y78000 +X90000Y76600 +X90000Y75200 +X90000Y73800 +X90000Y72400 +X90000Y71000 +X90000Y69600 +X90000Y68200 +X90000Y66800 +X90000Y65400 +X90000Y64000 +X90000Y62600 +X90000Y61200 +X90000Y59800 +X90000Y58400 +X90000Y57000 +X90000Y55600 +X90000Y54200 +X90000Y52800 +X90000Y51400 +X90000Y50000 +X90000Y48600 +X90000Y47200 +X90000Y45800 +X90000Y44400 +X90000Y43000 +X90000Y41600 +X90000Y40200 +X90000Y38800 +X90000Y37400 +X90000Y36000 + +X20000Y32939 +X21400Y32939 +X22800Y32939 +X24200Y32939 +X25600Y32939 +X27000Y32939 +X28400Y32939 +X29800Y32939 +X31200Y32939 +X32583Y32922 +X32583Y31522 +X32583Y30122 +X32583Y28722 +X32583Y27322 +X32583Y25922 +X32583Y24522 +X32583Y23122 +X32583Y21722 +X32583Y20322 +X32583Y18922 + +X40000Y0 +X38600Y0 +X37200Y0 +X35800Y0 +X34400Y0 +X33000Y0 +X31600Y0 +X30200Y0 +X28800Y0 +X27400Y0 +X26000Y0 +X24600Y0 +X23200Y0 +X21800Y0 +X20400Y0 +X19000Y0 +X17600Y0 +X16200Y0 +X14800Y0 +X13400Y0 +X12000Y0 +X10600Y0 +X9201Y32 +X7818Y241 +X6477Y641 +X5206Y1224 +X4028Y1979 +X2967Y2891 +X2044Y3942 +X1276Y5111 +X680Y6376 +X265Y7712 +X41Y9093 +X0Y10492 +X0Y11892 +X0Y13292 +X0Y14692 +X0Y16092 +X0Y17492 +X0Y18892 +X0Y20292 +X0Y21692 +X0Y23092 +X0Y24492 +X0Y25892 +X0Y27292 +X0Y28692 +X0Y30092 +X0Y31492 +X0Y32892 +X0Y34292 +X0Y35692 +X0Y37092 +X0Y38492 +X0Y39892 +X83Y41288 +X360Y42660 +X826Y43979 +X1471Y45220 +X2282Y46359 +X3245Y47374 +X4340Y48244 +X5546Y48953 +X6839Y49487 +X8194Y49836 +X9584Y49991 +X10984Y50000 +X12384Y50000 +X13784Y50000 +X15184Y50000 +X16584Y50000 +X17984Y50000 +X19384Y50000 +X20784Y50000 +X22184Y50000 +X23584Y50000 +X24984Y50000 +X26384Y50000 +X27784Y50000 +X29184Y50000 +X30584Y50000 +X31984Y50000 +X33384Y50000 +X34784Y50000 +X36184Y50000 +X37584Y50000 +X38984Y50000 +X40384Y49993 +X41775Y49841 +X43131Y49497 +X44425Y48968 +X45633Y48262 +X46731Y47395 +X47697Y46384 +X48513Y45247 +X49162Y44008 +X49631Y42690 +X49912Y41320 +X50000Y39924 +X50000Y38524 +X50000Y37124 +X50000Y35724 +X50000Y34324 +X50000Y32924 +X50000Y31524 +X50000Y30124 +X50000Y28724 +X50000Y27324 +X50000Y25924 +X50000Y24524 +X50000Y23124 +X50000Y21724 +X50000Y20324 +X50000Y18924 +X50000Y17524 +X50000Y16124 +X50000Y14724 +X50000Y13324 +X50000Y11924 +X50000Y10524 +X49962Y9125 +X49742Y7743 +X49332Y6406 +X48739Y5139 +X47975Y3967 +X47055Y2913 +X45997Y1998 +X44822Y1239 +X43553Y652 +X42213Y248 +X40831Y35 + +X74270Y75039 +X74270Y73639 +X74270Y72239 +X74270Y70839 +X74270Y69439 +X74270Y68039 +X74270Y66639 +X74270Y65239 +X74270Y63839 +X74270Y62439 +X74270Y61039 +X74270Y59639 +X74270Y58239 +X74270Y56839 +X74270Y55439 +X74270Y54039 +X74270Y52639 +X74270Y51239 +X74270Y49839 +X74270Y48439 +X74270Y47039 +X74270Y45639 +X74238Y44240 +X74029Y42857 +X73629Y41517 +X73046Y40245 +X72291Y39067 +X71380Y38007 +X70329Y37083 +X69159Y36316 +X67894Y35719 +X66558Y35305 +X65177Y35081 +X63778Y35039 +X62378Y35039 +X60978Y35039 +X59578Y35039 +X58178Y35039 +X56778Y35039 +X55378Y35039 +X53978Y35039 +X52578Y35039 +X51178Y35039 +X49778Y35039 +X48378Y35039 +X46978Y35039 +X45578Y35039 +X44178Y35039 +X42778Y35039 +X41378Y35039 +X39978Y35039 +X38578Y35039 +X37178Y35039 +X35778Y35039 +X34378Y35039 +X32982Y35123 +X31611Y35400 +X30292Y35865 +X29050Y36510 +X27911Y37322 +X26896Y38285 +X26026Y39380 +X25317Y40586 +X24783Y41879 +X24435Y43233 +X24279Y44624 +X24270Y46023 +X24270Y47423 +X24270Y48823 +X24270Y50223 +X24270Y51623 +X24270Y53023 +X24270Y54423 +X24270Y55823 +X24270Y57223 +X24270Y58623 +X24270Y60023 +X24270Y61423 +X24270Y62823 +X24270Y64223 +X24270Y65623 +X24270Y67023 +X24270Y68423 +X24270Y69823 +X24270Y71223 +X24270Y72623 +X24270Y74023 +X24278Y75423 +X24429Y76814 +X24773Y78170 +X25303Y79465 +X26008Y80673 +X26875Y81771 +X27887Y82737 +X29023Y83552 +X30262Y84201 +X31580Y84671 +X32950Y84952 +X34347Y85039 +X35747Y85039 +X37147Y85039 +X38547Y85039 +X39947Y85039 +X41347Y85039 +X42747Y85039 +X44147Y85039 +X45547Y85039 +X46947Y85039 +X48347Y85039 +X49747Y85039 +X51147Y85039 +X52547Y85039 +X53947Y85039 +X55347Y85039 +X56747Y85039 +X58147Y85039 +X59547Y85039 +X60947Y85039 +X62347Y85039 +X63747Y85039 +X65145Y85001 +X66527Y84781 +X67864Y84371 +X69131Y83778 +X70303Y83015 +X71357Y82095 +X72272Y81037 +X73031Y79862 +X73618Y78592 +X74022Y77253 +X74236Y75870 + +X38204Y42206 +X36804Y42206 +X35404Y42206 +X34004Y42206 +X32604Y42206 +X31204Y42206 +X29804Y42206 +X28404Y42206 +X27004Y42206 +X25604Y42206 +X24204Y42206 +X22804Y42206 +X21404Y42206 +X20004Y42206 +X18604Y42206 +X17204Y42206 +X15804Y42206 +X14404Y42206 +X13451Y41759 +X13451Y40359 +X13451Y38959 +X13451Y37559 +X13451Y36159 +X13451Y34759 +X13451Y33359 +X13451Y31959 +X13451Y30559 +X13451Y29159 +X13451Y27759 +X13451Y26359 +X13451Y24959 +X13451Y23559 +X13451Y22159 +X13451Y20759 +X13451Y19359 +X13451Y17959 +X13451Y16559 +X13451Y15159 +X13451Y13759 +X14688Y13596 +X16088Y13596 +X17488Y13596 +X18888Y13596 +X20288Y13596 +X21688Y13596 +X23088Y13596 +X24488Y13596 +X25888Y13596 +X27288Y13596 +X28688Y13596 +X30088Y13596 +X31488Y13596 +X32888Y13596 +X34288Y13596 +X35688Y13596 +X37088Y13596 +X38204Y13881 +X38204Y15281 +X38204Y16681 +X38204Y18081 +X38204Y19481 +X38204Y20881 +X38204Y22281 +X38204Y23681 +X38204Y25081 +X38204Y26481 +X38204Y27881 +X38204Y29281 +X38204Y30681 +X38204Y32081 +X38204Y33481 +X38204Y34881 +X38204Y36281 +X38204Y37681 +X38204Y39081 +X38204Y40481 +X38204Y41881 + +X92701Y12632 +X92623Y14029 +X92390Y15408 +X92004Y16754 +X91472Y18048 +X90798Y19274 +X89992Y20418 +X89064Y21465 +X88025Y22402 +X86888Y23218 +X85667Y23902 +X84378Y24446 +X83036Y24842 +X81659Y25087 +X80262Y25177 +X78865Y25111 +X77483Y24890 +X76134Y24516 +X74836Y23995 +X73604Y23332 +X72453Y22536 +X71398Y21617 +X70452Y20586 +X69626Y19456 +X68932Y18241 +X68377Y16956 +X67969Y15618 +X67712Y14242 +X67610Y12847 +X67664Y11449 +X67874Y10065 +X68236Y8714 +X68746Y7411 +X69399Y6173 +X70185Y5015 +X71095Y3952 +X72118Y2997 +X73241Y2162 +X74449Y1458 +X75729Y892 +X77064Y472 +X78437Y203 +X79832Y90 +X81230Y132 +X82616Y329 +X83970Y680 +X85278Y1179 +X86521Y1821 +X87685Y2597 +X88756Y3498 +X89719Y4512 +X90564Y5628 +X91279Y6831 +X91856Y8106 +X92287Y9437 +X92568Y10808 +X92693Y12201 + +X60277Y65000 +X60182Y66396 +X59898Y67765 +X59431Y69084 +X58789Y70327 +X57984Y71471 +X57031Y72495 +X55948Y73381 +X54755Y74111 +X53474Y74672 +X52128Y75055 +X50743Y75250 +X49344Y75256 +X47957Y75072 +X46608Y74701 +X45322Y74151 +X44123Y73431 +X43032Y72555 +X42071Y71539 +X41256Y70401 +X40604Y69164 +X40126Y67849 +X39830Y66482 +X39723Y65087 +X39807Y63691 +X40079Y62318 +X40535Y60996 +X41166Y59748 +X41961Y58597 +X42905Y57564 +X43981Y56670 +X45168Y55929 +X46445Y55357 +X47787Y54964 +X49170Y54756 +X50569Y54739 +X51958Y54911 +X53310Y55270 +X54600Y55810 +X55806Y56520 +X56903Y57387 +X57873Y58395 +X58698Y59525 +X59360Y60757 +X59850Y62067 +X60157Y63432 +X60276Y64826 + +X50000Y65000 +X50000Y66400 +X50000Y67800 +X50000Y69200 +X50000Y70600 +X49460Y71437 +X48088Y71170 +X46806Y70614 +X45674Y69796 +X44743Y68754 +X44059Y67535 +X43653Y66198 +X43544Y64805 +X43737Y63422 +X44223Y62112 +X44979Y60937 +X45970Y59952 +X47150Y59203 +X48463Y58726 +X49848Y58543 +X51241Y58661 +X52575Y59076 +X53789Y59768 +X54825Y60706 +X55636Y61844 +X56182Y63129 +X55184Y63682 +X53828Y64027 +X52471Y64372 +X51114Y64717 + +M30 diff --git a/gerbonara/gerber/tests/panelize/expects/dxf_to_inch.gtl b/gerbonara/gerber/tests/panelize/expects/dxf_to_inch.gtl new file mode 100644 index 0000000..f838214 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/dxf_to_inch.gtl @@ -0,0 +1,93 @@ +%MOIN*% +%FSLAX25Y25*% +%IPPOS*% +%ADD10C,0*% +G75* +%LPD*% +D10* +G01* +X314961Y334646D02* +G75* +G01* +X314961Y137795D01* +G01* +X354331Y334646D02* +G75* +G01* +X354331Y137795D01* +G01* +X78740Y129681D02* +G75* +G01* +X128278Y129681D01* +G01* +X128278Y70253D01* +G01* +X157480Y0D02* +G75* +G01* +X39370Y0D01* +G02* +X0Y39370I0J39370D01* +G01* +X0Y157480D01* +G02* +X39370Y196850I39370J0D01* +G01* +X157480Y196850D01* +G02* +X196850Y157480I0J-39370D01* +G01* +X196850Y39370D01* +G02* +X157480Y0I-39370J0D01* +G01* +X292403Y295431D02* +G75* +G01* +X292403Y177320D01* +G02* +X253033Y137950I-39370J0D01* +G01* +X134923Y137950D01* +G02* +X95553Y177320I0J39370D01* +G01* +X95553Y295431D01* +G02* +X134923Y334801I39370J0D01* +G01* +X253033Y334801D01* +G02* +X292403Y295431I0J-39370D01* +G01* +X150409Y166166D02* +G75* +G01* +X52957Y166166D01* +G01* +X52957Y53528D01* +G01* +X150409Y53528D01* +G01* +X150409Y166166D01* +G01* +X364964Y49731D02* +G75* +G03* +X364964Y49731I-49395J0D01* +G01* +X237312Y255906D02* +G75* +G03* +X237312Y255906I-40462J0D01* +G01* +X196850Y255906D02* +G75* +G01* +X196850Y281336D01* +G03* +X221497Y249641I0J-25430D01* +G01* +X196850Y255906D01* +M02* diff --git a/gerbonara/gerber/tests/panelize/expects/excellon_offset.txt b/gerbonara/gerber/tests/panelize/expects/excellon_offset.txt new file mode 100644 index 0000000..9a0b430 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/excellon_offset.txt @@ -0,0 +1,41 @@ +M48 +FMAT,2 +ICI,OFF +METRIC,TZ,000.000 +T01C0.600 +T02C0.700 +T03C0.800 +T04C1.000 +% +G90 +M71 +T01 +X15610Y7438 +X15610Y8413 +X14610Y11100G85X13100Y11100 +T02 +X14610Y8900 +X14610Y6950 +X13140Y6950 +X13050Y8900 +T03 +G00X14610Y7925 +M15 +G01X13140Y7925 +M16 +G05 +X14600Y12100 +T04 +G00X11600Y6700 +M15 +G02X12600Y5700I0J-1000 +G03X13600Y4700A1000 +G03X14600Y5700A1000 +G01X17600Y5700 +G01X17600Y7600 +G03X15100Y10100I-2500J0 +G01X11600Y10100 +G01X11600Y6700 +M16 +G05 +M30 diff --git a/gerbonara/gerber/tests/panelize/expects/excellon_rotate.txt b/gerbonara/gerber/tests/panelize/expects/excellon_rotate.txt new file mode 100644 index 0000000..f33dcfd --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/excellon_rotate.txt @@ -0,0 +1,41 @@ +M48 +FMAT,2 +ICI,OFF +METRIC,TZ,000.000 +T01C0.600 +T02C0.700 +T03C0.800 +T04C1.000 +% +G90 +M71 +T01 +X7521Y1051 +X7188Y1967 +X5329Y4150G85X3910Y3633 +T02 +X6082Y2082 +X6749Y250 +X5367Y-253 +X4616Y1549 +T03 +G00X6415Y1166 +M15 +G01X5034Y663 +M16 +G05 +X4978Y5086 +T04 +G00X4006Y-1014 +M15 +G02X5287Y-1612I342J-940 +G03X6569Y-2210A1000 +G03X7167Y-928A1000 +G01X9986Y98 +G01X9336Y1883 +G03X6132Y3378I-2349J-855 +G01X2843Y2181 +G01X4006Y-1014 +M16 +G05 +M30 diff --git a/gerbonara/gerber/tests/panelize/expects/excellon_save.txt b/gerbonara/gerber/tests/panelize/expects/excellon_save.txt new file mode 100644 index 0000000..18fdcc4 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/excellon_save.txt @@ -0,0 +1,41 @@ +M48 +FMAT,2 +ICI,OFF +METRIC,TZ,000.000 +T01C0.600 +T02C0.700 +T03C0.800 +T04C1.000 +% +G90 +M71 +T01 +X4610Y2438 +X4610Y3413 +X3610Y6100G85X2100Y6100 +T02 +X3610Y3900 +X3610Y1950 +X2140Y1950 +X2050Y3900 +T03 +G00X3610Y2925 +M15 +G01X2140Y2925 +M16 +G05 +X3600Y7100 +T04 +G00X600Y1700 +M15 +G02X1600Y700I0J-1000 +G03X2600Y-300A1000 +G03X3600Y700A1000 +G01X6600Y700 +G01X6600Y2600 +G03X4100Y5100I-2500J0 +G01X600Y5100 +G01X600Y1700 +M16 +G05 +M30 diff --git a/gerbonara/gerber/tests/panelize/expects/excellon_to_inch.txt b/gerbonara/gerber/tests/panelize/expects/excellon_to_inch.txt new file mode 100644 index 0000000..6af5494 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/excellon_to_inch.txt @@ -0,0 +1,41 @@ +M48 +FMAT,2 +ICI,OFF +INCH,TZ +T01C0.0236 +T02C0.0275 +T03C0.0314 +T04C0.0393 +% +G90 +M72 +T01 +X1815Y960 +X1815Y1344 +X1421Y2402G85X827Y2402 +T02 +X1421Y1535 +X1421Y768 +X843Y768 +X807Y1535 +T03 +G00X1421Y1152 +M15 +G01X843Y1152 +M16 +G05 +X1417Y2795 +T04 +G00X236Y669 +M15 +G02X630Y276I0J-394 +G03X1024Y-118A394 +G03X1417Y276A394 +G01X2598Y276 +G01X2598Y1024 +G03X1614Y2008I-984J0 +G01X236Y2008 +G01X236Y669 +M16 +G05 +M30 diff --git a/gerbonara/gerber/tests/panelize/expects/excellon_to_metric.txt b/gerbonara/gerber/tests/panelize/expects/excellon_to_metric.txt new file mode 100644 index 0000000..20f698e --- /dev/null +++ b/gerbonara/gerber/tests/panelize/expects/excellon_to_metric.txt @@ -0,0 +1,41 @@ +M48 +FMAT,2 +ICI,OFF +METRIC,TZ,000.000 +T01C0.599 +T02C0.698 +T03C0.797 +T04C0.998 +% +G90 +M71 +T01 +X4610Y2438 +X4610Y3414 +X3609Y6101G85X2101Y6101 +T02 +X3609Y3899 +X3609Y1951 +X2141Y1951 +X2050Y3899 +T03 +G00X3609Y2926 +M15 +G01X2141Y2926 +M16 +G05 +X3599Y7099 +T04 +G00X599Y1699 +M15 +G02X1600Y701I0J-1001 +G03X2601Y-300A1001 +G03X3599Y701A1001 +G01X6599Y701 +G01X6599Y2601 +G03X4100Y5100I-2499J0 +G01X599Y5100 +G01X599Y1699 +M16 +G05 +M30 diff --git a/gerbonara/gerber/tests/panelize/test_am_expression.py b/gerbonara/gerber/tests/panelize/test_am_expression.py new file mode 100644 index 0000000..bed04a6 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/test_am_expression.py @@ -0,0 +1,206 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# Copyright 2019 Hiroshi Murayama + +import unittest +from ...panelize.am_expression import * +from ...panelize.am_expression import AMOperatorExpression as Op +from ...utils import inch, metric +from ...am_read import read_macro + +class TestAMConstantExpression(unittest.TestCase): + def setUp(self): + self.const_int_value = 7 + self.const_int = AMConstantExpression(self.const_int_value) + self.const_float_value = 1.2345 + self.const_float = AMConstantExpression(self.const_float_value) + + def test_contruct(self): + self.assertEqual(self.const_int.value, self.const_int_value) + self.assertEqual(self.const_float.value, self.const_float_value) + + def test_optimize(self): + ov = self.const_int.optimize() + self.assertEqual(ov.value, self.const_int_value) + ov = self.const_float.optimize() + self.assertEqual(ov.value, self.const_float_value) + + def test_to_gerber(self): + self.assertEqual(self.const_int.to_gerber(), '7') + self.assertEqual(self.const_float.to_gerber(), '1.2345') + + def test_to_instructions(self): + self.const_int.to_instructions() + self.const_float.to_instructions() + +class TestAMVariableExpression(unittest.TestCase): + def setUp(self): + self.var1_num = 1 + self.var1 = AMVariableExpression(self.var1_num) + self.var2_num = 512 + self.var2 = AMVariableExpression(self.var2_num) + + def test_construction(self): + self.assertEqual(self.var1.number, self.var1_num) + self.assertEqual(self.var2.number, self.var2_num) + + def test_optimize(self): + ov = self.var1.optimize() + self.assertTrue(isinstance(ov, AMVariableExpression)) + self.assertEqual(ov.number, self.var1_num) + ov = self.var2.optimize() + self.assertTrue(isinstance(ov, AMVariableExpression)) + self.assertEqual(ov.number, self.var2_num) + + def test_to_gerber(self): + self.assertEqual(self.var1.to_gerber(), '$1') + self.assertEqual(self.var2.to_gerber(), '$512') + + def test_to_instructions(self): + self.var1.to_instructions() + self.var2.to_instructions() + +class TestAMOperatorExpression(unittest.TestCase): + def setUp(self): + self.c1 = 10 + self.c2 = 20 + self.v1 = 5 + self.v2 = 9 + c1 = AMConstantExpression(self.c1) + c2 = AMConstantExpression(self.c2) + v1 = AMVariableExpression(self.v1) + v2 = AMVariableExpression(self.v2) + + self.cc_exps = [ + (Op.ADD, AMOperatorExpression(Op.ADD, c1, c2)), + (Op.SUB, AMOperatorExpression(Op.SUB, c1, c2)), + (Op.MUL, AMOperatorExpression(Op.MUL, c1, c2)), + (Op.DIV, AMOperatorExpression(Op.DIV, c1, c2)), + ] + + self.cv_exps = [ + (Op.ADD, AMOperatorExpression(Op.ADD, c1, v2)), + (Op.SUB, AMOperatorExpression(Op.SUB, c1, v2)), + (Op.MUL, AMOperatorExpression(Op.MUL, c1, v2)), + (Op.DIV, AMOperatorExpression(Op.DIV, c1, v2)), + ] + self.vc_exps = [ + (Op.ADD, AMOperatorExpression(Op.ADD, v1, c2)), + (Op.SUB, AMOperatorExpression(Op.SUB, v1, c2)), + (Op.MUL, AMOperatorExpression(Op.MUL, v1, c2)), + (Op.DIV, AMOperatorExpression(Op.DIV, v1, c2)), + ] + + self.composition = AMOperatorExpression(Op.ADD, + self.cc_exps[0][1], self.cc_exps[0][1]) + + def test_optimize(self): + self.assertEqual(self.cc_exps[0][1].optimize().value, self.c1 + self.c2) + self.assertEqual(self.cc_exps[1][1].optimize().value, self.c1 - self.c2) + self.assertEqual(self.cc_exps[2][1].optimize().value, self.c1 * self.c2) + self.assertEqual(self.cc_exps[3][1].optimize().value, self.c1 / self.c2) + + for op, expression in self.cv_exps: + o = expression.optimize() + self.assertTrue(isinstance(o, AMOperatorExpression)) + self.assertEqual(o.op, op) + self.assertEqual(o.lvalue.value, self.c1) + self.assertEqual(o.rvalue.number, self.v2) + + for op, expression in self.vc_exps: + o = expression.optimize() + self.assertTrue(isinstance(o, AMOperatorExpression)) + self.assertEqual(o.op, op) + self.assertEqual(o.lvalue.number, self.v1) + self.assertEqual(o.rvalue.value, self.c2) + + self.assertEqual(self.composition.optimize().value, (self.c1 + self.c2) * 2) + + def test_to_gerber(self): + for op, expression in self.cc_exps: + self.assertEqual(expression.to_gerber(), + '({0}){1}({2})'.format(self.c1, op, self.c2)) + for op, expression in self.cv_exps: + self.assertEqual(expression.to_gerber(), + '({0}){1}(${2})'.format(self.c1, op, self.v2)) + for op, expression in self.vc_exps: + self.assertEqual(expression.to_gerber(), + '(${0}){1}({2})'.format(self.v1, op, self.c2)) + self.assertEqual(self.composition.to_gerber(), + '(({0})+({1}))+(({2})+({3}))'.format( + self.c1, self.c2, self.c1, self.c2 + )) + + def test_to_instructions(self): + for of, expression in self.vc_exps + self.cv_exps + self.cc_exps: + expression.to_instructions() + self.composition.to_instructions() + +class TestAMExpression(unittest.TestCase): + def setUp(self): + self.c1 = 10 + self.c1_exp = AMConstantExpression(self.c1) + self.v1 = 5 + self.v1_exp = AMVariableExpression(self.v1) + self.op_exp = AMOperatorExpression(Op.ADD, self.c1_exp, self.v1_exp) + + def test_to_inch(self): + o = self.c1_exp.to_inch().optimize() + self.assertEqual(o.value, inch(self.c1)) + o = self.v1_exp.to_inch().optimize() + self.assertTrue(isinstance(o, AMOperatorExpression)) + self.assertEqual(o.op, Op.DIV) + o = self.op_exp.to_inch().optimize() + self.assertTrue(isinstance(o, AMOperatorExpression)) + self.assertEqual(o.op, Op.DIV) + + def test_to_metric(self): + o = self.c1_exp.to_metric().optimize() + self.assertEqual(o.value, metric(self.c1)) + o = self.v1_exp.to_metric().optimize() + self.assertTrue(isinstance(o, AMOperatorExpression)) + self.assertEqual(o.op, Op.MUL) + o = self.op_exp.to_metric().optimize() + self.assertTrue(isinstance(o, AMOperatorExpression)) + self.assertEqual(o.op, Op.MUL) + +class TestEvalMacro(unittest.TestCase): + def test_eval_macro(self): + macros = [ + '$1=5.5*', + '$1=0.000001*' + '$2=$3*', + '$3=(1.23)+(4.56)*', + '$3=(1.23)-(4.56)*', + '$3=(1.23)X(4.56)*', + '$3=(1.23)/(4.56)*', + '$3=(10.2)X($2)*', + '1,1.2*', + '1,$2*', + '1,($2)+($3)*', + #'1,(2.0)-($3)*', # This doesn't pass due to pcb-tools bug + '1,($2)X($3)*', + '1,($2)/($3)*', + '1,2.1,3.2*2,(3.1)/($1),$2*' + ] + for macro in macros: + self._eval_macro_string(macro) + + def _eval_macro_string(self, macro): + expressions = eval_macro(read_macro(macro)) + gerber = self._to_gerber(expressions) + self.assertEqual(macro, gerber) + + def _to_gerber(self, expressions_list): + gerber = '' + for number, expressions in expressions_list: + self.assertTrue(isinstance(number, int)) + if number > 0: + egerbers = [exp.to_gerber() for exp in expressions] + gerber += '{0},{1}*'.format(number, ','.join(egerbers)) + else: + self.assertEqual(len(expressions), 1) + gerber += '${0}={1}*'.format(-number, expressions[0].to_gerber()) + return gerber + diff --git a/gerbonara/gerber/tests/panelize/test_dxf.py b/gerbonara/gerber/tests/panelize/test_dxf.py new file mode 100644 index 0000000..dfd59d2 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/test_dxf.py @@ -0,0 +1,132 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# Copyright 2019 Hiroshi Murayama + +import os +import tempfile +from pathlib import Path +from contextlib import contextmanager +import unittest +from ... import panelize +from ...utils import inch, metric + + +class TestExcellon(unittest.TestCase): + @classmethod + def setUpClass(cls): + here = Path(__file__).parent + cls.EXPECTSDIR = here / 'expects' + + cls.METRIC_FILE = here / 'data' / 'ref_dxf_metric.dxf' + cls.INCH_FILE = here / 'data' / 'ref_dxf_inch.dxf' + cls.COMPLEX_FILE = here / 'data' / 'ref_dxf_complex.dxf' + + @contextmanager + def _check_result(self, reference_fn): + with tempfile.NamedTemporaryFile('rb') as tmp_out: + yield tmp_out.name + + actual = tmp_out.read() + expected = (self.EXPECTSDIR / reference_fn).read_bytes() + self.assertEqual(actual, expected) + + def test_save_line(self): + with self._check_result('dxf_save_line.gtl') as outfile: + dxf = panelize.read(self.METRIC_FILE) + dxf.draw_mode = dxf.DM_LINE + dxf.width = 0.2 + dxf.write(outfile) + + def test_save_fill(self): + with self._check_result('dxf_save_fill.gtl') as outfile: + dxf = panelize.read(self.METRIC_FILE) + dxf.draw_mode = dxf.DM_FILL + dxf.write(outfile) + + def test_save_fill_simple(self): + with self._check_result('dxf_save_fill_simple.gtl') as outfile: + dxf = panelize.read(self.METRIC_FILE) + dxf.draw_mode = dxf.DM_FILL + dxf.fill_mode = dxf.FM_SIMPLE + dxf.write(outfile) + + def test_save_mousebites(self): + with self._check_result('dxf_save_mousebites.gtl') as outfile: + dxf = panelize.read(self.METRIC_FILE) + dxf.draw_mode = dxf.DM_MOUSE_BITES + dxf.width = 0.5 + dxf.pitch = 1.4 + dxf.write(outfile) + + def test_save_excellon(self): + with self._check_result('dxf_save_line.txt') as outfile: + dxf = panelize.read(self.METRIC_FILE) + dxf.draw_mode = dxf.DM_LINE + dxf.format = (3,3) + dxf.width = 0.2 + dxf.write(outfile, filetype=dxf.FT_EXCELLON) + + def test_save_excellon_mousebites(self): + with self._check_result('dxf_save_mousebites.txt') as outfile: + dxf = panelize.read(self.METRIC_FILE) + dxf.draw_mode = dxf.DM_MOUSE_BITES + dxf.format = (3, 3) + dxf.width = 0.5 + dxf.pitch = 1.4 + dxf.write(outfile, filetype=dxf.FT_EXCELLON) + + def test_to_inch(self): + with self._check_result('dxf_to_inch.gtl') as outfile: + dxf = panelize.read(self.METRIC_FILE) + dxf.to_inch() + dxf.format = (2, 5) + dxf.write(outfile) + + def _test_to_metric(self): + with self._check_result('dxf_to_metric.gtl') as outfile: + dxf = panelize.read(self.INCH_FILE) + dxf.to_metric() + dxf.format = (3, 5) + dxf.write(outfile) + + def test_offset(self): + with self._check_result('dxf_offset.gtl') as outfile: + dxf = panelize.read(self.METRIC_FILE) + dxf.offset(11, 5) + dxf.write(outfile) + + def test_rotate(self): + with self._check_result('dxf_rotate.gtl') as outfile: + dxf = panelize.read(self.METRIC_FILE) + dxf.rotate(20, (10, 10)) + dxf.write(outfile) + + def test_rectangle_metric(self): + with self._check_result('dxf_rectangle_metric.gtl') as outfile: + dxf = panelize.DxfFile.rectangle(width=10, height=10, units='metric') + dxf.write(outfile) + + def test_rectangle_inch(self): + with self._check_result('dxf_rectangle_inch.gtl') as outfile: + dxf = panelize.DxfFile.rectangle(width=inch(10), height=inch(10), units='inch') + dxf.write(outfile) + + def test_complex_fill(self): + with self._check_result('dxf_complex_fill.gtl') as outfile: + dxf = panelize.read(self.COMPLEX_FILE) + dxf.draw_mode = dxf.DM_FILL + dxf.write(outfile) + + def test_complex_fill_flip(self): + with self._check_result('dxf_complex_fill_flip.gtl') as outfile: + ctx = panelize.GerberComposition() + base = panelize.rectangle(width=100, height=100, left=0, bottom=0, units='metric') + base.draw_mode = base.DM_FILL + ctx.merge(base) + dxf = panelize.read(self.COMPLEX_FILE) + dxf.negate_polarity() + dxf.draw_mode = dxf.DM_FILL + ctx.merge(dxf) + ctx.dump(outfile) + diff --git a/gerbonara/gerber/tests/panelize/test_excellon.py b/gerbonara/gerber/tests/panelize/test_excellon.py new file mode 100644 index 0000000..1d255cc --- /dev/null +++ b/gerbonara/gerber/tests/panelize/test_excellon.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# Copyright 2019 Hiroshi Murayama + +import os +import tempfile +from pathlib import Path +from contextlib import contextmanager +import unittest +from ... import panelize + +class TestExcellon(unittest.TestCase): + @classmethod + def setUpClass(cls): + here = Path(__file__).parent + cls.EXPECTSDIR = here / 'expects' + cls.METRIC_FILE = here / 'data' / 'ref_drill_metric.txt' + cls.INCH_FILE = here / 'data' / 'ref_drill_inch.txt' + + @contextmanager + def _check_result(self, reference_fn): + with tempfile.NamedTemporaryFile('rb') as tmp_out: + yield tmp_out.name + + actual = tmp_out.read() + expected = (self.EXPECTSDIR / reference_fn).read_bytes() + self.assertEqual(actual, expected) + + def test_save(self): + with self._check_result('excellon_save.txt') as outfile: + drill = panelize.read(self.METRIC_FILE) + drill.write(outfile) + + def test_to_inch(self): + with self._check_result('excellon_to_inch.txt') as outfile: + drill = panelize.read(self.METRIC_FILE) + drill.to_inch() + drill.format = (2, 4) + drill.write(outfile) + + def test_to_metric(self): + with self._check_result('excellon_to_metric.txt') as outfile: + drill = panelize.read(self.INCH_FILE) + drill.to_metric() + drill.format = (3, 3) + drill.write(outfile) + + def test_offset(self): + with self._check_result('excellon_offset.txt') as outfile: + drill = panelize.read(self.METRIC_FILE) + drill.offset(11, 5) + drill.write(outfile) + + def test_rotate(self): + with self._check_result('excellon_rotate.txt') as outfile: + drill = panelize.read(self.METRIC_FILE) + drill.rotate(20, (10, 10)) + drill.write(outfile) + diff --git a/gerbonara/gerber/tests/panelize/test_rs274x.py b/gerbonara/gerber/tests/panelize/test_rs274x.py new file mode 100644 index 0000000..85748a3 --- /dev/null +++ b/gerbonara/gerber/tests/panelize/test_rs274x.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# Copyright 2019 Hiroshi Murayama + +import os +import tempfile +from pathlib import Path +from contextlib import contextmanager +import unittest +from ... import panelize + +class TestRs274x(unittest.TestCase): + @classmethod + def setUpClass(cls): + here = Path(__file__).parent + cls.EXPECTSDIR = here / 'expects' + cls.METRIC_FILE = here / 'data' / 'ref_gerber_metric.gtl' + cls.INCH_FILE = here / 'data' / 'ref_gerber_inch.gtl' + cls.SQ_FILE = here / 'data' / 'ref_gerber_single_quadrant.gtl' + + @contextmanager + def _check_result(self, reference_fn): + with tempfile.NamedTemporaryFile('rb') as tmp_out: + yield tmp_out.name + + actual = tmp_out.read() + expected = (self.EXPECTSDIR / reference_fn).read_bytes() + self.assertEqual(actual, expected) + + def test_save(self): + with self._check_result('RS2724x_save.gtl') as outfile: + gerber = panelize.read(self.METRIC_FILE) + gerber.write(outfile) + + def test_to_inch(self): + with self._check_result('RS2724x_to_inch.gtl') as outfile: + gerber = panelize.read(self.METRIC_FILE) + gerber.to_inch() + gerber.format = (2,5) + gerber.write(outfile) + + def test_to_metric(self): + with self._check_result('RS2724x_to_metric.gtl') as outfile: + gerber = panelize.read(self.INCH_FILE) + gerber.to_metric() + gerber.format = (3, 4) + gerber.write(outfile) + + def test_offset(self): + with self._check_result('RS2724x_offset.gtl') as outfile: + gerber = panelize.read(self.METRIC_FILE) + gerber.offset(11, 5) + gerber.write(outfile) + + def test_rotate(self): + with self._check_result('RS2724x_rotate.gtl') as outfile: + gerber = panelize.read(self.METRIC_FILE) + gerber.rotate(20, (10,10)) + gerber.write(outfile) + + def test_single_quadrant(self): + with self._check_result('RS2724x_single_quadrant.gtl') as outfile: + gerber = panelize.read(self.SQ_FILE) + gerber.write(outfile) + diff --git a/gerbonara/gerber/tests/panelize/test_utility.py b/gerbonara/gerber/tests/panelize/test_utility.py new file mode 100644 index 0000000..b32af8b --- /dev/null +++ b/gerbonara/gerber/tests/panelize/test_utility.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# Copyright 2019 Hiroshi Murayama + +import unittest + +from ...panelize.utility import * +from math import sqrt + +class TestUtility(unittest.TestCase): + def test_rotate(self): + x0, y0 = (10, 0) + + x1, y1 = rotate(x0, y0, 60, (0, 0)) + self.assertAlmostEqual(x1, 5) + self.assertAlmostEqual(y1, 10 * sqrt(3) / 2) + + x1, y1 = rotate(x0, y0, 180, (5, 0)) + self.assertAlmostEqual(x1, 0) + self.assertAlmostEqual(y1, 0) + + x1, y1 = rotate(x0, y0, -90, (10, 5)) + self.assertAlmostEqual(x1, 5) + self.assertAlmostEqual(y1, 5) + + def test_is_equal_value(self): + a = 10.0001 + b = 10.01 + + self.assertTrue(is_equal_value(a, b, 0.1)) + self.assertTrue(is_equal_value(a, b, 0.01)) + self.assertFalse(is_equal_value(a, b, 0.001)) + self.assertFalse(is_equal_value(a, b)) + + self.assertTrue(is_equal_value(b, a, 0.1)) + self.assertTrue(is_equal_value(b, a, 0.01)) + self.assertFalse(is_equal_value(b, a, 0.001)) + self.assertFalse(is_equal_value(b, a)) + + def test_is_equal_point(self): + p0 = (10.01, 5.001) + p1 = (10.0001, 5) + self.assertTrue(is_equal_point(p0, p1, 0.1)) + self.assertTrue(is_equal_point(p0, p1, 0.01)) + self.assertFalse(is_equal_point(p0, p1, 0.001)) + self.assertFalse(is_equal_point(p0, p1)) + self.assertTrue(is_equal_point(p1, p0, 0.1)) + self.assertTrue(is_equal_point(p1, p0, 0.01)) + self.assertFalse(is_equal_point(p1, p0, 0.001)) + self.assertFalse(is_equal_point(p1, p0)) + + p0 = (5.001, 10.01) + p1 = (5, 10.0001) + self.assertTrue(is_equal_point(p0, p1, 0.1)) + self.assertTrue(is_equal_point(p0, p1, 0.01)) + self.assertFalse(is_equal_point(p0, p1, 0.001)) + self.assertFalse(is_equal_point(p0, p1)) + self.assertTrue(is_equal_point(p1, p0, 0.1)) + self.assertTrue(is_equal_point(p1, p0, 0.01)) + self.assertFalse(is_equal_point(p1, p0, 0.001)) + self.assertFalse(is_equal_point(p1, p0)) + diff --git a/tests/__init__.py b/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tests/data/ref_drill_inch.txt b/tests/data/ref_drill_inch.txt deleted file mode 100644 index 6af5494..0000000 --- a/tests/data/ref_drill_inch.txt +++ /dev/null @@ -1,41 +0,0 @@ -M48 -FMAT,2 -ICI,OFF -INCH,TZ -T01C0.0236 -T02C0.0275 -T03C0.0314 -T04C0.0393 -% -G90 -M72 -T01 -X1815Y960 -X1815Y1344 -X1421Y2402G85X827Y2402 -T02 -X1421Y1535 -X1421Y768 -X843Y768 -X807Y1535 -T03 -G00X1421Y1152 -M15 -G01X843Y1152 -M16 -G05 -X1417Y2795 -T04 -G00X236Y669 -M15 -G02X630Y276I0J-394 -G03X1024Y-118A394 -G03X1417Y276A394 -G01X2598Y276 -G01X2598Y1024 -G03X1614Y2008I-984J0 -G01X236Y2008 -G01X236Y669 -M16 -G05 -M30 diff --git a/tests/data/ref_drill_metric.txt b/tests/data/ref_drill_metric.txt deleted file mode 100644 index 3a50856..0000000 --- a/tests/data/ref_drill_metric.txt +++ /dev/null @@ -1,47 +0,0 @@ -M48 -FMAT,2 -ICI,OFF -METRIC,TZ,000.000 -T01C0.600 -T02C0.700 -T03C0.800 -T04C1.000 -% -G90 -M71 -T01 -X4610Y2438 -X4610Y3413 -X3610Y6100G85X2100Y6100 -T02 -X3610Y3900 -X3610Y1950 -X2140Y1950 -X2050Y3900 -T03 -G00X3610Y2925 -M15 -G01X2140Y2925 -M16 -G05 -X3600Y7100 -T04 -G00 -X600Y1700 -M15 -I0J-1000 -G02X1600Y700 -G03 -A1000 -I-2000J0 -X2600Y-300 -X3600Y700 -G01X6600 -Y2600 -G03X4100Y5100I-2500J0 -G01 -X600 -Y1700 -M16 -G05 -M30 diff --git a/tests/data/ref_dxf_complex.dxf b/tests/data/ref_dxf_complex.dxf deleted file mode 100644 index b9a89da..0000000 --- a/tests/data/ref_dxf_complex.dxf +++ /dev/null @@ -1,7500 +0,0 @@ -0 -SECTION -2 -HEADER -9 -$INSUNITS -70 -4 -9 -$ACADVER -1 -AC1014 -9 -$HANDSEED -5 -FFFF -0 -ENDSEC -0 -SECTION -2 -TABLES -0 -TABLE -2 -VPORT -5 -8 -100 -AcDbSymbolTable -0 -ENDTAB -0 -TABLE -2 -LTYPE -5 -5 -100 -AcDbSymbolTable -0 -LTYPE -5 -14 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -BYBLOCK -70 -0 -0 -LTYPE -5 -15 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -BYLAYER -70 -0 -0 -ENDTAB -0 -TABLE -2 -LAYER -5 -2 -100 -AcDbSymbolTable -70 -2 -0 -LAYER -5 -50 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -0 -70 -0 -6 -CONTINUOUS -0 -ENDTAB -0 -TABLE -2 -STYLE -5 -3 -100 -AcDbSymbolTable -70 -1 -0 -STYLE -5 -11 -100 -AcDbSymbolTableRecord -100 -AcDbTextStyleTableRecord -2 -STANDARD -70 -0 -0 -ENDTAB -0 -TABLE -2 -VIEW -5 -6 -100 -AcDbSymbolTable -70 -0 -0 -ENDTAB -0 -TABLE -2 -UCS -5 -7 -100 -AcDbSymbolTable -70 -0 -0 -ENDTAB -0 -TABLE -2 -APPID -5 -9 -100 -AcDbSymbolTable -70 -2 -0 -APPID -5 -12 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord -2 -ACAD -70 -0 -0 -ENDTAB -0 -TABLE -2 -DIMSTYLE -5 -A -100 -AcDbSymbolTable -70 -1 -0 -ENDTAB -0 -TABLE -2 -BLOCK_RECORD -5 -1 -100 -AcDbSymbolTable -70 -1 -0 -BLOCK_RECORD -5 -1F -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*MODEL_SPACE -0 -BLOCK_RECORD -5 -1B -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*PAPER_SPACE -0 -ENDTAB -0 -ENDSEC -0 -SECTION -2 -BLOCKS -0 -BLOCK -5 -20 -100 -AcDbEntity -100 -AcDbBlockBegin -2 -*MODEL_SPACE -0 -ENDBLK -5 -21 -100 -AcDbEntity -100 -AcDbBlockEnd -0 -BLOCK -5 -1C -100 -AcDbEntity -100 -AcDbBlockBegin -2 -*PAPER_SPACE -0 -ENDBLK -5 -1D -100 -AcDbEntity -100 -AcDbBlockEnd -0 -ENDSEC -0 -SECTION -2 -ENTITIES -0 -LWPOLYLINE -5 -100 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -62.450000000000003 -20 -62.034999999999997 -10 -62.450000000000003 -20 -63.335000000000001 -42 -0.99999999999999989 -10 -61.25 -20 -63.335000000000001 -10 -61.25 -20 -62.034999999999997 -42 -0.99999999999999989 -0 -LWPOLYLINE -5 -101 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -82.450000000000017 -20 -62.034999999999997 -42 --0.99999999999999989 -10 -81.25 -20 -62.034999999999997 -10 -81.250000000000014 -20 -63.335000000000001 -42 --0.99999999999999989 -10 -82.449999999999989 -20 -63.335000000000001 -0 -LWPOLYLINE -5 -102 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -72.950000000000003 -20 -63.335000000000001 -42 --0.99999999999999989 -10 -74.150000000000006 -20 -63.335000000000001 -10 -74.150000000000006 -20 -62.034999999999997 -42 --0.99999999999999989 -10 -72.950000000000003 -20 -62.034999999999997 -0 -CIRCLE -5 -103 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -65.450000000000003 -20 -62.685000000000002 -30 -0 -40 -0.59999999999999998 -0 -LWPOLYLINE -5 -104 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -14.150000000000002 -20 -62.034999999999997 -10 -14.150000000000002 -20 -63.335000000000001 -42 -0.99999999999999989 -10 -12.950000000000001 -20 -63.335000000000001 -10 -12.949999999999999 -20 -62.034999999999997 -42 -0.99999999999999989 -0 -LWPOLYLINE -5 -105 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -21.25 -20 -42.965000000000003 -10 -21.25 -20 -41.664999999999999 -42 -0.99999999999999989 -10 -22.450000000000003 -20 -41.664999999999999 -10 -22.450000000000003 -20 -42.965000000000003 -42 -0.99999999999999989 -0 -LWPOLYLINE -5 -106 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -34.149999999999999 -20 -41.664999999999999 -10 -34.149999999999999 -20 -42.965000000000003 -42 -0.99999999999999989 -10 -32.950000000000003 -20 -42.965000000000003 -10 -32.950000000000003 -20 -41.664999999999999 -42 -0.99999999999999989 -0 -LWPOLYLINE -5 -107 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -34.149999999999999 -20 -62.034999999999997 -10 -34.149999999999999 -20 -63.335000000000001 -42 -0.99999999999999989 -10 -32.950000000000003 -20 -63.335000000000001 -10 -32.950000000000003 -20 -62.034999999999997 -42 -0.99999999999999989 -0 -LWPOLYLINE -5 -108 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -62.450000000000003 -20 -41.664999999999999 -10 -62.450000000000003 -20 -42.965000000000003 -42 -0.99999999999999989 -10 -61.25 -20 -42.965000000000003 -10 -61.25 -20 -41.664999999999999 -42 -0.99999999999999989 -0 -LWPOLYLINE -5 -109 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -72.950000000000003 -20 -42.965000000000003 -10 -72.950000000000003 -20 -41.664999999999999 -42 -0.99999999999999989 -10 -74.150000000000006 -20 -41.664999999999999 -10 -74.150000000000006 -20 -42.965000000000003 -42 -0.99999999999999989 -0 -CIRCLE -5 -110 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -89.949999999999989 -20 -62.685000000000002 -30 -0 -40 -0.59999999999999998 -0 -LWPOLYLINE -5 -111 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -54.149999999999991 -20 -62.034999999999997 -42 --0.99999999999999989 -10 -52.950000000000003 -20 -62.034999999999997 -10 -52.949999999999989 -20 -63.335000000000001 -42 --0.99999999999999989 -10 -54.149999999999999 -20 -63.335000000000001 -0 -CIRCLE -5 -112 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -49.949999999999989 -20 -62.685000000000002 -30 -0 -40 -0.59999999999999998 -0 -ARC -5 -113 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -53.549999999999997 -20 -62.034999999999997 -30 -0 -40 -0.59999999999999609 -100 -AcDbArc -50 --180 -51 -0 -0 -LWPOLYLINE -5 -114 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -92.950000000000003 -20 -63.335000000000001 -42 --0.99999999999999989 -10 -94.150000000000006 -20 -63.335000000000001 -10 -94.150000000000006 -20 -62.034999999999997 -42 --0.99999999999999989 -10 -92.950000000000003 -20 -62.034999999999997 -0 -CIRCLE -5 -115 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -85.450000000000003 -20 -62.685000000000002 -30 -0 -40 -0.59999999999999998 -0 -LINE -5 -116 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -34.149999999999999 -20 -42.965000000000003 -30 -0 -11 -34.149999999999999 -21 -41.664999999999999 -31 -0 -0 -LINE -5 -117 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -74.150000000000006 -20 -42.965000000000003 -30 -0 -11 -74.150000000000006 -21 -41.664999999999999 -31 -0 -0 -LWPOLYLINE -5 -118 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -41.249999999999993 -20 -42.965000000000003 -10 -41.249999999999993 -20 -41.664999999999999 -42 -0.99999999999999989 -10 -42.449999999999989 -20 -41.664999999999999 -10 -42.449999999999989 -20 -42.965000000000003 -42 -0.99999999999999989 -0 -LINE -5 -119 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -41.249999999999993 -20 -41.664999999999999 -30 -0 -11 -41.249999999999993 -21 -42.965000000000003 -31 -0 -0 -LINE -5 -120 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -39.999999999999993 -20 -5 -30 -0 -11 -55.399999999999991 -21 -5 -31 -0 -0 -LWPOLYLINE -5 -121 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -22.450000000000003 -20 -62.034999999999997 -10 -22.450000000000003 -20 -63.335000000000001 -42 -0.99999999999999989 -10 -21.25 -20 -63.335000000000001 -10 -21.25 -20 -62.034999999999997 -42 -0.99999999999999989 -0 -ARC -5 -122 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -61.849999999999994 -20 -62.034999999999997 -30 -0 -40 -0.59999999999999609 -100 -AcDbArc -50 --180 -51 -0 -0 -ARC -5 -123 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -73.550000000000011 -20 -63.335000000000001 -30 -0 -40 -0.59999999999999609 -100 -AcDbArc -50 -0 -51 -180 -0 -CIRCLE -5 -124 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -69.950000000000003 -20 -62.685000000000002 -30 -0 -40 -0.59999999999999998 -0 -ARC -5 -125 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -73.550000000000011 -20 -62.034999999999997 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 --180 -51 -0 -0 -LINE -5 -126 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -32.950000000000003 -20 -41.664999999999999 -30 -0 -11 -32.950000000000003 -21 -42.965000000000003 -31 -0 -0 -LINE -5 -127 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -22.450000000000003 -20 -42.965000000000003 -30 -0 -11 -22.450000000000003 -21 -41.664999999999999 -31 -0 -0 -LINE -5 -128 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -21.25 -20 -41.664999999999999 -30 -0 -11 -21.25 -21 -42.965000000000003 -31 -0 -0 -CIRCLE -5 -129 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -69.950000000000003 -20 -42.314999999999998 -30 -0 -40 -0.59999999999999998 -0 -CIRCLE -5 -130 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -65.450000000000003 -20 -42.314999999999998 -30 -0 -40 -0.59999999999999998 -0 -ARC -5 -131 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -61.849999999999994 -20 -42.965000000000003 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -132 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -73.550000000000011 -20 -42.965000000000003 -30 -0 -40 -0.59999999999999609 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -133 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -73.550000000000011 -20 -41.664999999999999 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 --180 -51 -0 -0 -ARC -5 -134 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -61.849999999999994 -20 -41.664999999999999 -30 -0 -40 -0.59999999999999609 -100 -AcDbArc -50 --180 -51 -0 -0 -LWPOLYLINE -5 -135 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -54.149999999999991 -20 -41.664999999999999 -42 --0.99999999999999989 -10 -52.950000000000003 -20 -41.664999999999999 -10 -52.950000000000003 -20 -42.965000000000003 -42 --0.99999999999999989 -10 -54.149999999999991 -20 -42.965000000000003 -0 -CIRCLE -5 -136 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -49.949999999999989 -20 -42.314999999999998 -30 -0 -40 -0.59999999999999998 -0 -ARC -5 -137 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -53.549999999999997 -20 -42.965000000000003 -30 -0 -40 -0.59999999999999609 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -138 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -53.549999999999997 -20 -41.664999999999999 -30 -0 -40 -0.59999999999999609 -100 -AcDbArc -50 --180 -51 -0 -0 -ARC -5 -139 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -53.549999999999997 -20 -63.335000000000001 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -140 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -93.550000000000011 -20 -63.335000000000001 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 -0 -51 -180 -0 -LWPOLYLINE -5 -141 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -12.949999999999999 -20 -42.965000000000003 -42 --0.99999999999999989 -10 -14.15 -20 -42.965000000000003 -10 -14.15 -20 -41.664999999999999 -42 --0.99999999999999989 -10 -12.949999999999999 -20 -41.664999999999999 -0 -LWPOLYLINE -5 -142 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -2.4499999999999988 -20 -41.664999999999999 -42 --0.99999999999999989 -10 -1.2499999999999978 -20 -41.664999999999999 -10 -1.2499999999999956 -20 -42.965000000000003 -42 --0.99999999999999989 -10 -2.4500000000000011 -20 -42.965000000000003 -0 -LWPOLYLINE -5 -143 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -94.150000000000006 -20 -41.664999999999999 -42 --0.99999999999999989 -10 -92.950000000000003 -20 -41.664999999999999 -10 -92.950000000000017 -20 -42.965000000000003 -42 --0.99999999999999989 -10 -94.149999999999991 -20 -42.965000000000003 -0 -LWPOLYLINE -5 -144 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -42.449999999999989 -20 -62.034999999999997 -10 -42.449999999999989 -20 -63.335000000000001 -42 -0.99999999999999989 -10 -41.25 -20 -63.335000000000001 -10 -41.25 -20 -62.034999999999997 -42 -0.99999999999999989 -0 -LWPOLYLINE -5 -145 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -82.450000000000017 -20 -41.664999999999999 -42 --0.99999999999999989 -10 -81.25 -20 -41.664999999999999 -10 -81.25 -20 -42.965000000000003 -42 --0.99999999999999989 -10 -82.450000000000017 -20 -42.965000000000003 -0 -CIRCLE -5 -146 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -25.449999999999999 -20 -62.685000000000002 -30 -0 -40 -0.59999999999999998 -0 -ARC -5 -147 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -81.850000000000009 -20 -41.664999999999999 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 --180 -51 -0 -0 -CIRCLE -5 -148 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -89.949999999999989 -20 -42.314999999999998 -30 -0 -40 -0.59999999999999998 -0 -ARC -5 -149 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -93.550000000000011 -20 -41.664999999999999 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 --180 -51 -0 -0 -LINE -5 -150 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 --6.6613381477509392e-15 -20 -5 -30 -0 -11 -15.399999999999995 -21 -5 -31 -0 -0 -CIRCLE -5 -151 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -45.450000000000003 -20 -42.314999999999998 -30 -0 -40 -0.59999999999999998 -0 -CIRCLE -5 -152 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -45.450000000000003 -20 -62.685000000000002 -30 -0 -40 -0.59999999999999998 -0 -LINE -5 -153 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -42.449999999999989 -20 -42.965000000000003 -30 -0 -11 -42.449999999999989 -21 -41.664999999999999 -31 -0 -0 -LWPOLYLINE -5 -154 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -1.25 -20 -63.335000000000001 -10 -1.25 -20 -62.034999999999997 -42 -0.99999999999999989 -10 -2.4500000000000002 -20 -62.034999999999997 -10 -2.4500000000000002 -20 -63.335000000000001 -42 -0.99999999999999989 -0 -LINE -5 -155 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -2.4500000000000002 -20 -63.335000000000001 -30 -0 -11 -2.4500000000000002 -21 -62.034999999999997 -31 -0 -0 -LINE -5 -156 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -1.25 -20 -62.034999999999997 -30 -0 -11 -1.25 -21 -63.335000000000001 -31 -0 -0 -LINE -5 -157 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -12.949999999999999 -20 -62.034999999999997 -30 -0 -11 -12.950000000000001 -21 -63.335000000000001 -31 -0 -0 -CIRCLE -5 -158 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -5.4500000000000002 -20 -62.685000000000002 -30 -0 -40 -0.59999999999999998 -0 -ARC -5 -159 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -13.550000000000001 -20 -42.965000000000003 -30 -0 -40 -0.60000000000000053 -100 -AcDbArc -50 -0 -51 -180 -0 -LINE -5 -160 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -14.15 -20 -42.965000000000003 -30 -0 -11 -14.15 -21 -41.664999999999999 -31 -0 -0 -LINE -5 -161 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -34.149999999999999 -20 -63.335000000000001 -30 -0 -11 -34.149999999999999 -21 -62.034999999999997 -31 -0 -0 -ARC -5 -162 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -1.8500000000000003 -20 -63.335000000000001 -30 -0 -40 -0.59999999999999998 -100 -AcDbArc -50 -0 -51 -180 -0 -LINE -5 -163 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -35.399999999999999 -20 -100 -30 -0 -11 -20 -21 -100 -31 -0 -0 -LINE -5 -164 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -15.4 -20 -100 -30 -0 -11 -0 -21 -100 -31 -0 -0 -LINE -5 -165 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -0 -20 -100 -30 -0 -11 -0 -21 -60 -31 -0 -0 -LINE -5 -166 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -0 -20 -45 -30 -0 -11 --6.6613381477509392e-15 -21 -5 -31 -0 -0 -LINE -5 -167 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -19.999999999999993 -20 -5 -30 -0 -11 -35.399999999999999 -21 -5 -31 -0 -0 -LINE -5 -168 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -75.400000000000006 -20 -100 -30 -0 -11 -60 -21 -100 -31 -0 -0 -LINE -5 -169 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -95.399999999999991 -20 -100 -30 -0 -11 -80 -21 -100 -31 -0 -0 -LINE -5 -170 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -59.999999999999993 -20 -5 -30 -0 -11 -75.399999999999991 -21 -5 -31 -0 -0 -CIRCLE -5 -171 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -9.9499999999999993 -20 -62.685000000000002 -30 -0 -40 -0.59999999999999998 -0 -LINE -5 -172 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -79.999999999999986 -20 -5 -30 -0 -11 -95.399999999999991 -21 -5 -31 -0 -0 -ARC -5 -173 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -13.550000000000002 -20 -62.034999999999997 -30 -0 -40 -0.60000000000000275 -100 -AcDbArc -50 --180 -51 -0 -0 -LINE -5 -174 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -95.399999999999991 -20 -5 -30 -0 -11 -95.399999999999991 -21 -45 -31 -0 -0 -LINE -5 -175 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -92.950000000000003 -20 -62.034999999999997 -30 -0 -11 -92.950000000000003 -21 -63.335000000000001 -31 -0 -0 -CIRCLE -5 -176 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -5.4499999999999993 -20 -42.314999999999998 -30 -0 -40 -0.59999999999999998 -0 -ARC -5 -177 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -1.8499999999999983 -20 -42.965000000000003 -30 -0 -40 -0.60000000000000275 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -178 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -13.550000000000001 -20 -41.664999999999999 -30 -0 -40 -0.60000000000000053 -100 -AcDbArc -50 --180 -51 -0 -0 -ARC -5 -179 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -1.8499999999999983 -20 -41.664999999999999 -30 -0 -40 -0.60000000000000053 -100 -AcDbArc -50 --180 -51 -0 -0 -LINE -5 -180 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -22.450000000000003 -20 -63.335000000000001 -30 -0 -11 -22.450000000000003 -21 -62.034999999999997 -31 -0 -0 -LINE -5 -181 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -14.150000000000002 -20 -63.335000000000001 -30 -0 -11 -14.150000000000002 -21 -62.034999999999997 -31 -0 -0 -LINE -5 -182 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -72.950000000000003 -20 -41.664999999999999 -30 -0 -11 -72.950000000000003 -21 -42.965000000000003 -31 -0 -0 -CIRCLE -5 -183 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -29.950000000000003 -20 -62.685000000000002 -30 -0 -40 -0.59999999999999998 -0 -LINE -5 -184 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -61.25 -20 -41.664999999999999 -30 -0 -11 -61.25 -21 -42.965000000000003 -31 -0 -0 -LINE -5 -185 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -62.450000000000003 -20 -42.965000000000003 -30 -0 -11 -62.450000000000003 -21 -41.664999999999999 -31 -0 -0 -ARC -5 -186 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -41.849999999999994 -20 -42.965000000000003 -30 -0 -40 -0.59999999999999609 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -187 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -41.849999999999994 -20 -63.335000000000001 -30 -0 -40 -0.59999999999999609 -100 -AcDbArc -50 -0 -51 -180 -0 -LINE -5 -188 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -54.149999999999991 -20 -42.965000000000003 -30 -0 -11 -54.149999999999991 -21 -41.664999999999999 -31 -0 -0 -LINE -5 -189 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -52.950000000000003 -20 -41.664999999999999 -30 -0 -11 -52.950000000000003 -21 -42.965000000000003 -31 -0 -0 -ARC -5 -190 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -21.850000000000001 -20 -63.335000000000001 -30 -0 -40 -0.60000000000000053 -100 -AcDbArc -50 -0 -51 -180 -0 -LINE -5 -191 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -21.25 -20 -62.034999999999997 -30 -0 -11 -21.25 -21 -63.335000000000001 -31 -0 -0 -LINE -5 -192 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -32.950000000000003 -20 -62.034999999999997 -30 -0 -11 -32.950000000000003 -21 -63.335000000000001 -31 -0 -0 -ARC -5 -193 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -81.850000000000009 -20 -42.965000000000003 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -194 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -93.550000000000011 -20 -42.965000000000003 -30 -0 -40 -0.59999999999998721 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -195 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -33.550000000000004 -20 -62.034999999999997 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 --180 -51 -0 -0 -ARC -5 -196 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -33.550000000000004 -20 -63.335000000000001 -30 -0 -40 -0.59999999999999609 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -197 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -21.850000000000001 -20 -62.034999999999997 -30 -0 -40 -0.60000000000000053 -100 -AcDbArc -50 --180 -51 -0 -0 -CIRCLE -5 -198 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -85.450000000000003 -20 -42.314999999999998 -30 -0 -40 -0.59999999999999998 -0 -LINE -5 -199 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -92.950000000000003 -20 -41.664999999999999 -30 -0 -11 -92.950000000000003 -21 -42.965000000000003 -31 -0 -0 -LINE -5 -200 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -82.450000000000017 -20 -42.965000000000003 -30 -0 -11 -82.449999999999989 -21 -41.664999999999999 -31 -0 -0 -ARC -5 -201 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -41.849999999999994 -20 -62.034999999999997 -30 -0 -40 -0.59999999999999609 -100 -AcDbArc -50 --180 -51 -0 -0 -ARC -5 -202 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -41.849999999999994 -20 -41.664999999999999 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 --180 -51 -0 -0 -LINE -5 -203 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -55.399999999999991 -20 -100 -30 -0 -11 -39.999999999999993 -21 -100 -31 -0 -0 -LINE -5 -204 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -42.449999999999989 -20 -63.335000000000001 -30 -0 -11 -42.449999999999989 -21 -62.034999999999997 -31 -0 -0 -LINE -5 -205 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -41.25 -20 -62.034999999999997 -30 -0 -11 -41.25 -21 -63.335000000000001 -31 -0 -0 -ARC -5 -206 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -81.850000000000009 -20 -62.034999999999997 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 --180 -51 -0 -0 -LINE -5 -207 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -81.25 -20 -62.034999999999997 -30 -0 -11 -81.25 -21 -63.335000000000001 -31 -0 -0 -LINE -5 -208 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -12.949999999999999 -20 -41.664999999999999 -30 -0 -11 -12.949999999999999 -21 -42.965000000000003 -31 -0 -0 -LINE -5 -209 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -1.2499999999999978 -20 -41.664999999999999 -30 -0 -11 -1.2499999999999978 -21 -42.965000000000003 -31 -0 -0 -LINE -5 -210 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -2.4500000000000011 -20 -42.965000000000003 -30 -0 -11 -2.4499999999999988 -21 -41.664999999999999 -31 -0 -0 -ARC -5 -211 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -1.8500000000000003 -20 -62.034999999999997 -30 -0 -40 -0.60000000000000031 -100 -AcDbArc -50 --180 -51 -0 -0 -ARC -5 -212 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -13.550000000000002 -20 -63.335000000000001 -30 -0 -40 -0.60000000000000053 -100 -AcDbArc -50 -0 -51 -180 -0 -LINE -5 -213 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -72.950000000000003 -20 -62.034999999999997 -30 -0 -11 -72.950000000000003 -21 -63.335000000000001 -31 -0 -0 -LINE -5 -214 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -62.450000000000003 -20 -63.335000000000001 -30 -0 -11 -62.450000000000003 -21 -62.034999999999997 -31 -0 -0 -LINE -5 -215 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -74.150000000000006 -20 -63.335000000000001 -30 -0 -11 -74.150000000000006 -21 -62.034999999999997 -31 -0 -0 -LINE -5 -216 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -61.25 -20 -62.034999999999997 -30 -0 -11 -61.25 -21 -63.335000000000001 -31 -0 -0 -LINE -5 -217 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -52.950000000000003 -20 -62.034999999999997 -30 -0 -11 -52.950000000000003 -21 -63.335000000000001 -31 -0 -0 -LINE -5 -218 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -54.149999999999999 -20 -63.335000000000001 -30 -0 -11 -54.149999999999999 -21 -62.034999999999997 -31 -0 -0 -ARC -5 -219 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -93.550000000000011 -20 -62.034999999999997 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 --180 -51 -0 -0 -LINE -5 -220 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -82.449999999999989 -20 -63.335000000000001 -30 -0 -11 -82.449999999999989 -21 -62.034999999999997 -31 -0 -0 -LINE -5 -221 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -94.149999999999991 -20 -42.965000000000003 -30 -0 -11 -94.149999999999991 -21 -41.664999999999999 -31 -0 -0 -LINE -5 -222 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -81.25 -20 -41.664999999999999 -30 -0 -11 -81.25 -21 -42.965000000000003 -31 -0 -0 -CIRCLE -5 -223 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -25.449999999999999 -20 -42.314999999999998 -30 -0 -40 -0.59999999999999998 -0 -CIRCLE -5 -224 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -29.950000000000003 -20 -42.314999999999998 -30 -0 -40 -0.59999999999999998 -0 -LINE -5 -225 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -94.150000000000006 -20 -63.335000000000001 -30 -0 -11 -94.150000000000006 -21 -62.034999999999997 -31 -0 -0 -ARC -5 -226 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -81.850000000000009 -20 -63.335000000000001 -30 -0 -40 -0.59999999999998721 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -227 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -61.849999999999994 -20 -63.335000000000001 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 -0 -51 -180 -0 -LINE -5 -228 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -95.399999999999991 -20 -60 -30 -0 -11 -95.399999999999991 -21 -100 -31 -0 -0 -CIRCLE -5 -229 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -9.9499999999999993 -20 -42.314999999999998 -30 -0 -40 -0.59999999999999998 -0 -ARC -5 -230 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -21.849999999999994 -20 -41.664999999999999 -30 -0 -40 -0.59999999999999609 -100 -AcDbArc -50 --180 -51 -0 -0 -ARC -5 -231 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -33.549999999999997 -20 -41.664999999999999 -30 -0 -40 -0.60000000000000053 -100 -AcDbArc -50 --180 -51 -0 -0 -ARC -5 -232 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -33.549999999999997 -20 -42.965000000000003 -30 -0 -40 -0.60000000000000053 -100 -AcDbArc -50 -0 -51 -180 -0 -ARC -5 -233 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -21.849999999999994 -20 -42.965000000000003 -30 -0 -40 -0.60000000000000497 -100 -AcDbArc -50 -0 -51 -180 -0 -LINE -5 -234 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -95.399999999999991 -20 -56 -30 -0 -11 -95.399999999999991 -21 -49 -31 -0 -0 -LINE -5 -235 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -0 -20 -56 -30 -0 -11 -0 -21 -49 -31 -0 -0 -LINE -5 -236 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -3.7000000000000002 -20 -58 -30 -0 -11 -3.7000000000000002 -21 -58 -31 -0 -0 -LINE -5 -237 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -11.699999999999999 -20 -58 -30 -0 -11 -11.699999999999999 -21 -58 -31 -0 -0 -LINE -5 -238 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -23.700000000000003 -20 -58 -30 -0 -11 -23.700000000000003 -21 -58 -31 -0 -0 -LINE -5 -239 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -31.699999999999999 -20 -58 -30 -0 -11 -31.699999999999999 -21 -58 -31 -0 -0 -LINE -5 -240 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -43.700000000000003 -20 -58 -30 -0 -11 -43.700000000000003 -21 -58 -31 -0 -0 -LINE -5 -241 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -51.700000000000003 -20 -58 -30 -0 -11 -51.700000000000003 -21 -58 -31 -0 -0 -LINE -5 -242 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -63.700000000000003 -20 -58 -30 -0 -11 -63.700000000000003 -21 -58 -31 -0 -0 -LINE -5 -243 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -71.700000000000003 -20 -58 -30 -0 -11 -71.700000000000003 -21 -58 -31 -0 -0 -LINE -5 -244 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -83.699999999999989 -20 -58 -30 -0 -11 -83.699999999999989 -21 -58 -31 -0 -0 -LINE -5 -245 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -91.699999999999989 -20 -58 -30 -0 -11 -91.699999999999989 -21 -58 -31 -0 -0 -LINE -5 -246 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -3.7000000000000002 -20 -47 -30 -0 -11 -3.7000000000000002 -21 -47 -31 -0 -0 -LINE -5 -247 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -11.699999999999999 -20 -46.999999999999993 -30 -0 -11 -11.699999999999999 -21 -46.999999999999993 -31 -0 -0 -LINE -5 -248 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -23.700000000000003 -20 -46.999999999999993 -30 -0 -11 -23.700000000000003 -21 -46.999999999999993 -31 -0 -0 -LINE -5 -249 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -31.699999999999999 -20 -46.999999999999993 -30 -0 -11 -31.699999999999999 -21 -46.999999999999993 -31 -0 -0 -LINE -5 -250 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -43.700000000000003 -20 -46.999999999999993 -30 -0 -11 -43.700000000000003 -21 -46.999999999999993 -31 -0 -0 -LINE -5 -251 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -51.700000000000003 -20 -46.999999999999993 -30 -0 -11 -51.700000000000003 -21 -46.999999999999993 -31 -0 -0 -LINE -5 -252 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -63.700000000000003 -20 -46.999999999999993 -30 -0 -11 -63.700000000000003 -21 -46.999999999999993 -31 -0 -0 -LINE -5 -253 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -71.700000000000003 -20 -46.999999999999993 -30 -0 -11 -71.700000000000003 -21 -46.999999999999993 -31 -0 -0 -LINE -5 -254 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -83.699999999999989 -20 -46.999999999999993 -30 -0 -11 -83.699999999999989 -21 -46.999999999999993 -31 -0 -0 -LINE -5 -255 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -91.699999999999989 -20 -47 -30 -0 -11 -91.699999999999989 -21 -47 -31 -0 -0 -LINE -5 -256 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -0 -20 -60 -30 -0 -11 -1.7000000000000002 -21 -60 -31 -0 -0 -LINE -5 -257 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -13.699999999999999 -20 -60 -30 -0 -11 -15.4 -21 -60 -31 -0 -0 -LINE -5 -258 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -20 -20 -60 -30 -0 -11 -21.699999999999999 -21 -60 -31 -0 -0 -LINE -5 -259 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -33.700000000000003 -20 -60 -30 -0 -11 -35.399999999999999 -21 -60 -31 -0 -0 -LINE -5 -260 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -39.999999999999993 -20 -60 -30 -0 -11 -41.700000000000003 -21 -60.000000000000007 -31 -0 -0 -LINE -5 -261 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -53.700000000000003 -20 -60 -30 -0 -11 -55.399999999999991 -21 -60 -31 -0 -0 -LINE -5 -262 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -60 -20 -60 -30 -0 -11 -61.700000000000003 -21 -60.000000000000007 -31 -0 -0 -LINE -5 -263 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -73.700000000000003 -20 -60 -30 -0 -11 -75.400000000000006 -21 -60 -31 -0 -0 -LINE -5 -264 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -80 -20 -60 -30 -0 -11 -81.700000000000003 -21 -59.999999999999993 -31 -0 -0 -LINE -5 -265 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -93.699999999999974 -20 -59.999999999999993 -30 -0 -11 -95.399999999999991 -21 -60 -31 -0 -0 -LINE -5 -266 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -95.399999999999991 -20 -56 -30 -0 -11 -93.699999999999974 -21 -56.000000000000007 -31 -0 -0 -LINE -5 -267 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -81.700000000000003 -20 -56.000000000000007 -30 -0 -11 -73.700000000000003 -21 -56 -31 -0 -0 -LINE -5 -268 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -61.700000000000003 -20 -55.999999999999986 -30 -0 -11 -53.700000000000003 -21 -56 -31 -0 -0 -LINE -5 -269 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -41.700000000000003 -20 -55.999999999999986 -30 -0 -11 -33.700000000000003 -21 -56 -31 -0 -0 -LINE -5 -270 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -21.699999999999999 -20 -56 -30 -0 -11 -13.699999999999999 -21 -56 -31 -0 -0 -LINE -5 -271 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -1.6999999999999997 -20 -56 -30 -0 -11 -0 -21 -56 -31 -0 -0 -LINE -5 -272 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -0 -20 -49 -30 -0 -11 -1.7000000000000055 -21 -49 -31 -0 -0 -LINE -5 -273 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -13.699999999999999 -20 -48.999999999999986 -30 -0 -11 -21.699999999999999 -21 -48.999999999999993 -31 -0 -0 -LINE -5 -274 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -33.700000000000003 -20 -48.999999999999993 -30 -0 -11 -41.700000000000003 -21 -48.999999999999993 -31 -0 -0 -LINE -5 -275 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -53.700000000000003 -20 -48.999999999999986 -30 -0 -11 -61.700000000000003 -21 -48.999999999999993 -31 -0 -0 -LINE -5 -276 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -73.700000000000003 -20 -48.999999999999986 -30 -0 -11 -81.700000000000017 -21 -48.999999999999993 -31 -0 -0 -LINE -5 -277 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -93.699999999999974 -20 -49.000000000000014 -30 -0 -11 -95.399999999999991 -21 -49 -31 -0 -0 -LINE -5 -278 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -95.399999999999991 -20 -45 -30 -0 -11 -93.699999999999974 -21 -45.000000000000007 -31 -0 -0 -LINE -5 -279 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -81.700000000000003 -20 -45.000000000000007 -30 -0 -11 -80 -21 -45 -31 -0 -0 -LINE -5 -280 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -75.400000000000006 -20 -45 -30 -0 -11 -73.700000000000017 -21 -45 -31 -0 -0 -LINE -5 -281 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -61.699999999999989 -20 -45 -30 -0 -11 -60 -21 -45 -31 -0 -0 -LINE -5 -282 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -55.399999999999991 -20 -45 -30 -0 -11 -53.70000000000001 -21 -45 -31 -0 -0 -LINE -5 -283 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -41.699999999999989 -20 -45 -30 -0 -11 -39.999999999999993 -21 -45 -31 -0 -0 -LINE -5 -284 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -35.399999999999999 -20 -45 -30 -0 -11 -33.700000000000003 -21 -45 -31 -0 -0 -LINE -5 -285 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -21.699999999999996 -20 -45 -30 -0 -11 -20 -21 -45 -31 -0 -0 -LINE -5 -286 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -15.4 -20 -45 -30 -0 -11 -13.700000000000003 -21 -45 -31 -0 -0 -LINE -5 -287 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -1.6999999999999948 -20 -45 -30 -0 -11 -0 -21 -45 -31 -0 -0 -LINE -5 -288 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -17.399999999999999 -20 -72 -30 -0 -11 -18 -21 -72 -31 -0 -0 -LINE -5 -289 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -18 -20 -87.999999999999986 -30 -0 -11 -17.399999999999999 -21 -87.999999999999986 -31 -0 -0 -LINE -5 -290 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -38 -20 -87.999999999999986 -30 -0 -11 -37.400000000000006 -21 -87.999999999999986 -31 -0 -0 -LINE -5 -291 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -37.400000000000006 -20 -72 -30 -0 -11 -38 -21 -72 -31 -0 -0 -LINE -5 -292 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -58 -20 -87.999999999999986 -30 -0 -11 -57.399999999999991 -21 -87.999999999999986 -31 -0 -0 -LINE -5 -293 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -57.399999999999991 -20 -72 -30 -0 -11 -58 -21 -72 -31 -0 -0 -LINE -5 -294 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -78 -20 -87.999999999999986 -30 -0 -11 -77.399999999999991 -21 -87.999999999999986 -31 -0 -0 -LINE -5 -295 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -77.399999999999991 -20 -72 -30 -0 -11 -78 -21 -72 -31 -0 -0 -LINE -5 -296 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -18 -20 -32.999999999999986 -30 -0 -11 -17.399999999999999 -21 -32.999999999999986 -31 -0 -0 -LINE -5 -297 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -38 -20 -32.999999999999986 -30 -0 -11 -37.400000000000006 -21 -32.999999999999986 -31 -0 -0 -LINE -5 -298 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -58 -20 -32.999999999999986 -30 -0 -11 -57.399999999999991 -21 -32.999999999999986 -31 -0 -0 -LINE -5 -299 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -78 -20 -32.999999999999986 -30 -0 -11 -77.399999999999991 -21 -32.999999999999986 -31 -0 -0 -LINE -5 -300 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -77.399999999999991 -20 -17 -30 -0 -11 -78 -21 -17 -31 -0 -0 -LINE -5 -301 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -57.399999999999991 -20 -17 -30 -0 -11 -58 -21 -17 -31 -0 -0 -LINE -5 -302 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -37.400000000000006 -20 -17 -30 -0 -11 -38 -21 -17 -31 -0 -0 -LINE -5 -303 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -17.399999999999999 -20 -17 -30 -0 -11 -18 -21 -17 -31 -0 -0 -LINE -5 -304 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -15.399999999999995 -20 -5 -30 -0 -11 -15.4 -21 -15.000000000000002 -31 -0 -0 -LINE -5 -305 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -15.4 -20 -34.999999999999993 -30 -0 -11 -15.4 -21 -45 -31 -0 -0 -LINE -5 -306 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -20 -20 -45 -30 -0 -11 -20 -21 -34.999999999999993 -31 -0 -0 -LINE -5 -307 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -19.999999999999996 -20 -15 -30 -0 -11 -19.999999999999993 -21 -5 -31 -0 -0 -LINE -5 -308 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -35.399999999999999 -20 -5 -30 -0 -11 -35.399999999999999 -21 -15.000000000000002 -31 -0 -0 -LINE -5 -309 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -35.399999999999999 -20 -34.999999999999993 -30 -0 -11 -35.399999999999999 -21 -45 -31 -0 -0 -LINE -5 -310 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -39.999999999999993 -20 -45 -30 -0 -11 -40 -21 -34.999999999999993 -31 -0 -0 -LINE -5 -311 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -40 -20 -15 -30 -0 -11 -39.999999999999993 -21 -5 -31 -0 -0 -LINE -5 -312 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -55.399999999999991 -20 -5 -30 -0 -11 -55.399999999999991 -21 -15.000000000000002 -31 -0 -0 -LINE -5 -313 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -55.399999999999991 -20 -34.999999999999993 -30 -0 -11 -55.399999999999991 -21 -45 -31 -0 -0 -LINE -5 -314 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -60 -20 -45 -30 -0 -11 -60 -21 -34.999999999999993 -31 -0 -0 -LINE -5 -315 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -60 -20 -15 -30 -0 -11 -59.999999999999993 -21 -5 -31 -0 -0 -LINE -5 -316 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -75.399999999999991 -20 -5 -30 -0 -11 -75.400000000000006 -21 -15.000000000000004 -31 -0 -0 -LINE -5 -317 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -75.399999999999991 -20 -34.999999999999993 -30 -0 -11 -75.400000000000006 -21 -45 -31 -0 -0 -LINE -5 -318 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -80 -20 -45 -30 -0 -11 -80 -21 -34.999999999999993 -31 -0 -0 -LINE -5 -319 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -80 -20 -15 -30 -0 -11 -79.999999999999986 -21 -5 -31 -0 -0 -LINE -5 -320 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -80 -20 -60 -30 -0 -11 -80 -21 -70 -31 -0 -0 -LINE -5 -321 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -79.999999999999986 -20 -89.999999999999986 -30 -0 -11 -80 -21 -100 -31 -0 -0 -LINE -5 -322 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -75.400000000000006 -20 -100 -30 -0 -11 -75.399999999999991 -21 -89.999999999999972 -31 -0 -0 -LINE -5 -323 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -75.399999999999991 -20 -70 -30 -0 -11 -75.400000000000006 -21 -60 -31 -0 -0 -LINE -5 -324 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -60 -20 -60 -30 -0 -11 -60.000000000000007 -21 -70 -31 -0 -0 -LINE -5 -325 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -59.999999999999993 -20 -89.999999999999986 -30 -0 -11 -60 -21 -100 -31 -0 -0 -LINE -5 -326 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -55.399999999999991 -20 -100 -30 -0 -11 -55.399999999999999 -21 -89.999999999999986 -31 -0 -0 -LINE -5 -327 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -55.399999999999984 -20 -70 -30 -0 -11 -55.399999999999991 -21 -60 -31 -0 -0 -LINE -5 -328 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -39.999999999999993 -20 -60 -30 -0 -11 -40 -21 -70 -31 -0 -0 -LINE -5 -329 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -39.999999999999993 -20 -89.999999999999986 -30 -0 -11 -39.999999999999993 -21 -100 -31 -0 -0 -LINE -5 -330 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -35.399999999999999 -20 -100 -30 -0 -11 -35.400000000000006 -21 -89.999999999999986 -31 -0 -0 -LINE -5 -331 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -35.399999999999999 -20 -70 -30 -0 -11 -35.399999999999999 -21 -60 -31 -0 -0 -LINE -5 -332 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -20 -20 -60 -30 -0 -11 -20.000000000000007 -21 -70 -31 -0 -0 -LINE -5 -333 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -20.000000000000004 -20 -89.999999999999986 -30 -0 -11 -20 -21 -100 -31 -0 -0 -LINE -5 -334 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -15.4 -20 -100 -30 -0 -11 -15.399999999999995 -21 -89.999999999999986 -31 -0 -0 -LINE -5 -335 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -15.399999999999993 -20 -70 -30 -0 -11 -15.4 -21 -60 -31 -0 -0 -ARC -5 -336 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -17.399999999999988 -20 -89.999999999999986 -30 -0 -40 -1.9999999999999929 -100 -AcDbArc -50 -180 -51 -270.00000000000034 -0 -ARC -5 -337 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -18.000000000000011 -20 -89.999999999999986 -30 -0 -40 -1.9999999999999929 -100 -AcDbArc -50 --90.000000000000313 -51 -0 -0 -ARC -5 -338 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -17.400000000000006 -20 -69.999999999999986 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -90.000000000000199 -51 -180 -0 -ARC -5 -339 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -17.999999999999996 -20 -69.999999999999986 -30 -0 -40 -2.0000000000000129 -100 -AcDbArc -50 -0 -51 -89.999999999999901 -0 -ARC -5 -340 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -37.399999999999999 -20 -89.999999999999986 -30 -0 -40 -1.9999999999999929 -100 -AcDbArc -50 -180 -51 -270.00000000000023 -0 -ARC -5 -341 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -38 -20 -89.999999999999986 -30 -0 -40 -1.9999999999999929 -100 -AcDbArc -50 --90 -51 -0 -0 -ARC -5 -342 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -37.400000000000013 -20 -69.999999999999986 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -90.000000000000199 -51 -180 -0 -ARC -5 -343 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -37.999999999999986 -20 -69.999999999999986 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -0 -51 -89.999999999999588 -0 -ARC -5 -344 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -57.399999999999977 -20 -89.999999999999972 -30 -0 -40 -1.9999999999999751 -100 -AcDbArc -50 -180 -51 -270.0000000000004 -0 -ARC -5 -345 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -58.000000000000014 -20 -89.999999999999972 -30 -0 -40 -1.9999999999999751 -100 -AcDbArc -50 --90.000000000000398 -51 -0 -0 -ARC -5 -346 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -57.400000000000006 -20 -69.999999999999986 -30 -0 -40 -2.0000000000000195 -100 -AcDbArc -50 -90.000000000000398 -51 -180 -0 -ARC -5 -347 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -57.999999999999986 -20 -69.999999999999986 -30 -0 -40 -2.0000000000000195 -100 -AcDbArc -50 -0 -51 -89.999999999999588 -0 -ARC -5 -348 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -77.399999999999977 -20 -89.999999999999986 -30 -0 -40 -1.9999999999999929 -100 -AcDbArc -50 -180 -51 -270.0000000000004 -0 -ARC -5 -349 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -78.000000000000014 -20 -89.999999999999972 -30 -0 -40 -1.9999999999999751 -100 -AcDbArc -50 --90.000000000000398 -51 -0 -0 -ARC -5 -350 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -77.399999999999977 -20 -70.000000000000014 -30 -0 -40 -1.9999999999999929 -100 -AcDbArc -50 -89.999999999999588 -51 -180 -0 -ARC -5 -351 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -77.999999999999986 -20 -69.999999999999986 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -0 -51 -89.999999999999588 -0 -ARC -5 -352 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -1.69999999999999 -20 -57.999999999999986 -30 -0 -40 -2.0000000000000102 -100 -AcDbArc -50 -0 -51 -89.999999999999716 -0 -ARC -5 -353 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -13.700000000000008 -20 -57.999999999999986 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -90.000000000000256 -51 -180 -0 -ARC -5 -354 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -1.69999999999999 -20 -58.000000000000007 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -270.00000000000034 -51 -360 -0 -ARC -5 -355 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -13.700000000000008 -20 -58.000000000000007 -30 -0 -40 -2.0000000000000084 -100 -AcDbArc -50 -180 -51 -269.99999999999972 -0 -ARC -5 -356 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -21.699999999999985 -20 -57.999999999999986 -30 -0 -40 -2.0000000000000151 -100 -AcDbArc -50 -0 -51 -89.999999999999588 -0 -ARC -5 -357 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -21.699999999999985 -20 -58.000000000000007 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -270.0000000000004 -51 -360 -0 -ARC -5 -358 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -33.700000000000017 -20 -57.999999999999986 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -90.000000000000398 -51 -180 -0 -ARC -5 -359 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -33.700000000000017 -20 -58.000000000000007 -30 -0 -40 -2.0000000000000151 -100 -AcDbArc -50 -180 -51 -269.9999999999996 -0 -ARC -5 -360 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -41.699999999999982 -20 -57.999999999999986 -30 -0 -40 -2.0000000000000195 -100 -AcDbArc -50 -0 -51 -89.999999999999389 -0 -ARC -5 -361 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -41.699999999999982 -20 -58.000000000000007 -30 -0 -40 -2.0000000000000195 -100 -AcDbArc -50 -270.00000000000063 -51 -360 -0 -ARC -5 -362 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -53.700000000000017 -20 -57.999999999999979 -30 -0 -40 -2.0000000000000195 -100 -AcDbArc -50 -90.000000000000398 -51 -180 -0 -ARC -5 -363 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -53.700000000000017 -20 -58.000000000000014 -30 -0 -40 -2.0000000000000195 -100 -AcDbArc -50 -180 -51 -269.9999999999996 -0 -ARC -5 -364 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -61.699999999999982 -20 -57.999999999999986 -30 -0 -40 -2.0000000000000195 -100 -AcDbArc -50 -0 -51 -89.999999999999389 -0 -ARC -5 -365 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -61.699999999999982 -20 -58.000000000000007 -30 -0 -40 -2.0000000000000195 -100 -AcDbArc -50 -270.00000000000063 -51 -360 -0 -ARC -5 -366 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -73.700000000000017 -20 -57.999999999999979 -30 -0 -40 -2.0000000000000195 -100 -AcDbArc -50 -90.000000000000398 -51 -180 -0 -ARC -5 -367 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -73.700000000000017 -20 -58.000000000000014 -30 -0 -40 -2.0000000000000195 -100 -AcDbArc -50 -180 -51 -269.9999999999996 -0 -ARC -5 -368 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -81.700000000000017 -20 -58.000000000000014 -30 -0 -40 -1.9999999999999751 -100 -AcDbArc -50 -0 -51 -90.000000000000398 -0 -ARC -5 -369 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -81.700000000000017 -20 -57.999999999999979 -30 -0 -40 -1.9999999999999751 -100 -AcDbArc -50 --90.000000000000398 -51 -0 -0 -ARC -5 -370 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -1.6999999999999953 -20 -47 -30 -0 -40 -2.0000000000000044 -100 -AcDbArc -50 -0 -51 -89.999999999999716 -0 -ARC -5 -371 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -1.7000000000000037 -20 -46.999999999999993 -30 -0 -40 -1.9999999999999929 -100 -AcDbArc -50 --90.000000000000256 -51 -0 -0 -ARC -5 -372 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -13.700000000000003 -20 -46.999999999999986 -30 -0 -40 -2.0000000000000018 -100 -AcDbArc -50 -90.000000000000099 -51 -180 -0 -ARC -5 -373 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -13.699999999999996 -20 -46.999999999999993 -30 -0 -40 -1.9999999999999973 -100 -AcDbArc -50 -180 -51 -270.00000000000023 -0 -ARC -5 -374 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -21.699999999999989 -20 -46.999999999999986 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -0 -51 -89.999999999999702 -0 -ARC -5 -375 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -21.700000000000003 -20 -46.999999999999993 -30 -0 -40 -1.9999999999999929 -100 -AcDbArc -50 --90.000000000000199 -51 -0 -0 -ARC -5 -376 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -33.70000000000001 -20 -46.999999999999986 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -90.000000000000199 -51 -180 -0 -ARC -5 -377 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -33.699999999999996 -20 -46.999999999999993 -30 -0 -40 -1.9999999999999973 -100 -AcDbArc -50 -180 -51 -270.00000000000023 -0 -ARC -5 -378 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -41.699999999999989 -20 -46.999999999999986 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -0 -51 -89.999999999999588 -0 -ARC -5 -379 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -41.70000000000001 -20 -46.999999999999993 -30 -0 -40 -1.9999999999999929 -100 -AcDbArc -50 --90.000000000000611 -51 -0 -0 -ARC -5 -380 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -53.70000000000001 -20 -46.999999999999972 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -90.000000000000199 -51 -180 -0 -ARC -5 -381 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -53.700000000000003 -20 -47 -30 -0 -40 -2.0000000000000018 -100 -AcDbArc -50 -180 -51 -270.00000000000023 -0 -ARC -5 -382 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -61.699999999999989 -20 -46.999999999999986 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -0 -51 -89.999999999999588 -0 -ARC -5 -383 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -61.70000000000001 -20 -46.999999999999993 -30 -0 -40 -1.9999999999999929 -100 -AcDbArc -50 --90.000000000000611 -51 -0 -0 -ARC -5 -384 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -73.700000000000017 -20 -46.999999999999972 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -90.000000000000398 -51 -180 -0 -ARC -5 -385 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -81.700000000000003 -20 -47 -30 -0 -40 -1.9999999999999929 -100 -AcDbArc -50 -0 -51 -89.999999999999588 -0 -ARC -5 -386 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -73.700000000000003 -20 -47 -30 -0 -40 -2.0000000000000018 -100 -AcDbArc -50 -180 -51 -270.0000000000004 -0 -ARC -5 -387 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -81.700000000000017 -20 -46.999999999999986 -30 -0 -40 -1.9999999999999751 -100 -AcDbArc -50 --90.000000000000398 -51 -0 -0 -ARC -5 -388 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -93.699999999999989 -20 -47 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -90.000000000000398 -51 -180 -0 -ARC -5 -389 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -93.69999999999996 -20 -46.999999999999986 -30 -0 -40 -1.9999999999999751 -100 -AcDbArc -50 -180 -51 -270.0000000000004 -0 -ARC -5 -390 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -93.69999999999996 -20 -57.999999999999979 -30 -0 -40 -1.9999999999999751 -100 -AcDbArc -50 -180 -51 -270.0000000000004 -0 -ARC -5 -391 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -93.69999999999996 -20 -58.000000000000014 -30 -0 -40 -1.9999999999999751 -100 -AcDbArc -50 -89.999999999999588 -51 -180 -0 -ARC -5 -392 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -17.400000000000002 -20 -34.999999999999993 -30 -0 -40 -2.0000000000000018 -100 -AcDbArc -50 -180 -51 -269.99999999999989 -0 -ARC -5 -393 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -18 -20 -34.999999999999993 -30 -0 -40 -2.0000000000000018 -100 -AcDbArc -50 --90 -51 -0 -0 -ARC -5 -394 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -17.399999999999999 -20 -15.000000000000002 -30 -0 -40 -1.9999999999999996 -100 -AcDbArc -50 -90 -51 -180 -0 -ARC -5 -395 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -18 -20 -15.000000000000004 -30 -0 -40 -1.9999999999999973 -100 -AcDbArc -50 -0 -51 -90 -0 -ARC -5 -396 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -37.400000000000006 -20 -34.999999999999993 -30 -0 -40 -2.0000000000000062 -100 -AcDbArc -50 -180 -51 -270 -0 -ARC -5 -397 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -37.999999999999993 -20 -34.999999999999993 -30 -0 -40 -2.0000000000000062 -100 -AcDbArc -50 --89.999999999999801 -51 -0 -0 -ARC -5 -398 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -37.400000000000006 -20 -15 -30 -0 -40 -2.0000000000000018 -100 -AcDbArc -50 -90 -51 -180 -0 -ARC -5 -399 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -38 -20 -15 -30 -0 -40 -2.0000000000000018 -100 -AcDbArc -50 -0 -51 -90 -0 -ARC -5 -400 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -57.400000000000006 -20 -35.000000000000007 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -180 -51 -269.9999999999996 -0 -ARC -5 -401 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -57.999999999999986 -20 -35.000000000000007 -30 -0 -40 -2.0000000000000151 -100 -AcDbArc -50 -270.0000000000004 -51 -360 -0 -ARC -5 -402 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -57.400000000000006 -20 -14.999999999999993 -30 -0 -40 -2.0000000000000084 -100 -AcDbArc -50 -90.000000000000398 -51 -180 -0 -ARC -5 -403 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -57.999999999999986 -20 -14.999999999999991 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -0 -51 -89.999999999999588 -0 -ARC -5 -404 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -77.399999999999991 -20 -34.999999999999986 -30 -0 -40 -2.0000000000000018 -100 -AcDbArc -50 -180 -51 -270 -0 -ARC -5 -405 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -77.999999999999986 -20 -35.000000000000007 -30 -0 -40 -2.0000000000000151 -100 -AcDbArc -50 -270.0000000000004 -51 -360 -0 -ARC -5 -406 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -77.399999999999991 -20 -15.000000000000011 -30 -0 -40 -1.9999999999999907 -100 -AcDbArc -50 -90 -51 -180 -0 -ARC -5 -407 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -77.999999999999986 -20 -14.999999999999991 -30 -0 -40 -2.0000000000000107 -100 -AcDbArc -50 -0 -51 -89.999999999999588 -0 -ENDSEC -0 -SECTION -2 -OBJECTS -0 -DICTIONARY -5 -C -100 -AcDbDictionary -3 -ACAD_GROUP -350 -D -3 -ACAD_MLINESTYLE -350 -17 -0 -DICTIONARY -5 -D -100 -AcDbDictionary -0 -DICTIONARY -5 -1A -330 -C -100 -AcDbDictionary -0 -DICTIONARY -5 -17 -100 -AcDbDictionary -0 -ENDSEC -0 -EOF diff --git a/tests/data/ref_dxf_metric.dxf b/tests/data/ref_dxf_metric.dxf deleted file mode 100644 index 8861d4b..0000000 --- a/tests/data/ref_dxf_metric.dxf +++ /dev/null @@ -1,654 +0,0 @@ -0 -SECTION -2 -HEADER -9 -$INSUNITS -70 -4 -9 -$ACADVER -1 -AC1014 -9 -$HANDSEED -5 -FFFF -0 -ENDSEC -0 -SECTION -2 -TABLES -0 -TABLE -2 -VPORT -5 -8 -100 -AcDbSymbolTable -0 -ENDTAB -0 -TABLE -2 -LTYPE -5 -5 -100 -AcDbSymbolTable -0 -LTYPE -5 -14 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -BYBLOCK -70 -0 -0 -LTYPE -5 -15 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord -2 -BYLAYER -70 -0 -0 -ENDTAB -0 -TABLE -2 -LAYER -5 -2 -100 -AcDbSymbolTable -70 -2 -0 -LAYER -5 -50 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord -2 -0 -70 -0 -6 -CONTINUOUS -0 -ENDTAB -0 -TABLE -2 -STYLE -5 -3 -100 -AcDbSymbolTable -70 -1 -0 -STYLE -5 -11 -100 -AcDbSymbolTableRecord -100 -AcDbTextStyleTableRecord -2 -STANDARD -70 -0 -0 -ENDTAB -0 -TABLE -2 -VIEW -5 -6 -100 -AcDbSymbolTable -70 -0 -0 -ENDTAB -0 -TABLE -2 -UCS -5 -7 -100 -AcDbSymbolTable -70 -0 -0 -ENDTAB -0 -TABLE -2 -APPID -5 -9 -100 -AcDbSymbolTable -70 -2 -0 -APPID -5 -12 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord -2 -ACAD -70 -0 -0 -ENDTAB -0 -TABLE -2 -DIMSTYLE -5 -A -100 -AcDbSymbolTable -70 -1 -0 -ENDTAB -0 -TABLE -2 -BLOCK_RECORD -5 -1 -100 -AcDbSymbolTable -70 -1 -0 -BLOCK_RECORD -5 -1F -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*MODEL_SPACE -0 -BLOCK_RECORD -5 -1B -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord -2 -*PAPER_SPACE -0 -ENDTAB -0 -ENDSEC -0 -SECTION -2 -BLOCKS -0 -BLOCK -5 -20 -100 -AcDbEntity -100 -AcDbBlockBegin -2 -*MODEL_SPACE -0 -ENDBLK -5 -21 -100 -AcDbEntity -100 -AcDbBlockEnd -0 -BLOCK -5 -1C -100 -AcDbEntity -100 -AcDbBlockBegin -2 -*PAPER_SPACE -0 -ENDBLK -5 -1D -100 -AcDbEntity -100 -AcDbBlockEnd -0 -ENDSEC -0 -SECTION -2 -ENTITIES -0 -LWPOLYLINE -5 -100 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -8 -70 -1 -43 -0.0 -10 -40 -20 -0 -10 -9.9999999999999982 -20 -1.1102230246251565e-15 -42 --0.41421356237309565 -10 -1.1102230246251565e-15 -20 -10 -10 -1.1102230246251565e-15 -20 -40 -42 --0.41421356237309553 -10 -10 -20 -50 -10 -40 -20 -50 -42 --0.41421356237309603 -10 -50 -20 -40 -10 -50 -20 -9.9999999999999982 -42 --0.41421356237309548 -0 -LWPOLYLINE -5 -101 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -8 -70 -1 -43 -0.0 -10 -74.270404858697972 -20 -75.039392445007664 -10 -74.270404858697972 -20 -45.039392445007664 -42 --0.41421356237309553 -10 -64.270404858697972 -20 -35.039392445007664 -10 -34.270404858697965 -20 -35.039392445007664 -42 --0.41421356237309553 -10 -24.270404858697965 -20 -45.039392445007664 -10 -24.270404858697958 -20 -75.039392445007664 -42 --0.41421356237309553 -10 -34.270404858697965 -20 -85.039392445007678 -10 -64.270404858697972 -20 -85.039392445007678 -42 --0.41421356237309603 -0 -CIRCLE -5 -102 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -80.154604804025013 -20 -12.631646043929035 -30 -0 -40 -12.546259950593821 -210 -0 -220 -0 -230 -1 -0 -CIRCLE -5 -103 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -50 -20 -65 -30 -0 -40 -10.277260744660863 -210 -0 -220 -0 -230 -1 -0 -ARC -5 -104 -100 -AcDbEntity -8 -0 -100 -AcDbCircle -10 -50 -20 -65 -30 -0 -40 -6.4592498736207826 -210 -0 -220 --0 -230 -1 -100 -AcDbArc -50 -90 -51 -345.73898023603914 -0 -LINE -5 -105 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -50 -20 -65 -30 -0 -11 -56.26019871530297 -21 -63.408830312383643 -31 -0 -0 -LINE -5 -106 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -50 -20 -65 -30 -0 -11 -50 -21 -71.459249873620777 -31 -0 -0 -LWPOLYLINE -5 -107 -100 -AcDbEntity -8 -0 -100 -AcDbPolyline -90 -4 -70 -1 -43 -0.0 -10 -38.203772564818578 -20 -42.206179116779516 -10 -13.451174232106741 -20 -42.206179116779516 -10 -13.451174232106741 -20 -13.596032991956758 -10 -38.203772564818578 -20 -13.596032991956758 -0 -LINE -5 -108 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -80 -20 -85 -30 -0 -11 -80 -21 -35 -31 -0 -0 -LINE -5 -109 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -90 -20 -85 -30 -0 -11 -90 -21 -35 -31 -0 -0 -LINE -5 -110 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -20 -20 -32.938987371135568 -30 -0 -11 -32.582672402541192 -21 -32.938987371135568 -31 -0 -0 -LINE -5 -111 -100 -AcDbEntity -8 -0 -100 -AcDbLine -10 -32.582672402541192 -20 -32.938987371135568 -30 -0 -11 -32.582672402541192 -21 -17.844276543429842 -31 -0 -0 -ENDSEC -0 -SECTION -2 -OBJECTS -0 -DICTIONARY -5 -C -100 -AcDbDictionary -3 -ACAD_GROUP -350 -D -3 -ACAD_MLINESTYLE -350 -17 -0 -DICTIONARY -5 -D -100 -AcDbDictionary -0 -DICTIONARY -5 -1A -330 -C -100 -AcDbDictionary -0 -DICTIONARY -5 -17 -100 -AcDbDictionary -0 -ENDSEC -0 -EOF diff --git a/tests/data/ref_gerber_inch.gtl b/tests/data/ref_gerber_inch.gtl deleted file mode 100644 index 3ec60d8..0000000 --- a/tests/data/ref_gerber_inch.gtl +++ /dev/null @@ -1,79 +0,0 @@ -%MOIN*% -%FSLAX25Y25*% -%INTop Layer*% -%IPPOS*% -%AMCOMP* -20,1,0.00787402,0,0.00393701,0.015748,0.00393701,$1* -21,1,0.015748,0.00787402,-0.00787402,-0.00393701,$1* -1,1,0.015748,-0.0472441,0,$1* -4,1,4,0.0472441,0,0.0551181,-0.00787402,0.0472441,-0.015748,0.0393701,-0.00787402,0.0472441,0,$1* -5,1,6,0.0472441,0.00787402,0.015748,$1* -6,-0.0275591,0,0.019685,0.0019685,0.00590551,2,0.0019685,0.023622,$1* -7,0.0275591,0,0.023622,0.019685,0.00590551,$1*% -%ADD10C,0.0003937*% -%ADD11C,0.03937X0.01575*% -%ADD12R,0.03937X0.01969X0.007874*% -%ADD13O,0.03937X0.01969X0.007874*% -%ADD14O,0.01969X0.03937X0.007874*% -%ADD15P,0.03937X5X90X0.007874*% -%ADD16COMP,0*% -%ADD17COMP,45*% -%ADD18COMP,-45*% -G75* -%LPD*% -D10* -G01* -X3937Y0D02* -X35433Y0D01* -G03* -X39370Y3937I0J3937D01* -G01* -X39370Y35433D01* -G03* -X35433Y39370I-3937J0D01* -G01* -X3937Y39370D01* -G03* -X0Y35433I0J-3937D01* -G01* -X0Y3937D01* -G03* -X3937Y0I3937J0D01* -G01* -G36* -G01* -X17717Y3937D02* -X19685Y3937D01* -G03* -X21654Y5906I0J1969D01* -G01* -X21654Y33465D01* -G03* -X19685Y35433I-1969J0D01* -G01* -X17717Y35433D01* -G03* -X15748Y33465I0J-1969D01* -G01* -X15748Y5906D01* -G03* -X17717Y3937I1969J0D01* -G01* -G37* -D11* -X9843Y3937D03* -D12* -X9843Y11811D03* -D13* -X9843Y19685D03* -D14* -X9843Y27559D03* -D15* -X9843Y35433D03* -D16* -X29528Y19685D03* -D17* -X29528Y29528D03* -D18* -X29528Y9843D03* -M02* diff --git a/tests/data/ref_gerber_metric.gtl b/tests/data/ref_gerber_metric.gtl deleted file mode 100644 index 8dfbdd4..0000000 --- a/tests/data/ref_gerber_metric.gtl +++ /dev/null @@ -1,84 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%INTop Layer*% -%IPPOS*% -%AMCOMP* -20,1,0.2,0,0.1,0.4,0.1,$1* -21,1,0.4,0.2,-0.2,-0.1,$1* -1,1,0.4,-1.2,0,$1* -4,1,4,1.2,0,1.4,-0.2,1.2,-0.4,1,-0.2,1.2,0,$1* -5,1,6,1.2,0.2,0.4,$1* -6,-0.7,0,0.5,0.05,0.15,2,0.05,0.6,$1* -7,0.7,0,0.6,0.5,0.15,$1*% -%ADD10C,0.01*% -%ADD11C,1X0.4*% -%ADD12R,1X0.5X0.2*% -%ADD13O,1X0.5X0.2*% -%ADD14O,0.5X1X0.2*% -%ADD15P,1X5X90X0.2*% -%ADD16COMP,0*% -%ADD17COMP,45*% -%ADD18COMP,-45*% -G75* -%LPD*% - -D10* -G01* -X10000Y0D02* -X90000Y0D01* -G03* -X100000Y10000I0J10000D01* -G01* -X100000Y90000D01* -G03* -X90000Y100000I-10000J0D01* -G01* -X10000Y100000D01* -G03* -X0Y90000I0J-10000D01* -G01* -X0Y10000D01* -G03* -X10000Y0I10000J0D01* -G01* - -G36* -G01* -X45000Y10000D02* -X50000Y10000D01* -G03* -X55000Y15000I0J5000D01* -G01* -X55000Y85000D01* -G03* -X50000Y90000I-5000J0D01* -G01* -X45000Y90000D01* -G03* -X40000Y85000I0J-5000D01* -G01* -X40000Y15000D01* -G03* -X45000Y10000I5000J0D01* -G01* -G37* - -D11* -X25000Y10000D03* -D12* -X25000Y30000D03* -D13* -X25000Y50000D03* -D14* -X25000Y70000D03* -D15* -X25000Y90000D03* - -D16* -X75000Y50000D03* -D17* -X75000Y75000D03* -D18* -X75000Y25000D03* - -M02* diff --git a/tests/data/ref_gerber_single_quadrant.gtl b/tests/data/ref_gerber_single_quadrant.gtl deleted file mode 100644 index f31f1e7..0000000 --- a/tests/data/ref_gerber_single_quadrant.gtl +++ /dev/null @@ -1,40 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%ADD10C,0.1*% -G74* -%LPD*% - -D10* - -G36* -G01* -X0Y10000D02* -Y90000D01* -G02* -X10000Y100000I10000* -X20000Y90000J10000* -G01* -Y20000* -X40000* -G02* -X50000Y10000J10000* -X40000Y0I10000* -G01* -X10000* -G02* -X0Y10000J10000* -G37* - -G03* -X70000Y50000D02* -X60000Y60000I10000D01* -X50000Y50000J10000* -X60000Y40000I10000* -X70000Y50000J10000* - -G02* -X60000Y90000D02* -X60000Y90000I10000D01* - -M02* diff --git a/tests/expects/RS2724x_offset.gtl b/tests/expects/RS2724x_offset.gtl deleted file mode 100644 index 3dc3e6a..0000000 --- a/tests/expects/RS2724x_offset.gtl +++ /dev/null @@ -1,78 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%AMCOMP* -20,1,0.2,0,0.1,0.4,0.1,$1* -21,1,0.4,0.2,-0.2,-0.1,$1* -1,1,0.4,-1.2,0,$1* -4,1,4,1.2,0,1.4,-0.2,1.2,-0.4,1,-0.2,1.2,0,$1* -5,1,6,1.2,0.2,0.4,$1* -6,-0.7,0,0.5,0.05,0.15,2,0.05,0.6,$1* -7,0.7,0,0.6,0.5,0.15,$1*% -%ADD10C,0.01*% -%ADD11C,1X0.4*% -%ADD12R,1X0.5X0.2*% -%ADD13O,1X0.5X0.2*% -%ADD14O,0.5X1X0.2*% -%ADD15P,1X5X90X0.2*% -%ADD16COMP,0*% -%ADD17COMP,45*% -%ADD18COMP,-45*% -G75* -%LPD*% -D10* -G01* -X120000Y50000D02* -X200000Y50000D01* -G03* -X210000Y60000I0J10000D01* -G01* -X210000Y140000D01* -G03* -X200000Y150000I-10000J0D01* -G01* -X120000Y150000D01* -G03* -X110000Y140000I0J-10000D01* -G01* -X110000Y60000D01* -G03* -X120000Y50000I10000J0D01* -G01* -G36* -G01* -X155000Y60000D02* -X160000Y60000D01* -G03* -X165000Y65000I0J5000D01* -G01* -X165000Y135000D01* -G03* -X160000Y140000I-5000J0D01* -G01* -X155000Y140000D01* -G03* -X150000Y135000I0J-5000D01* -G01* -X150000Y65000D01* -G03* -X155000Y60000I5000J0D01* -G01* -G37* -D11* -X135000Y60000D03* -D12* -X135000Y80000D03* -D13* -X135000Y100000D03* -D14* -X135000Y120000D03* -D15* -X135000Y140000D03* -D16* -X185000Y100000D03* -D17* -X185000Y125000D03* -D18* -X185000Y75000D03* -M02* diff --git a/tests/expects/RS2724x_rotate.gtl b/tests/expects/RS2724x_rotate.gtl deleted file mode 100644 index f7c82cd..0000000 --- a/tests/expects/RS2724x_rotate.gtl +++ /dev/null @@ -1,98 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%AMCOMP* -20,1,0.2,0,0.1,0.4,0.1,($1)+(20)* -21,1,0.4,0.2,-0.2,-0.1,($1)+(20)* -1,1,0.4,-1.2,0,($1)+(20)* -4,1,4,1.2,0,1.4,-0.2,1.2,-0.4,1,-0.2,1.2,0,($1)+(20)* -5,1,6,1.2,0.2,0.4,($1)+(20)* -6,-0.7,0,0.5,0.05,0.15,2,0.05,0.6,($1)+(20)* -7,0.7,0,0.6,0.5,0.15,($1)+(20)*% -%AMMACR* -21,1,$1,$2,0,0,20* -1,0,$3,0,0,20*% -%AMMACLO* -$4=($1)-($2)* -$5=($1)-($4)* -21,1,$5,$2,0,0,20* -1,1,$4,($4)/(2),0,20* -1,1,$4,($4)/(-2),0,20* -1,0,$3,0,0,20*% -%AMMACPO* -$4=($2)-($1)* -$5=($2)-($4)* -21,1,$1,$5,0,0,20* -1,1,$4,0,($4)/(2),20* -1,1,$4,0,($4)/(-2),20* -1,0,$3,0,0,20*% -%AMMACP* -5,1,$2,0,0,$1,($3)+(20)* -1,0,$4,0,0,20*% -%ADD10C,0.01*% -%ADD11C,1X0.4*% -%ADD12MACR,1X0.5X0.2*% -%ADD13MACLO,1X0.5X0.2*% -%ADD14MACPO,0.5X1X0.2*% -%ADD15MACP,1X5X90X0.2*% -%ADD16COMP,0*% -%ADD17COMP,45*% -%ADD18COMP,-45*% -G75* -%LPD*% -D10* -G01* -X49630Y-24751D02* -X124805Y2611D01* -G03* -X130782Y15428I-3420J9397D01* -G01* -X103420Y90603D01* -G03* -X90603Y96580I-9397J-3420D01* -G01* -X15428Y69218D01* -G03* -X9451Y56401I3420J-9397D01* -G01* -X36813Y-18774D01* -G03* -X49630Y-24751I9397J3420D01* -G01* -G36* -G01* -X79099Y-3383D02* -X83797Y-1673D01* -G03* -X86786Y4735I-1710J4698D01* -G01* -X62844Y70514D01* -G03* -X56436Y73502I-4698J-1710D01* -G01* -X51737Y71792D01* -G03* -X48749Y65383I1710J-4698D01* -G01* -X72690Y-395D01* -G03* -X79099Y-3383I4698J1710D01* -G01* -G37* -D11* -X60305Y-10224D03* -D12* -X53464Y8570D03* -D13* -X46624Y27364D03* -D14* -X39784Y46158D03* -D15* -X32943Y64952D03* -D16* -X93609Y44465D03* -D17* -X85058Y67957D03* -D18* -X102159Y20973D03* -M02* diff --git a/tests/expects/RS2724x_save.gtl b/tests/expects/RS2724x_save.gtl deleted file mode 100644 index 5053d99..0000000 --- a/tests/expects/RS2724x_save.gtl +++ /dev/null @@ -1,78 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%AMCOMP* -20,1,0.2,0,0.1,0.4,0.1,$1* -21,1,0.4,0.2,-0.2,-0.1,$1* -1,1,0.4,-1.2,0,$1* -4,1,4,1.2,0,1.4,-0.2,1.2,-0.4,1,-0.2,1.2,0,$1* -5,1,6,1.2,0.2,0.4,$1* -6,-0.7,0,0.5,0.05,0.15,2,0.05,0.6,$1* -7,0.7,0,0.6,0.5,0.15,$1*% -%ADD10C,0.01*% -%ADD11C,1X0.4*% -%ADD12R,1X0.5X0.2*% -%ADD13O,1X0.5X0.2*% -%ADD14O,0.5X1X0.2*% -%ADD15P,1X5X90X0.2*% -%ADD16COMP,0*% -%ADD17COMP,45*% -%ADD18COMP,-45*% -G75* -%LPD*% -D10* -G01* -X10000Y0D02* -X90000Y0D01* -G03* -X100000Y10000I0J10000D01* -G01* -X100000Y90000D01* -G03* -X90000Y100000I-10000J0D01* -G01* -X10000Y100000D01* -G03* -X0Y90000I0J-10000D01* -G01* -X0Y10000D01* -G03* -X10000Y0I10000J0D01* -G01* -G36* -G01* -X45000Y10000D02* -X50000Y10000D01* -G03* -X55000Y15000I0J5000D01* -G01* -X55000Y85000D01* -G03* -X50000Y90000I-5000J0D01* -G01* -X45000Y90000D01* -G03* -X40000Y85000I0J-5000D01* -G01* -X40000Y15000D01* -G03* -X45000Y10000I5000J0D01* -G01* -G37* -D11* -X25000Y10000D03* -D12* -X25000Y30000D03* -D13* -X25000Y50000D03* -D14* -X25000Y70000D03* -D15* -X25000Y90000D03* -D16* -X75000Y50000D03* -D17* -X75000Y75000D03* -D18* -X75000Y25000D03* -M02* diff --git a/tests/expects/RS2724x_single_quadrant.gtl b/tests/expects/RS2724x_single_quadrant.gtl deleted file mode 100644 index dbec705..0000000 --- a/tests/expects/RS2724x_single_quadrant.gtl +++ /dev/null @@ -1,35 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%ADD10C,0.1*% -G75* -%LPD*% -D10* -G36* -G01* -X0Y10000D02* -X0Y90000D01* -G02* -X10000Y100000I10000J0D01* -X20000Y90000I0J-10000D01* -G01* -X20000Y20000D01* -X40000Y20000D01* -G02* -X50000Y10000I0J-10000D01* -X40000Y0I-10000J0D01* -G01* -X10000Y0D01* -G02* -X0Y10000I0J10000D01* -G37* -G03* -X70000Y50000D02* -X60000Y60000I-10000J0D01* -X50000Y50000I0J-10000D01* -X60000Y40000I10000J0D01* -X70000Y50000I0J10000D01* -G02* -X60000Y90000D02* -X60000Y90000I0J0D01* -M02* diff --git a/tests/expects/RS2724x_to_inch.gtl b/tests/expects/RS2724x_to_inch.gtl deleted file mode 100644 index cb9234e..0000000 --- a/tests/expects/RS2724x_to_inch.gtl +++ /dev/null @@ -1,78 +0,0 @@ -%MOIN*% -%FSLAX25Y25*% -%IPPOS*% -%AMCOMP* -20,1,0.00787402,0,0.00393701,0.015748,0.00393701,$1* -21,1,0.015748,0.00787402,-0.00787402,-0.00393701,$1* -1,1,0.015748,-0.0472441,0,$1* -4,1,4,0.0472441,0,0.0551181,-0.00787402,0.0472441,-0.015748,0.0393701,-0.00787402,0.0472441,0,$1* -5,1,6,0.0472441,0.00787402,0.015748,$1* -6,-0.0275591,0,0.019685,0.0019685,0.00590551,2,0.0019685,0.023622,$1* -7,0.0275591,0,0.023622,0.019685,0.00590551,$1*% -%ADD10C,0.0003937*% -%ADD11C,0.03937X0.01575*% -%ADD12R,0.03937X0.01969X0.007874*% -%ADD13O,0.03937X0.01969X0.007874*% -%ADD14O,0.01969X0.03937X0.007874*% -%ADD15P,0.03937X5X90X0.007874*% -%ADD16COMP,0*% -%ADD17COMP,45*% -%ADD18COMP,-45*% -G75* -%LPD*% -D10* -G01* -X3937Y0D02* -X35433Y0D01* -G03* -X39370Y3937I0J3937D01* -G01* -X39370Y35433D01* -G03* -X35433Y39370I-3937J0D01* -G01* -X3937Y39370D01* -G03* -X0Y35433I0J-3937D01* -G01* -X0Y3937D01* -G03* -X3937Y0I3937J0D01* -G01* -G36* -G01* -X17717Y3937D02* -X19685Y3937D01* -G03* -X21654Y5906I0J1969D01* -G01* -X21654Y33465D01* -G03* -X19685Y35433I-1969J0D01* -G01* -X17717Y35433D01* -G03* -X15748Y33465I0J-1969D01* -G01* -X15748Y5906D01* -G03* -X17717Y3937I1969J0D01* -G01* -G37* -D11* -X9843Y3937D03* -D12* -X9843Y11811D03* -D13* -X9843Y19685D03* -D14* -X9843Y27559D03* -D15* -X9843Y35433D03* -D16* -X29528Y19685D03* -D17* -X29528Y29528D03* -D18* -X29528Y9843D03* -M02* diff --git a/tests/expects/RS2724x_to_metric.gtl b/tests/expects/RS2724x_to_metric.gtl deleted file mode 100644 index a8efda8..0000000 --- a/tests/expects/RS2724x_to_metric.gtl +++ /dev/null @@ -1,78 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%AMCOMP* -20,1,0.2,0,0.1,0.399999,0.1,$1* -21,1,0.399999,0.2,-0.2,-0.1,$1* -1,1,0.399999,-1.2,0,$1* -4,1,4,1.2,0,1.4,-0.2,1.2,-0.399999,1,-0.2,1.2,0,$1* -5,1,6,1.2,0.2,0.399999,$1* -6,-0.700001,0,0.499999,0.0499999,0.15,2,0.0499999,0.599999,$1* -7,0.700001,0,0.599999,0.499999,0.15,$1*% -%ADD10C,0.01*% -%ADD11C,1X0.4*% -%ADD12R,1X0.5001X0.2*% -%ADD13O,1X0.5001X0.2*% -%ADD14O,0.5001X1X0.2*% -%ADD15P,1X5X90X0.2*% -%ADD16COMP,0*% -%ADD17COMP,45*% -%ADD18COMP,-45*% -G75* -%LPD*% -D10* -G01* -X10000Y0D02* -X90000Y0D01* -G03* -X100000Y10000I0J10000D01* -G01* -X100000Y90000D01* -G03* -X90000Y100000I-10000J0D01* -G01* -X10000Y100000D01* -G03* -X0Y90000I0J-10000D01* -G01* -X0Y10000D01* -G03* -X10000Y0I10000J0D01* -G01* -G36* -G01* -X45001Y10000D02* -X50000Y10000D01* -G03* -X55001Y15001I0J5001D01* -G01* -X55001Y85001D01* -G03* -X50000Y90000I-5001J0D01* -G01* -X45001Y90000D01* -G03* -X40000Y85001I0J-5001D01* -G01* -X40000Y15001D01* -G03* -X45001Y10000I5001J0D01* -G01* -G37* -D11* -X25001Y10000D03* -D12* -X25001Y30000D03* -D13* -X25001Y50000D03* -D14* -X25001Y70000D03* -D15* -X25001Y90000D03* -D16* -X75001Y50000D03* -D17* -X75001Y75001D03* -D18* -X75001Y25001D03* -M02* diff --git a/tests/expects/dxf_complex_fill.gtl b/tests/expects/dxf_complex_fill.gtl deleted file mode 100644 index e667789..0000000 --- a/tests/expects/dxf_complex_fill.gtl +++ /dev/null @@ -1,729 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%ADD10C,0*% -G75* -%LPD*% -D10* -G36* -G01* -X800000Y150000D02* -G75* -G03* -X780000Y170000I-20000J0D01* -G01* -X774000Y170000D01* -G03* -X754000Y150000I0J-20000D01* -G01* -X754000Y50000D01* -G01* -X600000Y50000D01* -G01* -X600000Y150000D01* -G03* -X580000Y170000I-20000J0D01* -G01* -X574000Y170000D01* -G03* -X554000Y150000I0J-20000D01* -G01* -X554000Y50000D01* -G01* -X400000Y50000D01* -G01* -X400000Y150000D01* -G03* -X380000Y170000I-20000J0D01* -G01* -X374000Y170000D01* -G03* -X354000Y150000I0J-20000D01* -G01* -X354000Y50000D01* -G01* -X200000Y50000D01* -G01* -X200000Y150000D01* -G03* -X180000Y170000I-20000J0D01* -G01* -X174000Y170000D01* -G03* -X154000Y150000I0J-20000D01* -G01* -X154000Y50000D01* -G01* -X0Y50000D01* -G01* -X0Y450000D01* -G01* -X17000Y450000D01* -G03* -X37000Y470000I0J20000D01* -G03* -X17000Y490000I-20000J0D01* -G01* -X0Y490000D01* -G01* -X0Y560000D01* -G01* -X17000Y560000D01* -G03* -X37000Y580000I0J20000D01* -G03* -X17000Y600000I-20000J0D01* -G01* -X0Y600000D01* -G01* -X0Y1000000D01* -G01* -X154000Y1000000D01* -G01* -X154000Y900000D01* -G03* -X174000Y880000I20000J0D01* -G01* -X180000Y880000D01* -G03* -X200000Y900000I0J20000D01* -G01* -X200000Y1000000D01* -G01* -X354000Y1000000D01* -G01* -X354000Y900000D01* -G03* -X374000Y880000I20000J0D01* -G01* -X380000Y880000D01* -G03* -X400000Y900000I0J20000D01* -G01* -X400000Y1000000D01* -G01* -X554000Y1000000D01* -G01* -X554000Y900000D01* -G03* -X574000Y880000I20000J0D01* -G01* -X580000Y880000D01* -G03* -X600000Y900000I0J20000D01* -G01* -X600000Y1000000D01* -G01* -X754000Y1000000D01* -G01* -X754000Y900000D01* -G03* -X774000Y880000I20000J0D01* -G01* -X780000Y880000D01* -G03* -X800000Y900000I0J20000D01* -G01* -X800000Y1000000D01* -G01* -X954000Y1000000D01* -G01* -X954000Y600000D01* -G01* -X937000Y600000D01* -G03* -X917000Y580000I0J-20000D01* -G03* -X937000Y560000I20000J0D01* -G01* -X954000Y560000D01* -G01* -X954000Y490000D01* -G01* -X937000Y490000D01* -G03* -X917000Y470000I0J-20000D01* -G03* -X937000Y450000I20000J0D01* -G01* -X954000Y450000D01* -G01* -X954000Y50000D01* -G01* -X800000Y50000D01* -G01* -X800000Y150000D01* -G37* -%LPC*% -G36* -G01* -X624500Y620350D02* -G75* -G01* -X624500Y633350D01* -G03* -X612500Y633350I-6000J0D01* -G01* -X612500Y620350D01* -G03* -X624500Y620350I6000J0D01* -G01* -X824500Y620350D02* -G75* -G02* -X812500Y620350I-6000J0D01* -G01* -X812500Y633350D01* -G02* -X824500Y633350I6000J0D01* -G01* -X824500Y620350D01* -G01* -X729500Y633350D02* -G75* -G02* -X741500Y633350I6000J0D01* -G01* -X741500Y620350D01* -G02* -X729500Y620350I-6000J0D01* -G01* -X729500Y633350D01* -G01* -X141500Y620350D02* -G75* -G01* -X141500Y633350D01* -G03* -X129500Y633350I-6000J0D01* -G01* -X129500Y620350D01* -G03* -X141500Y620350I6000J0D01* -G01* -X212500Y429650D02* -G75* -G01* -X212500Y416650D01* -G03* -X224500Y416650I6000J0D01* -G01* -X224500Y429650D01* -G03* -X212500Y429650I-6000J0D01* -G01* -X341500Y416650D02* -G75* -G01* -X341500Y429650D01* -G03* -X329500Y429650I-6000J0D01* -G01* -X329500Y416650D01* -G03* -X341500Y416650I6000J0D01* -G01* -X341500Y620350D02* -G75* -G01* -X341500Y633350D01* -G03* -X329500Y633350I-6000J0D01* -G01* -X329500Y620350D01* -G03* -X341500Y620350I6000J0D01* -G01* -X624500Y416650D02* -G75* -G01* -X624500Y429650D01* -G03* -X612500Y429650I-6000J0D01* -G01* -X612500Y416650D01* -G03* -X624500Y416650I6000J0D01* -G01* -X729500Y429650D02* -G75* -G01* -X729500Y416650D01* -G03* -X741500Y416650I6000J0D01* -G01* -X741500Y429650D01* -G03* -X729500Y429650I-6000J0D01* -G01* -X541500Y620350D02* -G75* -G02* -X529500Y620350I-6000J0D01* -G01* -X529500Y633350D01* -G02* -X541500Y633350I6000J0D01* -G01* -X541500Y620350D01* -G01* -X929500Y633350D02* -G75* -G02* -X941500Y633350I6000J0D01* -G01* -X941500Y620350D01* -G02* -X929500Y620350I-6000J0D01* -G01* -X929500Y633350D01* -G01* -X412500Y429650D02* -G75* -G01* -X412500Y416650D01* -G03* -X424500Y416650I6000J0D01* -G01* -X424500Y429650D01* -G03* -X412500Y429650I-6000J0D01* -G01* -X224500Y620350D02* -G75* -G01* -X224500Y633350D01* -G03* -X212500Y633350I-6000J0D01* -G01* -X212500Y620350D01* -G03* -X224500Y620350I6000J0D01* -G01* -X541500Y416650D02* -G75* -G02* -X529500Y416650I-6000J0D01* -G01* -X529500Y429650D01* -G02* -X541500Y429650I6000J0D01* -G01* -X541500Y416650D01* -G01* -X129500Y429650D02* -G75* -G02* -X141500Y429650I6000J0D01* -G01* -X141500Y416650D01* -G02* -X129500Y416650I-6000J0D01* -G01* -X129500Y429650D01* -G01* -X24500Y416650D02* -G75* -G02* -X12500Y416650I-6000J0D01* -G01* -X12500Y429650D01* -G02* -X24500Y429650I6000J0D01* -G01* -X24500Y416650D01* -G01* -X941500Y416650D02* -G75* -G02* -X929500Y416650I-6000J0D01* -G01* -X929500Y429650D01* -G02* -X941500Y429650I6000J0D01* -G01* -X941500Y416650D01* -G01* -X424500Y620350D02* -G75* -G01* -X424500Y633350D01* -G03* -X412500Y633350I-6000J0D01* -G01* -X412500Y620350D01* -G03* -X424500Y620350I6000J0D01* -G01* -X824500Y416650D02* -G75* -G02* -X812500Y416650I-6000J0D01* -G01* -X812500Y429650D01* -G02* -X824500Y429650I6000J0D01* -G01* -X824500Y416650D01* -G01* -X12500Y633350D02* -G75* -G01* -X12500Y620350D01* -G03* -X24500Y620350I6000J0D01* -G01* -X24500Y633350D01* -G03* -X12500Y633350I-6000J0D01* -G01* -X660500Y626850D02* -G75* -G03* -X660500Y626850I-6000J0D01* -G01* -X905500Y626850D02* -G75* -G03* -X905500Y626850I-6000J0D01* -G01* -X505500Y626850D02* -G75* -G03* -X505500Y626850I-6000J0D01* -G01* -X860500Y626850D02* -G75* -G03* -X860500Y626850I-6000J0D01* -G01* -X705500Y626850D02* -G75* -G03* -X705500Y626850I-6000J0D01* -G01* -X705500Y423150D02* -G75* -G03* -X705500Y423150I-6000J0D01* -G01* -X660500Y423150D02* -G75* -G03* -X660500Y423150I-6000J0D01* -G01* -X505500Y423150D02* -G75* -G03* -X505500Y423150I-6000J0D01* -G01* -X260500Y626850D02* -G75* -G03* -X260500Y626850I-6000J0D01* -G01* -X905500Y423150D02* -G75* -G03* -X905500Y423150I-6000J0D01* -G01* -X460500Y423150D02* -G75* -G03* -X460500Y423150I-6000J0D01* -G01* -X460500Y626850D02* -G75* -G03* -X460500Y626850I-6000J0D01* -G01* -X60500Y626850D02* -G75* -G03* -X60500Y626850I-6000J0D01* -G01* -X105500Y626850D02* -G75* -G03* -X105500Y626850I-6000J0D01* -G01* -X60500Y423150D02* -G75* -G03* -X60500Y423150I-6000J0D01* -G01* -X305500Y626850D02* -G75* -G03* -X305500Y626850I-6000J0D01* -G01* -X860500Y423150D02* -G75* -G03* -X860500Y423150I-6000J0D01* -G01* -X541500Y633350D02* -G75* -G01* -X541500Y620350D01* -G02* -X529500Y620350I-6000J0D01* -G01* -X529500Y633350D01* -G02* -X541500Y633350I6000J0D01* -G01* -X941500Y429650D02* -G75* -G01* -X941500Y416650D01* -G02* -X929500Y416650I-6000J0D01* -G01* -X929500Y429650D01* -G02* -X941500Y429650I6000J0D01* -G01* -X260500Y423150D02* -G75* -G03* -X260500Y423150I-6000J0D01* -G01* -X305500Y423150D02* -G75* -G03* -X305500Y423150I-6000J0D01* -G01* -X824500Y633350D02* -G75* -G03* -X812500Y633350I-6000J0D01* -G01* -X812500Y620350D01* -G03* -X824500Y620350I6000J0D01* -G01* -X824500Y633350D01* -G01* -X105500Y423150D02* -G75* -G03* -X105500Y423150I-6000J0D01* -G01* -X217000Y560000D02* -G75* -G03* -X237000Y580000I0J20000D01* -G03* -X217000Y600000I-20000J0D01* -G01* -X200000Y600000D01* -G01* -X200000Y700000D01* -G03* -X180000Y720000I-20000J0D01* -G01* -X174000Y720000D01* -G03* -X154000Y700000I0J-20000D01* -G01* -X154000Y600000D01* -G01* -X137000Y600000D01* -G03* -X117000Y580000I0J-20000D01* -G03* -X137000Y560000I20000J0D01* -G01* -X217000Y560000D01* -G01* -X417000Y560000D02* -G75* -G03* -X437000Y580000I0J20000D01* -G03* -X417000Y600000I-20000J0D01* -G01* -X400000Y600000D01* -G01* -X400000Y700000D01* -G03* -X380000Y720000I-20000J0D01* -G01* -X374000Y720000D01* -G03* -X354000Y700000I0J-20000D01* -G01* -X354000Y600000D01* -G01* -X337000Y600000D01* -G03* -X317000Y580000I0J-20000D01* -G03* -X337000Y560000I20000J0D01* -G01* -X417000Y560000D01* -G01* -X617000Y560000D02* -G75* -G03* -X637000Y580000I0J20000D01* -G03* -X617000Y600000I-20000J0D01* -G01* -X600000Y600000D01* -G01* -X600000Y700000D01* -G03* -X580000Y720000I-20000J0D01* -G01* -X574000Y720000D01* -G03* -X554000Y700000I0J-20000D01* -G01* -X554000Y600000D01* -G01* -X537000Y600000D01* -G03* -X517000Y580000I0J-20000D01* -G03* -X537000Y560000I20000J0D01* -G01* -X617000Y560000D01* -G01* -X817000Y560000D02* -G75* -G03* -X837000Y580000I0J20000D01* -G03* -X817000Y600000I-20000J0D01* -G01* -X800000Y600000D01* -G01* -X800000Y700000D01* -G03* -X780000Y720000I-20000J0D01* -G01* -X774000Y720000D01* -G03* -X754000Y700000I0J-20000D01* -G01* -X754000Y600000D01* -G01* -X737000Y600000D01* -G03* -X717000Y580000I0J-20000D01* -G03* -X737000Y560000I20000J0D01* -G01* -X817000Y560000D01* -G01* -X180000Y330000D02* -G75* -G03* -X200000Y350000I0J20000D01* -G01* -X200000Y450000D01* -G01* -X217000Y450000D01* -G03* -X237000Y470000I0J20000D01* -G03* -X217000Y490000I-20000J0D01* -G01* -X137000Y490000D01* -G03* -X117000Y470000I0J-20000D01* -G03* -X137000Y450000I20000J0D01* -G01* -X154000Y450000D01* -G01* -X154000Y350000D01* -G03* -X174000Y330000I20000J0D01* -G01* -X180000Y330000D01* -G01* -X380000Y330000D02* -G75* -G03* -X400000Y350000I0J20000D01* -G01* -X400000Y450000D01* -G01* -X417000Y450000D01* -G03* -X437000Y470000I0J20000D01* -G03* -X417000Y490000I-20000J0D01* -G01* -X337000Y490000D01* -G03* -X317000Y470000I0J-20000D01* -G03* -X337000Y450000I20000J0D01* -G01* -X354000Y450000D01* -G01* -X354000Y350000D01* -G03* -X374000Y330000I20000J0D01* -G01* -X380000Y330000D01* -G01* -X580000Y330000D02* -G75* -G03* -X600000Y350000I0J20000D01* -G01* -X600000Y450000D01* -G01* -X617000Y450000D01* -G03* -X637000Y470000I0J20000D01* -G03* -X617000Y490000I-20000J0D01* -G01* -X537000Y490000D01* -G03* -X517000Y470000I0J-20000D01* -G03* -X537000Y450000I20000J0D01* -G01* -X554000Y450000D01* -G01* -X554000Y350000D01* -G03* -X574000Y330000I20000J0D01* -G01* -X580000Y330000D01* -G01* -X780000Y330000D02* -G75* -G03* -X800000Y350000I0J20000D01* -G01* -X800000Y450000D01* -G01* -X817000Y450000D01* -G03* -X837000Y470000I0J20000D01* -G03* -X817000Y490000I-20000J0D01* -G01* -X737000Y490000D01* -G03* -X717000Y470000I0J-20000D01* -G03* -X737000Y450000I20000J0D01* -G01* -X754000Y450000D01* -G01* -X754000Y350000D01* -G03* -X774000Y330000I20000J0D01* -G01* -X780000Y330000D01* -G37* -M02* diff --git a/tests/expects/dxf_complex_fill_flip.gtl b/tests/expects/dxf_complex_fill_flip.gtl deleted file mode 100644 index 1f91be3..0000000 --- a/tests/expects/dxf_complex_fill_flip.gtl +++ /dev/null @@ -1,746 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%ADD10C,0*% -%ADD11C,0*% -G75* -%LPD*% -D10* -G36* -G01* -X0Y1000000D02* -G75* -G01* -X0Y0D01* -G01* -X1000000Y0D01* -G01* -X1000000Y1000000D01* -G01* -X0Y1000000D01* -G37* -G75* -%LPC*% -D11* -G36* -G01* -X800000Y150000D02* -G75* -G03* -X780000Y170000I-20000J0D01* -G01* -X774000Y170000D01* -G03* -X754000Y150000I0J-20000D01* -G01* -X754000Y50000D01* -G01* -X600000Y50000D01* -G01* -X600000Y150000D01* -G03* -X580000Y170000I-20000J0D01* -G01* -X574000Y170000D01* -G03* -X554000Y150000I0J-20000D01* -G01* -X554000Y50000D01* -G01* -X400000Y50000D01* -G01* -X400000Y150000D01* -G03* -X380000Y170000I-20000J0D01* -G01* -X374000Y170000D01* -G03* -X354000Y150000I0J-20000D01* -G01* -X354000Y50000D01* -G01* -X200000Y50000D01* -G01* -X200000Y150000D01* -G03* -X180000Y170000I-20000J0D01* -G01* -X174000Y170000D01* -G03* -X154000Y150000I0J-20000D01* -G01* -X154000Y50000D01* -G01* -X0Y50000D01* -G01* -X0Y450000D01* -G01* -X17000Y450000D01* -G03* -X37000Y470000I0J20000D01* -G03* -X17000Y490000I-20000J0D01* -G01* -X0Y490000D01* -G01* -X0Y560000D01* -G01* -X17000Y560000D01* -G03* -X37000Y580000I0J20000D01* -G03* -X17000Y600000I-20000J0D01* -G01* -X0Y600000D01* -G01* -X0Y1000000D01* -G01* -X154000Y1000000D01* -G01* -X154000Y900000D01* -G03* -X174000Y880000I20000J0D01* -G01* -X180000Y880000D01* -G03* -X200000Y900000I0J20000D01* -G01* -X200000Y1000000D01* -G01* -X354000Y1000000D01* -G01* -X354000Y900000D01* -G03* -X374000Y880000I20000J0D01* -G01* -X380000Y880000D01* -G03* -X400000Y900000I0J20000D01* -G01* -X400000Y1000000D01* -G01* -X554000Y1000000D01* -G01* -X554000Y900000D01* -G03* -X574000Y880000I20000J0D01* -G01* -X580000Y880000D01* -G03* -X600000Y900000I0J20000D01* -G01* -X600000Y1000000D01* -G01* -X754000Y1000000D01* -G01* -X754000Y900000D01* -G03* -X774000Y880000I20000J0D01* -G01* -X780000Y880000D01* -G03* -X800000Y900000I0J20000D01* -G01* -X800000Y1000000D01* -G01* -X954000Y1000000D01* -G01* -X954000Y600000D01* -G01* -X937000Y600000D01* -G03* -X917000Y580000I0J-20000D01* -G03* -X937000Y560000I20000J0D01* -G01* -X954000Y560000D01* -G01* -X954000Y490000D01* -G01* -X937000Y490000D01* -G03* -X917000Y470000I0J-20000D01* -G03* -X937000Y450000I20000J0D01* -G01* -X954000Y450000D01* -G01* -X954000Y50000D01* -G01* -X800000Y50000D01* -G01* -X800000Y150000D01* -G37* -%LPD*% -G36* -G01* -X624500Y620350D02* -G75* -G01* -X624500Y633350D01* -G03* -X612500Y633350I-6000J0D01* -G01* -X612500Y620350D01* -G03* -X624500Y620350I6000J0D01* -G01* -X824500Y620350D02* -G75* -G02* -X812500Y620350I-6000J0D01* -G01* -X812500Y633350D01* -G02* -X824500Y633350I6000J0D01* -G01* -X824500Y620350D01* -G01* -X729500Y633350D02* -G75* -G02* -X741500Y633350I6000J0D01* -G01* -X741500Y620350D01* -G02* -X729500Y620350I-6000J0D01* -G01* -X729500Y633350D01* -G01* -X141500Y620350D02* -G75* -G01* -X141500Y633350D01* -G03* -X129500Y633350I-6000J0D01* -G01* -X129500Y620350D01* -G03* -X141500Y620350I6000J0D01* -G01* -X212500Y429650D02* -G75* -G01* -X212500Y416650D01* -G03* -X224500Y416650I6000J0D01* -G01* -X224500Y429650D01* -G03* -X212500Y429650I-6000J0D01* -G01* -X341500Y416650D02* -G75* -G01* -X341500Y429650D01* -G03* -X329500Y429650I-6000J0D01* -G01* -X329500Y416650D01* -G03* -X341500Y416650I6000J0D01* -G01* -X341500Y620350D02* -G75* -G01* -X341500Y633350D01* -G03* -X329500Y633350I-6000J0D01* -G01* -X329500Y620350D01* -G03* -X341500Y620350I6000J0D01* -G01* -X624500Y416650D02* -G75* -G01* -X624500Y429650D01* -G03* -X612500Y429650I-6000J0D01* -G01* -X612500Y416650D01* -G03* -X624500Y416650I6000J0D01* -G01* -X729500Y429650D02* -G75* -G01* -X729500Y416650D01* -G03* -X741500Y416650I6000J0D01* -G01* -X741500Y429650D01* -G03* -X729500Y429650I-6000J0D01* -G01* -X541500Y620350D02* -G75* -G02* -X529500Y620350I-6000J0D01* -G01* -X529500Y633350D01* -G02* -X541500Y633350I6000J0D01* -G01* -X541500Y620350D01* -G01* -X929500Y633350D02* -G75* -G02* -X941500Y633350I6000J0D01* -G01* -X941500Y620350D01* -G02* -X929500Y620350I-6000J0D01* -G01* -X929500Y633350D01* -G01* -X412500Y429650D02* -G75* -G01* -X412500Y416650D01* -G03* -X424500Y416650I6000J0D01* -G01* -X424500Y429650D01* -G03* -X412500Y429650I-6000J0D01* -G01* -X224500Y620350D02* -G75* -G01* -X224500Y633350D01* -G03* -X212500Y633350I-6000J0D01* -G01* -X212500Y620350D01* -G03* -X224500Y620350I6000J0D01* -G01* -X541500Y416650D02* -G75* -G02* -X529500Y416650I-6000J0D01* -G01* -X529500Y429650D01* -G02* -X541500Y429650I6000J0D01* -G01* -X541500Y416650D01* -G01* -X129500Y429650D02* -G75* -G02* -X141500Y429650I6000J0D01* -G01* -X141500Y416650D01* -G02* -X129500Y416650I-6000J0D01* -G01* -X129500Y429650D01* -G01* -X24500Y416650D02* -G75* -G02* -X12500Y416650I-6000J0D01* -G01* -X12500Y429650D01* -G02* -X24500Y429650I6000J0D01* -G01* -X24500Y416650D01* -G01* -X941500Y416650D02* -G75* -G02* -X929500Y416650I-6000J0D01* -G01* -X929500Y429650D01* -G02* -X941500Y429650I6000J0D01* -G01* -X941500Y416650D01* -G01* -X424500Y620350D02* -G75* -G01* -X424500Y633350D01* -G03* -X412500Y633350I-6000J0D01* -G01* -X412500Y620350D01* -G03* -X424500Y620350I6000J0D01* -G01* -X824500Y416650D02* -G75* -G02* -X812500Y416650I-6000J0D01* -G01* -X812500Y429650D01* -G02* -X824500Y429650I6000J0D01* -G01* -X824500Y416650D01* -G01* -X12500Y633350D02* -G75* -G01* -X12500Y620350D01* -G03* -X24500Y620350I6000J0D01* -G01* -X24500Y633350D01* -G03* -X12500Y633350I-6000J0D01* -G01* -X660500Y626850D02* -G75* -G03* -X660500Y626850I-6000J0D01* -G01* -X905500Y626850D02* -G75* -G03* -X905500Y626850I-6000J0D01* -G01* -X505500Y626850D02* -G75* -G03* -X505500Y626850I-6000J0D01* -G01* -X860500Y626850D02* -G75* -G03* -X860500Y626850I-6000J0D01* -G01* -X705500Y626850D02* -G75* -G03* -X705500Y626850I-6000J0D01* -G01* -X705500Y423150D02* -G75* -G03* -X705500Y423150I-6000J0D01* -G01* -X660500Y423150D02* -G75* -G03* -X660500Y423150I-6000J0D01* -G01* -X505500Y423150D02* -G75* -G03* -X505500Y423150I-6000J0D01* -G01* -X260500Y626850D02* -G75* -G03* -X260500Y626850I-6000J0D01* -G01* -X905500Y423150D02* -G75* -G03* -X905500Y423150I-6000J0D01* -G01* -X460500Y423150D02* -G75* -G03* -X460500Y423150I-6000J0D01* -G01* -X460500Y626850D02* -G75* -G03* -X460500Y626850I-6000J0D01* -G01* -X60500Y626850D02* -G75* -G03* -X60500Y626850I-6000J0D01* -G01* -X105500Y626850D02* -G75* -G03* -X105500Y626850I-6000J0D01* -G01* -X60500Y423150D02* -G75* -G03* -X60500Y423150I-6000J0D01* -G01* -X305500Y626850D02* -G75* -G03* -X305500Y626850I-6000J0D01* -G01* -X860500Y423150D02* -G75* -G03* -X860500Y423150I-6000J0D01* -G01* -X541500Y633350D02* -G75* -G01* -X541500Y620350D01* -G02* -X529500Y620350I-6000J0D01* -G01* -X529500Y633350D01* -G02* -X541500Y633350I6000J0D01* -G01* -X941500Y429650D02* -G75* -G01* -X941500Y416650D01* -G02* -X929500Y416650I-6000J0D01* -G01* -X929500Y429650D01* -G02* -X941500Y429650I6000J0D01* -G01* -X260500Y423150D02* -G75* -G03* -X260500Y423150I-6000J0D01* -G01* -X305500Y423150D02* -G75* -G03* -X305500Y423150I-6000J0D01* -G01* -X824500Y633350D02* -G75* -G03* -X812500Y633350I-6000J0D01* -G01* -X812500Y620350D01* -G03* -X824500Y620350I6000J0D01* -G01* -X824500Y633350D01* -G01* -X105500Y423150D02* -G75* -G03* -X105500Y423150I-6000J0D01* -G01* -X217000Y560000D02* -G75* -G03* -X237000Y580000I0J20000D01* -G03* -X217000Y600000I-20000J0D01* -G01* -X200000Y600000D01* -G01* -X200000Y700000D01* -G03* -X180000Y720000I-20000J0D01* -G01* -X174000Y720000D01* -G03* -X154000Y700000I0J-20000D01* -G01* -X154000Y600000D01* -G01* -X137000Y600000D01* -G03* -X117000Y580000I0J-20000D01* -G03* -X137000Y560000I20000J0D01* -G01* -X217000Y560000D01* -G01* -X417000Y560000D02* -G75* -G03* -X437000Y580000I0J20000D01* -G03* -X417000Y600000I-20000J0D01* -G01* -X400000Y600000D01* -G01* -X400000Y700000D01* -G03* -X380000Y720000I-20000J0D01* -G01* -X374000Y720000D01* -G03* -X354000Y700000I0J-20000D01* -G01* -X354000Y600000D01* -G01* -X337000Y600000D01* -G03* -X317000Y580000I0J-20000D01* -G03* -X337000Y560000I20000J0D01* -G01* -X417000Y560000D01* -G01* -X617000Y560000D02* -G75* -G03* -X637000Y580000I0J20000D01* -G03* -X617000Y600000I-20000J0D01* -G01* -X600000Y600000D01* -G01* -X600000Y700000D01* -G03* -X580000Y720000I-20000J0D01* -G01* -X574000Y720000D01* -G03* -X554000Y700000I0J-20000D01* -G01* -X554000Y600000D01* -G01* -X537000Y600000D01* -G03* -X517000Y580000I0J-20000D01* -G03* -X537000Y560000I20000J0D01* -G01* -X617000Y560000D01* -G01* -X817000Y560000D02* -G75* -G03* -X837000Y580000I0J20000D01* -G03* -X817000Y600000I-20000J0D01* -G01* -X800000Y600000D01* -G01* -X800000Y700000D01* -G03* -X780000Y720000I-20000J0D01* -G01* -X774000Y720000D01* -G03* -X754000Y700000I0J-20000D01* -G01* -X754000Y600000D01* -G01* -X737000Y600000D01* -G03* -X717000Y580000I0J-20000D01* -G03* -X737000Y560000I20000J0D01* -G01* -X817000Y560000D01* -G01* -X180000Y330000D02* -G75* -G03* -X200000Y350000I0J20000D01* -G01* -X200000Y450000D01* -G01* -X217000Y450000D01* -G03* -X237000Y470000I0J20000D01* -G03* -X217000Y490000I-20000J0D01* -G01* -X137000Y490000D01* -G03* -X117000Y470000I0J-20000D01* -G03* -X137000Y450000I20000J0D01* -G01* -X154000Y450000D01* -G01* -X154000Y350000D01* -G03* -X174000Y330000I20000J0D01* -G01* -X180000Y330000D01* -G01* -X380000Y330000D02* -G75* -G03* -X400000Y350000I0J20000D01* -G01* -X400000Y450000D01* -G01* -X417000Y450000D01* -G03* -X437000Y470000I0J20000D01* -G03* -X417000Y490000I-20000J0D01* -G01* -X337000Y490000D01* -G03* -X317000Y470000I0J-20000D01* -G03* -X337000Y450000I20000J0D01* -G01* -X354000Y450000D01* -G01* -X354000Y350000D01* -G03* -X374000Y330000I20000J0D01* -G01* -X380000Y330000D01* -G01* -X580000Y330000D02* -G75* -G03* -X600000Y350000I0J20000D01* -G01* -X600000Y450000D01* -G01* -X617000Y450000D01* -G03* -X637000Y470000I0J20000D01* -G03* -X617000Y490000I-20000J0D01* -G01* -X537000Y490000D01* -G03* -X517000Y470000I0J-20000D01* -G03* -X537000Y450000I20000J0D01* -G01* -X554000Y450000D01* -G01* -X554000Y350000D01* -G03* -X574000Y330000I20000J0D01* -G01* -X580000Y330000D01* -G01* -X780000Y330000D02* -G75* -G03* -X800000Y350000I0J20000D01* -G01* -X800000Y450000D01* -G01* -X817000Y450000D01* -G03* -X837000Y470000I0J20000D01* -G03* -X817000Y490000I-20000J0D01* -G01* -X737000Y490000D01* -G03* -X717000Y470000I0J-20000D01* -G03* -X737000Y450000I20000J0D01* -G01* -X754000Y450000D01* -G01* -X754000Y350000D01* -G03* -X774000Y330000I20000J0D01* -G01* -X780000Y330000D01* -G37* -M02* diff --git a/tests/expects/dxf_offset.gtl b/tests/expects/dxf_offset.gtl deleted file mode 100644 index df1b015..0000000 --- a/tests/expects/dxf_offset.gtl +++ /dev/null @@ -1,93 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%ADD10C,0*% -G75* -%LPD*% -D10* -G01* -X910000Y900000D02* -G75* -G01* -X910000Y400000D01* -G01* -X1010000Y900000D02* -G75* -G01* -X1010000Y400000D01* -G01* -X310000Y379390D02* -G75* -G01* -X435827Y379390D01* -G01* -X435827Y228443D01* -G01* -X510000Y50000D02* -G75* -G01* -X210000Y50000D01* -G02* -X110000Y150000I0J100000D01* -G01* -X110000Y450000D01* -G02* -X210000Y550000I100000J0D01* -G01* -X510000Y550000D01* -G02* -X610000Y450000I0J-100000D01* -G01* -X610000Y150000D01* -G02* -X510000Y50000I-100000J0D01* -G01* -X852704Y800394D02* -G75* -G01* -X852704Y500394D01* -G02* -X752704Y400394I-100000J0D01* -G01* -X452704Y400394D01* -G02* -X352704Y500394I0J100000D01* -G01* -X352704Y800394D01* -G02* -X452704Y900394I100000J0D01* -G01* -X752704Y900394D01* -G02* -X852704Y800394I0J-100000D01* -G01* -X492038Y472062D02* -G75* -G01* -X244512Y472062D01* -G01* -X244512Y185960D01* -G01* -X492038Y185960D01* -G01* -X492038Y472062D01* -G01* -X1037009Y176316D02* -G75* -G03* -X1037009Y176316I-125463J0D01* -G01* -X712773Y700000D02* -G75* -G03* -X712773Y700000I-102773J0D01* -G01* -X610000Y700000D02* -G75* -G01* -X610000Y764592D01* -G03* -X672602Y684088I0J-64592D01* -G01* -X610000Y700000D01* -M02* diff --git a/tests/expects/dxf_rectangle_inch.gtl b/tests/expects/dxf_rectangle_inch.gtl deleted file mode 100644 index c196f92..0000000 --- a/tests/expects/dxf_rectangle_inch.gtl +++ /dev/null @@ -1,19 +0,0 @@ -%MOIN*% -%FSLAX25Y25*% -%IPPOS*% -%ADD10C,0*% -G75* -%LPD*% -D10* -G01* -X0Y39370D02* -G75* -G01* -X0Y0D01* -G01* -X39370Y0D01* -G01* -X39370Y39370D01* -G01* -X0Y39370D01* -M02* diff --git a/tests/expects/dxf_rectangle_metric.gtl b/tests/expects/dxf_rectangle_metric.gtl deleted file mode 100644 index 092471f..0000000 --- a/tests/expects/dxf_rectangle_metric.gtl +++ /dev/null @@ -1,19 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%ADD10C,0*% -G75* -%LPD*% -D10* -G01* -X0Y100000D02* -G75* -G01* -X0Y0D01* -G01* -X100000Y0D01* -G01* -X100000Y100000D01* -G01* -X0Y100000D01* -M02* diff --git a/tests/expects/dxf_rotate.gtl b/tests/expects/dxf_rotate.gtl deleted file mode 100644 index 5c04b64..0000000 --- a/tests/expects/dxf_rotate.gtl +++ /dev/null @@ -1,93 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%ADD10C,0*% -G75* -%LPD*% -D10* -G01* -X501270Y1044184D02* -G75* -G01* -X672280Y574337D01* -G01* -X595239Y1078386D02* -G75* -G01* -X766249Y608539D01* -G01* -X115513Y349758D02* -G75* -G01* -X233752Y392793D01* -G01* -X285379Y250949D01* -G01* -X416110Y108637D02* -G75* -G01* -X134202Y6031D01* -G02* -X6031Y65798I-34202J93969D01* -G01* -X-96575Y347706D01* -G02* -X-36808Y475877I93969J34202D01* -G01* -X245100Y578483D01* -G02* -X373271Y518716I34202J-93969D01* -G01* -X475877Y236808D01* -G02* -X416110Y108637I-93969J-34202D01* -G01* -X481496Y930988D02* -G75* -G01* -X584102Y649080D01* -G02* -X524335Y520909I-93969J-34202D01* -G01* -X242427Y418303D01* -G02* -X114256Y478070I-34202J93969D01* -G01* -X11650Y759978D01* -G02* -X71417Y888149I93969J34202D01* -G01* -X353325Y990755D01* -G02* -X481496Y930988I34202J-93969D01* -G01* -X254877Y499102D02* -G75* -G01* -X22279Y414443D01* -G01* -X120131Y145595D01* -G01* -X352730Y230254D01* -G01* -X254877Y499102D01* -G01* -X868133Y407583D02* -G75* -G03* -X868133Y407583I-117896J-42911D01* -G01* -X384341Y788789D02* -G75* -G03* -X384341Y788789I-96575J-35150D01* -G01* -X287766Y753639D02* -G75* -G01* -X265674Y814336D01* -G03* -X352035Y760098I22092J-60697D01* -G01* -X287766Y753639D01* -M02* diff --git a/tests/expects/dxf_save_fill.gtl b/tests/expects/dxf_save_fill.gtl deleted file mode 100644 index 4b82fb2..0000000 --- a/tests/expects/dxf_save_fill.gtl +++ /dev/null @@ -1,84 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%ADD10C,0*% -G75* -%LPD*% -D10* -G36* -G01* -X400000Y0D02* -G75* -G01* -X100000Y0D01* -G02* -X0Y100000I0J100000D01* -G01* -X0Y400000D01* -G02* -X100000Y500000I100000J0D01* -G01* -X400000Y500000D01* -G02* -X500000Y400000I0J-100000D01* -G01* -X500000Y100000D01* -G02* -X400000Y0I-100000J0D01* -G01* -X742704Y750394D02* -G75* -G01* -X742704Y450394D01* -G02* -X642704Y350394I-100000J0D01* -G01* -X342704Y350394D01* -G02* -X242704Y450394I0J100000D01* -G01* -X242704Y750394D01* -G02* -X342704Y850394I100000J0D01* -G01* -X642704Y850394D01* -G02* -X742704Y750394I0J-100000D01* -G01* -X927009Y126316D02* -G75* -G03* -X927009Y126316I-125463J0D01* -G37* -%LPC*% -G36* -G01* -X382038Y422062D02* -G75* -G01* -X134512Y422062D01* -G01* -X134512Y135960D01* -G01* -X382038Y135960D01* -G01* -X382038Y422062D01* -G01* -X602773Y650000D02* -G75* -G03* -X602773Y650000I-102773J0D01* -G37* -%LPD*% -G36* -G01* -X500000Y650000D02* -G75* -G01* -X500000Y714592D01* -G03* -X562602Y634088I0J-64592D01* -G01* -X500000Y650000D01* -G37* -M02* diff --git a/tests/expects/dxf_save_fill_simple.gtl b/tests/expects/dxf_save_fill_simple.gtl deleted file mode 100644 index 5ff4d55..0000000 --- a/tests/expects/dxf_save_fill_simple.gtl +++ /dev/null @@ -1,78 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%ADD10C,0*% -G75* -%LPD*% -D10* -G36* -G01* -X400000Y0D02* -G75* -G01* -X100000Y0D01* -G02* -X0Y100000I0J100000D01* -G01* -X0Y400000D01* -G02* -X100000Y500000I100000J0D01* -G01* -X400000Y500000D01* -G02* -X500000Y400000I0J-100000D01* -G01* -X500000Y100000D01* -G02* -X400000Y0I-100000J0D01* -G01* -X742704Y750394D02* -G75* -G01* -X742704Y450394D01* -G02* -X642704Y350394I-100000J0D01* -G01* -X342704Y350394D01* -G02* -X242704Y450394I0J100000D01* -G01* -X242704Y750394D01* -G02* -X342704Y850394I100000J0D01* -G01* -X642704Y850394D01* -G02* -X742704Y750394I0J-100000D01* -G01* -X382038Y422062D02* -G75* -G01* -X134512Y422062D01* -G01* -X134512Y135960D01* -G01* -X382038Y135960D01* -G01* -X382038Y422062D01* -G01* -X927009Y126316D02* -G75* -G03* -X927009Y126316I-125463J0D01* -G01* -X602773Y650000D02* -G75* -G03* -X602773Y650000I-102773J0D01* -G01* -X500000Y650000D02* -G75* -G01* -X500000Y714592D01* -G03* -X562602Y634088I0J-64592D01* -G01* -X500000Y650000D01* -G37* -M02* diff --git a/tests/expects/dxf_save_line.gtl b/tests/expects/dxf_save_line.gtl deleted file mode 100644 index b3ee8f1..0000000 --- a/tests/expects/dxf_save_line.gtl +++ /dev/null @@ -1,93 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%ADD10C,0.2*% -G75* -%LPD*% -D10* -G01* -X800000Y850000D02* -G75* -G01* -X800000Y350000D01* -G01* -X900000Y850000D02* -G75* -G01* -X900000Y350000D01* -G01* -X200000Y329390D02* -G75* -G01* -X325827Y329390D01* -G01* -X325827Y178443D01* -G01* -X400000Y0D02* -G75* -G01* -X100000Y0D01* -G02* -X0Y100000I0J100000D01* -G01* -X0Y400000D01* -G02* -X100000Y500000I100000J0D01* -G01* -X400000Y500000D01* -G02* -X500000Y400000I0J-100000D01* -G01* -X500000Y100000D01* -G02* -X400000Y0I-100000J0D01* -G01* -X742704Y750394D02* -G75* -G01* -X742704Y450394D01* -G02* -X642704Y350394I-100000J0D01* -G01* -X342704Y350394D01* -G02* -X242704Y450394I0J100000D01* -G01* -X242704Y750394D01* -G02* -X342704Y850394I100000J0D01* -G01* -X642704Y850394D01* -G02* -X742704Y750394I0J-100000D01* -G01* -X382038Y422062D02* -G75* -G01* -X134512Y422062D01* -G01* -X134512Y135960D01* -G01* -X382038Y135960D01* -G01* -X382038Y422062D01* -G01* -X927009Y126316D02* -G75* -G03* -X927009Y126316I-125463J0D01* -G01* -X602773Y650000D02* -G75* -G03* -X602773Y650000I-102773J0D01* -G01* -X500000Y650000D02* -G75* -G01* -X500000Y714592D01* -G03* -X562602Y634088I0J-64592D01* -G01* -X500000Y650000D01* -M02* diff --git a/tests/expects/dxf_save_line.txt b/tests/expects/dxf_save_line.txt deleted file mode 100644 index c3d73d4..0000000 --- a/tests/expects/dxf_save_line.txt +++ /dev/null @@ -1,84 +0,0 @@ -M48 -FMAT,2 -ICI,OFF -METRIC,TZ,000.000 -T01C0.200 -% -G90 -M71 -T01 -G00X80000Y85000 -M15 -G01X80000Y35000 -M16 -G05 - -G00X90000Y85000 -M15 -G01X90000Y35000 -M16 -G05 - -G00X20000Y32939 -M15 -G01X32583Y32939 -G01X32583Y17844 -M16 -G05 - -G00X40000Y0 -M15 -G01X10000Y0 -G02X0Y10000I0J10000 -G01X0Y40000 -G02X10000Y50000I10000J0 -G01X40000Y50000 -G02X50000Y40000I0J-10000 -G01X50000Y10000 -G02X40000Y0I-10000J0 -M16 -G05 - -G00X74270Y75039 -M15 -G01X74270Y45039 -G02X64270Y35039I-10000J0 -G01X34270Y35039 -G02X24270Y45039I0J10000 -G01X24270Y75039 -G02X34270Y85039I10000J0 -G01X64270Y85039 -G02X74270Y75039I0J-10000 -M16 -G05 - -G00X38204Y42206 -M15 -G01X13451Y42206 -G01X13451Y13596 -G01X38204Y13596 -G01X38204Y42206 -M16 -G05 - -G00X92701Y12632 -M15 -G03X92701Y12632I-12546J0 -M16 -G05 - -G00X60277Y65000 -M15 -G03X60277Y65000I-10277J0 -M16 -G05 - -G00X50000Y65000 -M15 -G01X50000Y71459 -G03X56260Y63409I0J-6459 -G01X50000Y65000 -M16 -G05 - -M30 diff --git a/tests/expects/dxf_save_mousebites.gtl b/tests/expects/dxf_save_mousebites.gtl deleted file mode 100644 index 64cc6d8..0000000 --- a/tests/expects/dxf_save_mousebites.gtl +++ /dev/null @@ -1,582 +0,0 @@ -%MOMM*% -%FSLAX34Y34*% -%IPPOS*% -%ADD10C,0.5*% -G75* -%LPD*% -D10* -X800000Y850000D03* -X800000Y836000D03* -X800000Y822000D03* -X800000Y808000D03* -X800000Y794000D03* -X800000Y780000D03* -X800000Y766000D03* -X800000Y752000D03* -X800000Y738000D03* -X800000Y724000D03* -X800000Y710000D03* -X800000Y696000D03* -X800000Y682000D03* -X800000Y668000D03* -X800000Y654000D03* -X800000Y640000D03* -X800000Y626000D03* -X800000Y612000D03* -X800000Y598000D03* -X800000Y584000D03* -X800000Y570000D03* -X800000Y556000D03* -X800000Y542000D03* -X800000Y528000D03* -X800000Y514000D03* -X800000Y500000D03* -X800000Y486000D03* -X800000Y472000D03* -X800000Y458000D03* -X800000Y444000D03* -X800000Y430000D03* -X800000Y416000D03* -X800000Y402000D03* -X800000Y388000D03* -X800000Y374000D03* -X800000Y360000D03* - -X900000Y850000D03* -X900000Y836000D03* -X900000Y822000D03* -X900000Y808000D03* -X900000Y794000D03* -X900000Y780000D03* -X900000Y766000D03* -X900000Y752000D03* -X900000Y738000D03* -X900000Y724000D03* -X900000Y710000D03* -X900000Y696000D03* -X900000Y682000D03* -X900000Y668000D03* -X900000Y654000D03* -X900000Y640000D03* -X900000Y626000D03* -X900000Y612000D03* -X900000Y598000D03* -X900000Y584000D03* -X900000Y570000D03* -X900000Y556000D03* -X900000Y542000D03* -X900000Y528000D03* -X900000Y514000D03* -X900000Y500000D03* -X900000Y486000D03* -X900000Y472000D03* -X900000Y458000D03* -X900000Y444000D03* -X900000Y430000D03* -X900000Y416000D03* -X900000Y402000D03* -X900000Y388000D03* -X900000Y374000D03* -X900000Y360000D03* - -X200000Y329390D03* -X214000Y329390D03* -X228000Y329390D03* -X242000Y329390D03* -X256000Y329390D03* -X270000Y329390D03* -X284000Y329390D03* -X298000Y329390D03* -X312000Y329390D03* -X325827Y329217D03* -X325827Y315217D03* -X325827Y301217D03* -X325827Y287217D03* -X325827Y273217D03* -X325827Y259217D03* -X325827Y245217D03* -X325827Y231217D03* -X325827Y217217D03* -X325827Y203217D03* -X325827Y189217D03* - -X400000Y0D03* -X386000Y0D03* -X372000Y0D03* -X358000Y0D03* -X344000Y0D03* -X330000Y0D03* -X316000Y0D03* -X302000Y0D03* -X288000Y0D03* -X274000Y0D03* -X260000Y0D03* -X246000Y0D03* -X232000Y0D03* -X218000Y0D03* -X204000Y0D03* -X190000Y0D03* -X176000Y0D03* -X162000Y0D03* -X148000Y0D03* -X134000Y0D03* -X120000Y0D03* -X106000Y0D03* -X92009Y320D03* -X78177Y2410D03* -X64773Y6410D03* -X52057Y12242D03* -X40280Y19790D03* -X29672Y28909D03* -X20440Y39418D03* -X12764Y51113D03* -X6796Y63764D03* -X2652Y77125D03* -X412Y90933D03* -X0Y104920D03* -X0Y118920D03* -X0Y132920D03* -X0Y146920D03* -X0Y160920D03* -X0Y174920D03* -X0Y188920D03* -X0Y202920D03* -X0Y216920D03* -X0Y230920D03* -X0Y244920D03* -X0Y258920D03* -X0Y272920D03* -X0Y286920D03* -X0Y300920D03* -X0Y314920D03* -X0Y328920D03* -X0Y342920D03* -X0Y356920D03* -X0Y370920D03* -X0Y384920D03* -X0Y398920D03* -X834Y412884D03* -X3602Y426596D03* -X8256Y439788D03* -X14706Y452201D03* -X22825Y463592D03* -X32454Y473739D03* -X43404Y482444D03* -X55463Y489534D03* -X68392Y494873D03* -X81940Y498356D03* -X95842Y499914D03* -X109841Y500000D03* -X123841Y500000D03* -X137841Y500000D03* -X151841Y500000D03* -X165841Y500000D03* -X179841Y500000D03* -X193841Y500000D03* -X207841Y500000D03* -X221841Y500000D03* -X235841Y500000D03* -X249841Y500000D03* -X263841Y500000D03* -X277841Y500000D03* -X291841Y500000D03* -X305841Y500000D03* -X319841Y500000D03* -X333841Y500000D03* -X347841Y500000D03* -X361841Y500000D03* -X375841Y500000D03* -X389841Y500000D03* -X403840Y499926D03* -X417746Y498413D03* -X431305Y494974D03* -X444252Y489676D03* -X456333Y482623D03* -X467311Y473954D03* -X476972Y463838D03* -X485127Y452472D03* -X491617Y440080D03* -X496313Y426903D03* -X499125Y413200D03* -X500000Y399239D03* -X500000Y385239D03* -X500000Y371239D03* -X500000Y357239D03* -X500000Y343239D03* -X500000Y329239D03* -X500000Y315239D03* -X500000Y301239D03* -X500000Y287239D03* -X500000Y273239D03* -X500000Y259239D03* -X500000Y245239D03* -X500000Y231239D03* -X500000Y217239D03* -X500000Y203239D03* -X500000Y189239D03* -X500000Y175239D03* -X500000Y161239D03* -X500000Y147239D03* -X500000Y133239D03* -X500000Y119239D03* -X500000Y105239D03* -X499616Y91250D03* -X497421Y77435D03* -X493319Y64061D03* -X487391Y51391D03* -X479753Y39672D03* -X470554Y29133D03* -X459975Y19981D03* -X448222Y12395D03* -X435525Y6523D03* -X422134Y2480D03* -X408309Y346D03* - -X742704Y750394D03* -X742704Y736394D03* -X742704Y722394D03* -X742704Y708394D03* -X742704Y694394D03* -X742704Y680394D03* -X742704Y666394D03* -X742704Y652394D03* -X742704Y638394D03* -X742704Y624394D03* -X742704Y610394D03* -X742704Y596394D03* -X742704Y582394D03* -X742704Y568394D03* -X742704Y554394D03* -X742704Y540394D03* -X742704Y526394D03* -X742704Y512394D03* -X742704Y498394D03* -X742704Y484394D03* -X742704Y470394D03* -X742704Y456394D03* -X742384Y442402D03* -X740294Y428571D03* -X736294Y415167D03* -X730462Y402451D03* -X722914Y390674D03* -X713795Y380066D03* -X703286Y370834D03* -X691591Y363158D03* -X678940Y357190D03* -X665579Y353045D03* -X651771Y350806D03* -X637784Y350394D03* -X623784Y350394D03* -X609784Y350394D03* -X595784Y350394D03* -X581784Y350394D03* -X567784Y350394D03* -X553784Y350394D03* -X539784Y350394D03* -X525784Y350394D03* -X511784Y350394D03* -X497784Y350394D03* -X483784Y350394D03* -X469784Y350394D03* -X455784Y350394D03* -X441784Y350394D03* -X427784Y350394D03* -X413784Y350394D03* -X399784Y350394D03* -X385784Y350394D03* -X371784Y350394D03* -X357784Y350394D03* -X343784Y350394D03* -X329820Y351227D03* -X316108Y353996D03* -X302916Y358650D03* -X290503Y365100D03* -X279112Y373219D03* -X268965Y382848D03* -X260261Y393798D03* -X253170Y405856D03* -X247831Y418786D03* -X244348Y432334D03* -X242791Y446236D03* -X242704Y460235D03* -X242704Y474235D03* -X242704Y488235D03* -X242704Y502235D03* -X242704Y516235D03* -X242704Y530235D03* -X242704Y544235D03* -X242704Y558235D03* -X242704Y572235D03* -X242704Y586235D03* -X242704Y600235D03* -X242704Y614235D03* -X242704Y628235D03* -X242704Y642235D03* -X242704Y656235D03* -X242704Y670235D03* -X242704Y684235D03* -X242704Y698235D03* -X242704Y712235D03* -X242704Y726235D03* -X242704Y740235D03* -X242778Y754234D03* -X244291Y768140D03* -X247731Y781699D03* -X253028Y794646D03* -X260081Y806727D03* -X268750Y817705D03* -X278866Y827366D03* -X290232Y835521D03* -X302624Y842011D03* -X315801Y846707D03* -X329504Y849519D03* -X343465Y850394D03* -X357465Y850394D03* -X371465Y850394D03* -X385465Y850394D03* -X399465Y850394D03* -X413465Y850394D03* -X427465Y850394D03* -X441465Y850394D03* -X455465Y850394D03* -X469465Y850394D03* -X483465Y850394D03* -X497465Y850394D03* -X511465Y850394D03* -X525465Y850394D03* -X539465Y850394D03* -X553465Y850394D03* -X567465Y850394D03* -X581465Y850394D03* -X595465Y850394D03* -X609465Y850394D03* -X623465Y850394D03* -X637465Y850394D03* -X651454Y850010D03* -X665269Y847815D03* -X678643Y843713D03* -X691313Y837785D03* -X703032Y830147D03* -X713571Y820948D03* -X722723Y810369D03* -X730309Y798616D03* -X736181Y785919D03* -X740224Y772528D03* -X742358Y758703D03* - -X382038Y422062D03* -X368038Y422062D03* -X354038Y422062D03* -X340038Y422062D03* -X326038Y422062D03* -X312038Y422062D03* -X298038Y422062D03* -X284038Y422062D03* -X270038Y422062D03* -X256038Y422062D03* -X242038Y422062D03* -X228038Y422062D03* -X214038Y422062D03* -X200038Y422062D03* -X186038Y422062D03* -X172038Y422062D03* -X158038Y422062D03* -X144038Y422062D03* -X134512Y417588D03* -X134512Y403588D03* -X134512Y389588D03* -X134512Y375588D03* -X134512Y361588D03* -X134512Y347588D03* -X134512Y333588D03* -X134512Y319588D03* -X134512Y305588D03* -X134512Y291588D03* -X134512Y277588D03* -X134512Y263588D03* -X134512Y249588D03* -X134512Y235588D03* -X134512Y221588D03* -X134512Y207588D03* -X134512Y193588D03* -X134512Y179588D03* -X134512Y165588D03* -X134512Y151588D03* -X134512Y137588D03* -X146884Y135960D03* -X160884Y135960D03* -X174884Y135960D03* -X188884Y135960D03* -X202884Y135960D03* -X216884Y135960D03* -X230884Y135960D03* -X244884Y135960D03* -X258884Y135960D03* -X272884Y135960D03* -X286884Y135960D03* -X300884Y135960D03* -X314884Y135960D03* -X328884Y135960D03* -X342884Y135960D03* -X356884Y135960D03* -X370884Y135960D03* -X382038Y138807D03* -X382038Y152807D03* -X382038Y166807D03* -X382038Y180807D03* -X382038Y194807D03* -X382038Y208807D03* -X382038Y222807D03* -X382038Y236807D03* -X382038Y250807D03* -X382038Y264807D03* -X382038Y278807D03* -X382038Y292807D03* -X382038Y306807D03* -X382038Y320807D03* -X382038Y334807D03* -X382038Y348807D03* -X382038Y362807D03* -X382038Y376807D03* -X382038Y390807D03* -X382038Y404807D03* -X382038Y418807D03* - -X927009Y126316D03* -X926228Y140287D03* -X923897Y154085D03* -X920044Y167536D03* -X914717Y180475D03* -X907982Y192741D03* -X899924Y204180D03* -X890641Y214651D03* -X880251Y224022D03* -X868881Y232179D03* -X856674Y239019D03* -X843781Y244457D03* -X830363Y248425D03* -X816586Y250874D03* -X802622Y251774D03* -X788645Y251114D03* -X774828Y248901D03* -X761344Y245164D03* -X748360Y239948D03* -X736037Y233319D03* -X724529Y225358D03* -X713979Y216166D03* -X704519Y205856D03* -X696265Y194557D03* -X689321Y182409D03* -X683773Y169563D03* -X679689Y156179D03* -X677122Y142424D03* -X676102Y128469D03* -X676642Y114486D03* -X678737Y100651D03* -X682358Y87135D03* -X687463Y74107D03* -X693986Y61728D03* -X701847Y50152D03* -X710949Y39524D03* -X721177Y29975D03* -X732405Y21625D03* -X744493Y14576D03* -X757291Y8918D03* -X770639Y4720D03* -X784372Y2035D03* -X798318Y895D03* -X812304Y1316D03* -X826157Y3291D03* -X839703Y6797D03* -X852775Y11789D03* -X865210Y18206D03* -X876852Y25968D03* -X887558Y34978D03* -X897195Y45124D03* -X905641Y56280D03* -X912793Y68307D03* -X918560Y81056D03* -X922873Y94367D03* -X925676Y108077D03* -X926935Y122013D03* - -X602773Y650000D03* -X601821Y663957D03* -X598982Y677655D03* -X594309Y690841D03* -X587889Y703270D03* -X579841Y714712D03* -X570313Y724955D03* -X559483Y733809D03* -X547550Y741111D03* -X534737Y746724D03* -X521280Y750545D03* -X507428Y752504D03* -X493439Y752563D03* -X479572Y750722D03* -X466083Y747015D03* -X453222Y741510D03* -X441228Y734310D03* -X430323Y725547D03* -X420709Y715385D03* -X412565Y704012D03* -X406040Y691637D03* -X401256Y678491D03* -X398301Y664818D03* -X397231Y650870D03* -X398065Y636905D03* -X400788Y623184D03* -X405348Y609959D03* -X411663Y597476D03* -X419614Y585966D03* -X429055Y575643D03* -X439810Y566697D03* -X451680Y559295D03* -X464446Y553573D03* -X477870Y549638D03* -X491705Y547563D03* -X505693Y547385D03* -X519575Y549109D03* -X533095Y552702D03* -X546002Y558098D03* -X558056Y565196D03* -X569035Y573866D03* -X578734Y583946D03* -X586975Y595251D03* -X593605Y607569D03* -X598500Y620674D03* -X601570Y634322D03* -X602758Y648261D03* - -X500000Y650000D03* -X500000Y664000D03* -X500000Y678000D03* -X500000Y692000D03* -X500000Y706000D03* -X494599Y714366D03* -X480883Y711699D03* -X468062Y706144D03* -X456736Y697962D03* -X447434Y687536D03* -X440591Y675353D03* -X436529Y661984D03* -X435437Y648054D03* -X437366Y634216D03* -X442226Y621115D03* -X449789Y609367D03* -X459702Y599520D03* -X471501Y592035D03* -X484633Y587262D03* -X498484Y585425D03* -X512407Y586610D03* -X525748Y590761D03* -X537885Y597685D03* -X548249Y607056D03* -X556356Y618437D03* -X561825Y631294D03* -X551844Y636823D03* -X538276Y640271D03* -X524707Y643720D03* -X511139Y647169D03* - -M02* diff --git a/tests/expects/dxf_save_mousebites.txt b/tests/expects/dxf_save_mousebites.txt deleted file mode 100644 index 4a64514..0000000 --- a/tests/expects/dxf_save_mousebites.txt +++ /dev/null @@ -1,584 +0,0 @@ -M48 -FMAT,2 -ICI,OFF -METRIC,TZ,000.000 -T01C0.500 -% -G90 -M71 -T01 -X80000Y85000 -X80000Y83600 -X80000Y82200 -X80000Y80800 -X80000Y79400 -X80000Y78000 -X80000Y76600 -X80000Y75200 -X80000Y73800 -X80000Y72400 -X80000Y71000 -X80000Y69600 -X80000Y68200 -X80000Y66800 -X80000Y65400 -X80000Y64000 -X80000Y62600 -X80000Y61200 -X80000Y59800 -X80000Y58400 -X80000Y57000 -X80000Y55600 -X80000Y54200 -X80000Y52800 -X80000Y51400 -X80000Y50000 -X80000Y48600 -X80000Y47200 -X80000Y45800 -X80000Y44400 -X80000Y43000 -X80000Y41600 -X80000Y40200 -X80000Y38800 -X80000Y37400 -X80000Y36000 - -X90000Y85000 -X90000Y83600 -X90000Y82200 -X90000Y80800 -X90000Y79400 -X90000Y78000 -X90000Y76600 -X90000Y75200 -X90000Y73800 -X90000Y72400 -X90000Y71000 -X90000Y69600 -X90000Y68200 -X90000Y66800 -X90000Y65400 -X90000Y64000 -X90000Y62600 -X90000Y61200 -X90000Y59800 -X90000Y58400 -X90000Y57000 -X90000Y55600 -X90000Y54200 -X90000Y52800 -X90000Y51400 -X90000Y50000 -X90000Y48600 -X90000Y47200 -X90000Y45800 -X90000Y44400 -X90000Y43000 -X90000Y41600 -X90000Y40200 -X90000Y38800 -X90000Y37400 -X90000Y36000 - -X20000Y32939 -X21400Y32939 -X22800Y32939 -X24200Y32939 -X25600Y32939 -X27000Y32939 -X28400Y32939 -X29800Y32939 -X31200Y32939 -X32583Y32922 -X32583Y31522 -X32583Y30122 -X32583Y28722 -X32583Y27322 -X32583Y25922 -X32583Y24522 -X32583Y23122 -X32583Y21722 -X32583Y20322 -X32583Y18922 - -X40000Y0 -X38600Y0 -X37200Y0 -X35800Y0 -X34400Y0 -X33000Y0 -X31600Y0 -X30200Y0 -X28800Y0 -X27400Y0 -X26000Y0 -X24600Y0 -X23200Y0 -X21800Y0 -X20400Y0 -X19000Y0 -X17600Y0 -X16200Y0 -X14800Y0 -X13400Y0 -X12000Y0 -X10600Y0 -X9201Y32 -X7818Y241 -X6477Y641 -X5206Y1224 -X4028Y1979 -X2967Y2891 -X2044Y3942 -X1276Y5111 -X680Y6376 -X265Y7712 -X41Y9093 -X0Y10492 -X0Y11892 -X0Y13292 -X0Y14692 -X0Y16092 -X0Y17492 -X0Y18892 -X0Y20292 -X0Y21692 -X0Y23092 -X0Y24492 -X0Y25892 -X0Y27292 -X0Y28692 -X0Y30092 -X0Y31492 -X0Y32892 -X0Y34292 -X0Y35692 -X0Y37092 -X0Y38492 -X0Y39892 -X83Y41288 -X360Y42660 -X826Y43979 -X1471Y45220 -X2282Y46359 -X3245Y47374 -X4340Y48244 -X5546Y48953 -X6839Y49487 -X8194Y49836 -X9584Y49991 -X10984Y50000 -X12384Y50000 -X13784Y50000 -X15184Y50000 -X16584Y50000 -X17984Y50000 -X19384Y50000 -X20784Y50000 -X22184Y50000 -X23584Y50000 -X24984Y50000 -X26384Y50000 -X27784Y50000 -X29184Y50000 -X30584Y50000 -X31984Y50000 -X33384Y50000 -X34784Y50000 -X36184Y50000 -X37584Y50000 -X38984Y50000 -X40384Y49993 -X41775Y49841 -X43131Y49497 -X44425Y48968 -X45633Y48262 -X46731Y47395 -X47697Y46384 -X48513Y45247 -X49162Y44008 -X49631Y42690 -X49912Y41320 -X50000Y39924 -X50000Y38524 -X50000Y37124 -X50000Y35724 -X50000Y34324 -X50000Y32924 -X50000Y31524 -X50000Y30124 -X50000Y28724 -X50000Y27324 -X50000Y25924 -X50000Y24524 -X50000Y23124 -X50000Y21724 -X50000Y20324 -X50000Y18924 -X50000Y17524 -X50000Y16124 -X50000Y14724 -X50000Y13324 -X50000Y11924 -X50000Y10524 -X49962Y9125 -X49742Y7743 -X49332Y6406 -X48739Y5139 -X47975Y3967 -X47055Y2913 -X45997Y1998 -X44822Y1239 -X43553Y652 -X42213Y248 -X40831Y35 - -X74270Y75039 -X74270Y73639 -X74270Y72239 -X74270Y70839 -X74270Y69439 -X74270Y68039 -X74270Y66639 -X74270Y65239 -X74270Y63839 -X74270Y62439 -X74270Y61039 -X74270Y59639 -X74270Y58239 -X74270Y56839 -X74270Y55439 -X74270Y54039 -X74270Y52639 -X74270Y51239 -X74270Y49839 -X74270Y48439 -X74270Y47039 -X74270Y45639 -X74238Y44240 -X74029Y42857 -X73629Y41517 -X73046Y40245 -X72291Y39067 -X71380Y38007 -X70329Y37083 -X69159Y36316 -X67894Y35719 -X66558Y35305 -X65177Y35081 -X63778Y35039 -X62378Y35039 -X60978Y35039 -X59578Y35039 -X58178Y35039 -X56778Y35039 -X55378Y35039 -X53978Y35039 -X52578Y35039 -X51178Y35039 -X49778Y35039 -X48378Y35039 -X46978Y35039 -X45578Y35039 -X44178Y35039 -X42778Y35039 -X41378Y35039 -X39978Y35039 -X38578Y35039 -X37178Y35039 -X35778Y35039 -X34378Y35039 -X32982Y35123 -X31611Y35400 -X30292Y35865 -X29050Y36510 -X27911Y37322 -X26896Y38285 -X26026Y39380 -X25317Y40586 -X24783Y41879 -X24435Y43233 -X24279Y44624 -X24270Y46023 -X24270Y47423 -X24270Y48823 -X24270Y50223 -X24270Y51623 -X24270Y53023 -X24270Y54423 -X24270Y55823 -X24270Y57223 -X24270Y58623 -X24270Y60023 -X24270Y61423 -X24270Y62823 -X24270Y64223 -X24270Y65623 -X24270Y67023 -X24270Y68423 -X24270Y69823 -X24270Y71223 -X24270Y72623 -X24270Y74023 -X24278Y75423 -X24429Y76814 -X24773Y78170 -X25303Y79465 -X26008Y80673 -X26875Y81771 -X27887Y82737 -X29023Y83552 -X30262Y84201 -X31580Y84671 -X32950Y84952 -X34347Y85039 -X35747Y85039 -X37147Y85039 -X38547Y85039 -X39947Y85039 -X41347Y85039 -X42747Y85039 -X44147Y85039 -X45547Y85039 -X46947Y85039 -X48347Y85039 -X49747Y85039 -X51147Y85039 -X52547Y85039 -X53947Y85039 -X55347Y85039 -X56747Y85039 -X58147Y85039 -X59547Y85039 -X60947Y85039 -X62347Y85039 -X63747Y85039 -X65145Y85001 -X66527Y84781 -X67864Y84371 -X69131Y83778 -X70303Y83015 -X71357Y82095 -X72272Y81037 -X73031Y79862 -X73618Y78592 -X74022Y77253 -X74236Y75870 - -X38204Y42206 -X36804Y42206 -X35404Y42206 -X34004Y42206 -X32604Y42206 -X31204Y42206 -X29804Y42206 -X28404Y42206 -X27004Y42206 -X25604Y42206 -X24204Y42206 -X22804Y42206 -X21404Y42206 -X20004Y42206 -X18604Y42206 -X17204Y42206 -X15804Y42206 -X14404Y42206 -X13451Y41759 -X13451Y40359 -X13451Y38959 -X13451Y37559 -X13451Y36159 -X13451Y34759 -X13451Y33359 -X13451Y31959 -X13451Y30559 -X13451Y29159 -X13451Y27759 -X13451Y26359 -X13451Y24959 -X13451Y23559 -X13451Y22159 -X13451Y20759 -X13451Y19359 -X13451Y17959 -X13451Y16559 -X13451Y15159 -X13451Y13759 -X14688Y13596 -X16088Y13596 -X17488Y13596 -X18888Y13596 -X20288Y13596 -X21688Y13596 -X23088Y13596 -X24488Y13596 -X25888Y13596 -X27288Y13596 -X28688Y13596 -X30088Y13596 -X31488Y13596 -X32888Y13596 -X34288Y13596 -X35688Y13596 -X37088Y13596 -X38204Y13881 -X38204Y15281 -X38204Y16681 -X38204Y18081 -X38204Y19481 -X38204Y20881 -X38204Y22281 -X38204Y23681 -X38204Y25081 -X38204Y26481 -X38204Y27881 -X38204Y29281 -X38204Y30681 -X38204Y32081 -X38204Y33481 -X38204Y34881 -X38204Y36281 -X38204Y37681 -X38204Y39081 -X38204Y40481 -X38204Y41881 - -X92701Y12632 -X92623Y14029 -X92390Y15408 -X92004Y16754 -X91472Y18048 -X90798Y19274 -X89992Y20418 -X89064Y21465 -X88025Y22402 -X86888Y23218 -X85667Y23902 -X84378Y24446 -X83036Y24842 -X81659Y25087 -X80262Y25177 -X78865Y25111 -X77483Y24890 -X76134Y24516 -X74836Y23995 -X73604Y23332 -X72453Y22536 -X71398Y21617 -X70452Y20586 -X69626Y19456 -X68932Y18241 -X68377Y16956 -X67969Y15618 -X67712Y14242 -X67610Y12847 -X67664Y11449 -X67874Y10065 -X68236Y8714 -X68746Y7411 -X69399Y6173 -X70185Y5015 -X71095Y3952 -X72118Y2997 -X73241Y2162 -X74449Y1458 -X75729Y892 -X77064Y472 -X78437Y203 -X79832Y90 -X81230Y132 -X82616Y329 -X83970Y680 -X85278Y1179 -X86521Y1821 -X87685Y2597 -X88756Y3498 -X89719Y4512 -X90564Y5628 -X91279Y6831 -X91856Y8106 -X92287Y9437 -X92568Y10808 -X92693Y12201 - -X60277Y65000 -X60182Y66396 -X59898Y67765 -X59431Y69084 -X58789Y70327 -X57984Y71471 -X57031Y72495 -X55948Y73381 -X54755Y74111 -X53474Y74672 -X52128Y75055 -X50743Y75250 -X49344Y75256 -X47957Y75072 -X46608Y74701 -X45322Y74151 -X44123Y73431 -X43032Y72555 -X42071Y71539 -X41256Y70401 -X40604Y69164 -X40126Y67849 -X39830Y66482 -X39723Y65087 -X39807Y63691 -X40079Y62318 -X40535Y60996 -X41166Y59748 -X41961Y58597 -X42905Y57564 -X43981Y56670 -X45168Y55929 -X46445Y55357 -X47787Y54964 -X49170Y54756 -X50569Y54739 -X51958Y54911 -X53310Y55270 -X54600Y55810 -X55806Y56520 -X56903Y57387 -X57873Y58395 -X58698Y59525 -X59360Y60757 -X59850Y62067 -X60157Y63432 -X60276Y64826 - -X50000Y65000 -X50000Y66400 -X50000Y67800 -X50000Y69200 -X50000Y70600 -X49460Y71437 -X48088Y71170 -X46806Y70614 -X45674Y69796 -X44743Y68754 -X44059Y67535 -X43653Y66198 -X43544Y64805 -X43737Y63422 -X44223Y62112 -X44979Y60937 -X45970Y59952 -X47150Y59203 -X48463Y58726 -X49848Y58543 -X51241Y58661 -X52575Y59076 -X53789Y59768 -X54825Y60706 -X55636Y61844 -X56182Y63129 -X55184Y63682 -X53828Y64027 -X52471Y64372 -X51114Y64717 - -M30 diff --git a/tests/expects/dxf_to_inch.gtl b/tests/expects/dxf_to_inch.gtl deleted file mode 100644 index f838214..0000000 --- a/tests/expects/dxf_to_inch.gtl +++ /dev/null @@ -1,93 +0,0 @@ -%MOIN*% -%FSLAX25Y25*% -%IPPOS*% -%ADD10C,0*% -G75* -%LPD*% -D10* -G01* -X314961Y334646D02* -G75* -G01* -X314961Y137795D01* -G01* -X354331Y334646D02* -G75* -G01* -X354331Y137795D01* -G01* -X78740Y129681D02* -G75* -G01* -X128278Y129681D01* -G01* -X128278Y70253D01* -G01* -X157480Y0D02* -G75* -G01* -X39370Y0D01* -G02* -X0Y39370I0J39370D01* -G01* -X0Y157480D01* -G02* -X39370Y196850I39370J0D01* -G01* -X157480Y196850D01* -G02* -X196850Y157480I0J-39370D01* -G01* -X196850Y39370D01* -G02* -X157480Y0I-39370J0D01* -G01* -X292403Y295431D02* -G75* -G01* -X292403Y177320D01* -G02* -X253033Y137950I-39370J0D01* -G01* -X134923Y137950D01* -G02* -X95553Y177320I0J39370D01* -G01* -X95553Y295431D01* -G02* -X134923Y334801I39370J0D01* -G01* -X253033Y334801D01* -G02* -X292403Y295431I0J-39370D01* -G01* -X150409Y166166D02* -G75* -G01* -X52957Y166166D01* -G01* -X52957Y53528D01* -G01* -X150409Y53528D01* -G01* -X150409Y166166D01* -G01* -X364964Y49731D02* -G75* -G03* -X364964Y49731I-49395J0D01* -G01* -X237312Y255906D02* -G75* -G03* -X237312Y255906I-40462J0D01* -G01* -X196850Y255906D02* -G75* -G01* -X196850Y281336D01* -G03* -X221497Y249641I0J-25430D01* -G01* -X196850Y255906D01* -M02* diff --git a/tests/expects/excellon_offset.txt b/tests/expects/excellon_offset.txt deleted file mode 100644 index 9a0b430..0000000 --- a/tests/expects/excellon_offset.txt +++ /dev/null @@ -1,41 +0,0 @@ -M48 -FMAT,2 -ICI,OFF -METRIC,TZ,000.000 -T01C0.600 -T02C0.700 -T03C0.800 -T04C1.000 -% -G90 -M71 -T01 -X15610Y7438 -X15610Y8413 -X14610Y11100G85X13100Y11100 -T02 -X14610Y8900 -X14610Y6950 -X13140Y6950 -X13050Y8900 -T03 -G00X14610Y7925 -M15 -G01X13140Y7925 -M16 -G05 -X14600Y12100 -T04 -G00X11600Y6700 -M15 -G02X12600Y5700I0J-1000 -G03X13600Y4700A1000 -G03X14600Y5700A1000 -G01X17600Y5700 -G01X17600Y7600 -G03X15100Y10100I-2500J0 -G01X11600Y10100 -G01X11600Y6700 -M16 -G05 -M30 diff --git a/tests/expects/excellon_rotate.txt b/tests/expects/excellon_rotate.txt deleted file mode 100644 index f33dcfd..0000000 --- a/tests/expects/excellon_rotate.txt +++ /dev/null @@ -1,41 +0,0 @@ -M48 -FMAT,2 -ICI,OFF -METRIC,TZ,000.000 -T01C0.600 -T02C0.700 -T03C0.800 -T04C1.000 -% -G90 -M71 -T01 -X7521Y1051 -X7188Y1967 -X5329Y4150G85X3910Y3633 -T02 -X6082Y2082 -X6749Y250 -X5367Y-253 -X4616Y1549 -T03 -G00X6415Y1166 -M15 -G01X5034Y663 -M16 -G05 -X4978Y5086 -T04 -G00X4006Y-1014 -M15 -G02X5287Y-1612I342J-940 -G03X6569Y-2210A1000 -G03X7167Y-928A1000 -G01X9986Y98 -G01X9336Y1883 -G03X6132Y3378I-2349J-855 -G01X2843Y2181 -G01X4006Y-1014 -M16 -G05 -M30 diff --git a/tests/expects/excellon_save.txt b/tests/expects/excellon_save.txt deleted file mode 100644 index 18fdcc4..0000000 --- a/tests/expects/excellon_save.txt +++ /dev/null @@ -1,41 +0,0 @@ -M48 -FMAT,2 -ICI,OFF -METRIC,TZ,000.000 -T01C0.600 -T02C0.700 -T03C0.800 -T04C1.000 -% -G90 -M71 -T01 -X4610Y2438 -X4610Y3413 -X3610Y6100G85X2100Y6100 -T02 -X3610Y3900 -X3610Y1950 -X2140Y1950 -X2050Y3900 -T03 -G00X3610Y2925 -M15 -G01X2140Y2925 -M16 -G05 -X3600Y7100 -T04 -G00X600Y1700 -M15 -G02X1600Y700I0J-1000 -G03X2600Y-300A1000 -G03X3600Y700A1000 -G01X6600Y700 -G01X6600Y2600 -G03X4100Y5100I-2500J0 -G01X600Y5100 -G01X600Y1700 -M16 -G05 -M30 diff --git a/tests/expects/excellon_to_inch.txt b/tests/expects/excellon_to_inch.txt deleted file mode 100644 index 6af5494..0000000 --- a/tests/expects/excellon_to_inch.txt +++ /dev/null @@ -1,41 +0,0 @@ -M48 -FMAT,2 -ICI,OFF -INCH,TZ -T01C0.0236 -T02C0.0275 -T03C0.0314 -T04C0.0393 -% -G90 -M72 -T01 -X1815Y960 -X1815Y1344 -X1421Y2402G85X827Y2402 -T02 -X1421Y1535 -X1421Y768 -X843Y768 -X807Y1535 -T03 -G00X1421Y1152 -M15 -G01X843Y1152 -M16 -G05 -X1417Y2795 -T04 -G00X236Y669 -M15 -G02X630Y276I0J-394 -G03X1024Y-118A394 -G03X1417Y276A394 -G01X2598Y276 -G01X2598Y1024 -G03X1614Y2008I-984J0 -G01X236Y2008 -G01X236Y669 -M16 -G05 -M30 diff --git a/tests/expects/excellon_to_metric.txt b/tests/expects/excellon_to_metric.txt deleted file mode 100644 index 20f698e..0000000 --- a/tests/expects/excellon_to_metric.txt +++ /dev/null @@ -1,41 +0,0 @@ -M48 -FMAT,2 -ICI,OFF -METRIC,TZ,000.000 -T01C0.599 -T02C0.698 -T03C0.797 -T04C0.998 -% -G90 -M71 -T01 -X4610Y2438 -X4610Y3414 -X3609Y6101G85X2101Y6101 -T02 -X3609Y3899 -X3609Y1951 -X2141Y1951 -X2050Y3899 -T03 -G00X3609Y2926 -M15 -G01X2141Y2926 -M16 -G05 -X3599Y7099 -T04 -G00X599Y1699 -M15 -G02X1600Y701I0J-1001 -G03X2601Y-300A1001 -G03X3599Y701A1001 -G01X6599Y701 -G01X6599Y2601 -G03X4100Y5100I-2499J0 -G01X599Y5100 -G01X599Y1699 -M16 -G05 -M30 diff --git a/tests/test_am_expression.py b/tests/test_am_expression.py deleted file mode 100644 index cf30ab7..0000000 --- a/tests/test_am_expression.py +++ /dev/null @@ -1,208 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -# Copyright 2019 Hiroshi Murayama - -import unittest -from gerbonara.gerber.panelize.am_expression import * -from gerbonara.gerber.panelize.am_expression import AMOperatorExpression as Op -from gerbonara.gerber.utils import inch, metric -from gerbonara.gerber.am_read import read_macro - -class TestAMConstantExpression(unittest.TestCase): - def setUp(self): - self.const_int_value = 7 - self.const_int = AMConstantExpression(self.const_int_value) - self.const_float_value = 1.2345 - self.const_float = AMConstantExpression(self.const_float_value) - - def test_contruct(self): - self.assertEqual(self.const_int.value, self.const_int_value) - self.assertEqual(self.const_float.value, self.const_float_value) - - def test_optimize(self): - ov = self.const_int.optimize() - self.assertEqual(ov.value, self.const_int_value) - ov = self.const_float.optimize() - self.assertEqual(ov.value, self.const_float_value) - - def test_to_gerber(self): - self.assertEqual(self.const_int.to_gerber(), '7') - self.assertEqual(self.const_float.to_gerber(), '1.2345') - - def test_to_instructions(self): - self.const_int.to_instructions() - self.const_float.to_instructions() - -class TestAMVariableExpression(unittest.TestCase): - def setUp(self): - self.var1_num = 1 - self.var1 = AMVariableExpression(self.var1_num) - self.var2_num = 512 - self.var2 = AMVariableExpression(self.var2_num) - - def test_construction(self): - self.assertEqual(self.var1.number, self.var1_num) - self.assertEqual(self.var2.number, self.var2_num) - - def test_optimize(self): - ov = self.var1.optimize() - self.assertTrue(isinstance(ov, AMVariableExpression)) - self.assertEqual(ov.number, self.var1_num) - ov = self.var2.optimize() - self.assertTrue(isinstance(ov, AMVariableExpression)) - self.assertEqual(ov.number, self.var2_num) - - def test_to_gerber(self): - self.assertEqual(self.var1.to_gerber(), '$1') - self.assertEqual(self.var2.to_gerber(), '$512') - - def test_to_instructions(self): - self.var1.to_instructions() - self.var2.to_instructions() - -class TestAMOperatorExpression(unittest.TestCase): - def setUp(self): - self.c1 = 10 - self.c2 = 20 - self.v1 = 5 - self.v2 = 9 - c1 = AMConstantExpression(self.c1) - c2 = AMConstantExpression(self.c2) - v1 = AMVariableExpression(self.v1) - v2 = AMVariableExpression(self.v2) - - self.cc_exps = [ - (Op.ADD, AMOperatorExpression(Op.ADD, c1, c2)), - (Op.SUB, AMOperatorExpression(Op.SUB, c1, c2)), - (Op.MUL, AMOperatorExpression(Op.MUL, c1, c2)), - (Op.DIV, AMOperatorExpression(Op.DIV, c1, c2)), - ] - - self.cv_exps = [ - (Op.ADD, AMOperatorExpression(Op.ADD, c1, v2)), - (Op.SUB, AMOperatorExpression(Op.SUB, c1, v2)), - (Op.MUL, AMOperatorExpression(Op.MUL, c1, v2)), - (Op.DIV, AMOperatorExpression(Op.DIV, c1, v2)), - ] - self.vc_exps = [ - (Op.ADD, AMOperatorExpression(Op.ADD, v1, c2)), - (Op.SUB, AMOperatorExpression(Op.SUB, v1, c2)), - (Op.MUL, AMOperatorExpression(Op.MUL, v1, c2)), - (Op.DIV, AMOperatorExpression(Op.DIV, v1, c2)), - ] - - self.composition = AMOperatorExpression(Op.ADD, - self.cc_exps[0][1], self.cc_exps[0][1]) - - def test_optimize(self): - self.assertEqual(self.cc_exps[0][1].optimize().value, self.c1 + self.c2) - self.assertEqual(self.cc_exps[1][1].optimize().value, self.c1 - self.c2) - self.assertEqual(self.cc_exps[2][1].optimize().value, self.c1 * self.c2) - self.assertEqual(self.cc_exps[3][1].optimize().value, self.c1 / self.c2) - - for op, expression in self.cv_exps: - o = expression.optimize() - self.assertTrue(isinstance(o, AMOperatorExpression)) - self.assertEqual(o.op, op) - self.assertEqual(o.lvalue.value, self.c1) - self.assertEqual(o.rvalue.number, self.v2) - - for op, expression in self.vc_exps: - o = expression.optimize() - self.assertTrue(isinstance(o, AMOperatorExpression)) - self.assertEqual(o.op, op) - self.assertEqual(o.lvalue.number, self.v1) - self.assertEqual(o.rvalue.value, self.c2) - - self.assertEqual(self.composition.optimize().value, (self.c1 + self.c2) * 2) - - def test_to_gerber(self): - for op, expression in self.cc_exps: - self.assertEqual(expression.to_gerber(), - '({0}){1}({2})'.format(self.c1, op, self.c2)) - for op, expression in self.cv_exps: - self.assertEqual(expression.to_gerber(), - '({0}){1}(${2})'.format(self.c1, op, self.v2)) - for op, expression in self.vc_exps: - self.assertEqual(expression.to_gerber(), - '(${0}){1}({2})'.format(self.v1, op, self.c2)) - self.assertEqual(self.composition.to_gerber(), - '(({0})+({1}))+(({2})+({3}))'.format( - self.c1, self.c2, self.c1, self.c2 - )) - - def test_to_instructions(self): - for of, expression in self.vc_exps + self.cv_exps + self.cc_exps: - expression.to_instructions() - self.composition.to_instructions() - -class TestAMExpression(unittest.TestCase): - def setUp(self): - self.c1 = 10 - self.c1_exp = AMConstantExpression(self.c1) - self.v1 = 5 - self.v1_exp = AMVariableExpression(self.v1) - self.op_exp = AMOperatorExpression(Op.ADD, self.c1_exp, self.v1_exp) - - def test_to_inch(self): - o = self.c1_exp.to_inch().optimize() - self.assertEqual(o.value, inch(self.c1)) - o = self.v1_exp.to_inch().optimize() - self.assertTrue(isinstance(o, AMOperatorExpression)) - self.assertEqual(o.op, Op.DIV) - o = self.op_exp.to_inch().optimize() - self.assertTrue(isinstance(o, AMOperatorExpression)) - self.assertEqual(o.op, Op.DIV) - - def test_to_metric(self): - o = self.c1_exp.to_metric().optimize() - self.assertEqual(o.value, metric(self.c1)) - o = self.v1_exp.to_metric().optimize() - self.assertTrue(isinstance(o, AMOperatorExpression)) - self.assertEqual(o.op, Op.MUL) - o = self.op_exp.to_metric().optimize() - self.assertTrue(isinstance(o, AMOperatorExpression)) - self.assertEqual(o.op, Op.MUL) - -class TestEvalMacro(unittest.TestCase): - def test_eval_macro(self): - macros = [ - '$1=5.5*', - '$1=0.000001*' - '$2=$3*', - '$3=(1.23)+(4.56)*', - '$3=(1.23)-(4.56)*', - '$3=(1.23)X(4.56)*', - '$3=(1.23)/(4.56)*', - '$3=(10.2)X($2)*', - '1,1.2*', - '1,$2*', - '1,($2)+($3)*', - #'1,(2.0)-($3)*', # This doesn't pass due to pcb-tools bug - '1,($2)X($3)*', - '1,($2)/($3)*', - '1,2.1,3.2*2,(3.1)/($1),$2*' - ] - for macro in macros: - self._eval_macro_string(macro) - - def _eval_macro_string(self, macro): - expressions = eval_macro(read_macro(macro)) - gerber = self._to_gerber(expressions) - self.assertEqual(macro, gerber) - - def _to_gerber(self, expressions_list): - gerber = '' - for number, expressions in expressions_list: - self.assertTrue(isinstance(number, int)) - if number > 0: - egerbers = [exp.to_gerber() for exp in expressions] - gerber += '{0},{1}*'.format(number, ','.join(egerbers)) - else: - self.assertEqual(len(expressions), 1) - gerber += '${0}={1}*'.format(-number, expressions[0].to_gerber()) - return gerber - -if __name__ == '__main__': - unittest.main() diff --git a/tests/test_dxf.py b/tests/test_dxf.py deleted file mode 100644 index e138320..0000000 --- a/tests/test_dxf.py +++ /dev/null @@ -1,153 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -# Copyright 2019 Hiroshi Murayama - -import os -import unittest -from gerbonara.gerber import panelize -from gerbonara.gerber.utils import inch, metric - - -class TestExcellon(unittest.TestCase): - @classmethod - def setUpClass(cls): - os.chdir(os.path.dirname(__file__)) - cls.INDIR = 'data' - cls.OUTDIR = 'outputs' - cls.EXPECTSDIR = 'expects' - cls.OUTPREFIX = 'dxf_' - cls.METRIC_FILE = os.path.join(cls.INDIR, 'ref_dxf_metric.dxf') - cls.INCH_FILE = os.path.join(cls.INDIR, 'ref_dxf_inch.dxf') - cls.COMPLEX_FILE = os.path.join(cls.INDIR, 'ref_dxf_complex.dxf') - try: - os.mkdir(cls.OUTDIR) - except FileExistsError: - pass - - def _checkResult(self, file): - with open(file, 'r') as f: - data = f.read() - with open(os.path.join(self.EXPECTSDIR, os.path.basename(file)), 'r') as f: - expect = f.read() - self.assertEqual(data, expect) - - def test_save_line(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'save_line.gtl') - dxf = panelize.read(self.METRIC_FILE) - dxf.draw_mode = dxf.DM_LINE - dxf.width = 0.2 - dxf.write(outfile) - self._checkResult(outfile) - - def test_save_fill(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'save_fill.gtl') - dxf = panelize.read(self.METRIC_FILE) - dxf.draw_mode = dxf.DM_FILL - dxf.write(outfile) - self._checkResult(outfile) - - def test_save_fill_simple(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'save_fill_simple.gtl') - dxf = panelize.read(self.METRIC_FILE) - dxf.draw_mode = dxf.DM_FILL - dxf.fill_mode = dxf.FM_SIMPLE - dxf.write(outfile) - self._checkResult(outfile) - - def test_save_mousebites(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'save_mousebites.gtl') - dxf = panelize.read(self.METRIC_FILE) - dxf.draw_mode = dxf.DM_MOUSE_BITES - dxf.width = 0.5 - dxf.pitch = 1.4 - dxf.write(outfile) - self._checkResult(outfile) - - def test_save_excellon(self): - outfile = os.path.join( - self.OUTDIR, self.OUTPREFIX + 'save_line.txt') - dxf = panelize.read(self.METRIC_FILE) - dxf.draw_mode = dxf.DM_LINE - dxf.format = (3,3) - dxf.width = 0.2 - dxf.write(outfile, filetype=dxf.FT_EXCELLON) - self._checkResult(outfile) - - def test_save_excellon_mousebites(self): - outfile = os.path.join( - self.OUTDIR, self.OUTPREFIX + 'save_mousebites.txt') - dxf = panelize.read(self.METRIC_FILE) - dxf.draw_mode = dxf.DM_MOUSE_BITES - dxf.format = (3, 3) - dxf.width = 0.5 - dxf.pitch = 1.4 - dxf.write(outfile, filetype=dxf.FT_EXCELLON) - self._checkResult(outfile) - - def test_to_inch(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'to_inch.gtl') - dxf = panelize.read(self.METRIC_FILE) - dxf.to_inch() - dxf.format = (2, 5) - dxf.write(outfile) - self._checkResult(outfile) - - def _test_to_metric(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'to_metric.gtl') - dxf = panelize.read(self.INCH_FILE) - dxf.to_metric() - dxf.format = (3, 5) - dxf.write(outfile) - self._checkResult(outfile) - - def test_offset(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'offset.gtl') - dxf = panelize.read(self.METRIC_FILE) - dxf.offset(11, 5) - dxf.write(outfile) - self._checkResult(outfile) - - def test_rotate(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'rotate.gtl') - dxf = panelize.read(self.METRIC_FILE) - dxf.rotate(20, (10, 10)) - dxf.write(outfile) - self._checkResult(outfile) - - def test_rectangle_metric(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'rectangle_metric.gtl') - dxf = panelize.DxfFile.rectangle(width=10, height=10, units='metric') - dxf.write(outfile) - self._checkResult(outfile) - - def test_rectangle_inch(self): - outfile = os.path.join( - self.OUTDIR, self.OUTPREFIX + 'rectangle_inch.gtl') - dxf = panelize.DxfFile.rectangle(width=inch(10), height=inch(10), units='inch') - dxf.write(outfile) - self._checkResult(outfile) - - def test_complex_fill(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'complex_fill.gtl') - dxf = panelize.read(self.COMPLEX_FILE) - dxf.draw_mode = dxf.DM_FILL - dxf.write(outfile) - self._checkResult(outfile) - - def test_complex_fill_flip(self): - outfile = os.path.join( - self.OUTDIR, self.OUTPREFIX + 'complex_fill_flip.gtl') - ctx = panelize.GerberComposition() - base = panelize.rectangle(width=100, height=100, left=0, bottom=0, units='metric') - base.draw_mode = base.DM_FILL - ctx.merge(base) - dxf = panelize.read(self.COMPLEX_FILE) - dxf.negate_polarity() - dxf.draw_mode = dxf.DM_FILL - ctx.merge(dxf) - ctx.dump(outfile) - self._checkResult(outfile) - -if __name__ == '__main__': - unittest.main() diff --git a/tests/test_excellon.py b/tests/test_excellon.py deleted file mode 100644 index 4aa6dcf..0000000 --- a/tests/test_excellon.py +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -# Copyright 2019 Hiroshi Murayama - -import os -import unittest -from gerbonara.gerber import panelize - - -class TestExcellon(unittest.TestCase): - @classmethod - def setUpClass(cls): - os.chdir(os.path.dirname(__file__)) - cls.INDIR = 'data' - cls.OUTDIR = 'outputs' - cls.EXPECTSDIR = 'expects' - cls.OUTPREFIX = 'excellon_' - cls.METRIC_FILE = os.path.join(cls.INDIR, 'ref_drill_metric.txt') - cls.INCH_FILE = os.path.join(cls.INDIR, 'ref_drill_inch.txt') - try: - os.mkdir(cls.OUTDIR) - except FileExistsError: - pass - - def _checkResult(self, file): - with open(file, 'r') as f: - data = f.read() - with open(os.path.join(self.EXPECTSDIR, os.path.basename(file)), 'r') as f: - expect = f.read() - self.assertEqual(data, expect) - pass - - def test_save(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'save.txt') - drill = panelize.read(self.METRIC_FILE) - drill.write(outfile) - self._checkResult(outfile) - - def test_to_inch(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'to_inch.txt') - drill = panelize.read(self.METRIC_FILE) - drill.to_inch() - drill.format = (2, 4) - drill.write(outfile) - self._checkResult(outfile) - - def test_to_metric(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'to_metric.txt') - drill = panelize.read(self.INCH_FILE) - drill.to_metric() - drill.format = (3, 3) - drill.write(outfile) - self._checkResult(outfile) - - def test_offset(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'offset.txt') - drill = panelize.read(self.METRIC_FILE) - drill.offset(11, 5) - drill.write(outfile) - self._checkResult(outfile) - - def test_rotate(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'rotate.txt') - drill = panelize.read(self.METRIC_FILE) - drill.rotate(20, (10, 10)) - drill.write(outfile) - self._checkResult(outfile) - - -if __name__ == '__main__': - unittest.main() diff --git a/tests/test_rs274x.py b/tests/test_rs274x.py deleted file mode 100644 index 1a1475a..0000000 --- a/tests/test_rs274x.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -# Copyright 2019 Hiroshi Murayama - -import os -import unittest -from gerbonara.gerber import panelize - -class TestRs274x(unittest.TestCase): - @classmethod - def setUpClass(cls): - os.chdir(os.path.dirname(__file__)) - cls.INDIR = 'data' - cls.OUTDIR = 'outputs' - cls.EXPECTSDIR = 'expects' - cls.OUTPREFIX = 'RS2724x_' - cls.METRIC_FILE = os.path.join(cls.INDIR, 'ref_gerber_metric.gtl') - cls.INCH_FILE = os.path.join(cls.INDIR, 'ref_gerber_inch.gtl') - cls.SQ_FILE = os.path.join(cls.INDIR, 'ref_gerber_single_quadrant.gtl') - try: - os.mkdir(cls.OUTDIR) - except FileExistsError: - pass - - def _checkResult(self, file): - with open(file, 'r') as f: - data = f.read() - with open(os.path.join(self.EXPECTSDIR, os.path.basename(file)), 'r') as f: - expect = f.read() - self.assertEqual(data, expect) - - def test_save(self): - outfile=os.path.join(self.OUTDIR, self.OUTPREFIX + 'save.gtl') - gerber = panelize.read(self.METRIC_FILE) - gerber.write(outfile) - self._checkResult(outfile) - - def test_to_inch(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'to_inch.gtl') - gerber = panelize.read(self.METRIC_FILE) - gerber.to_inch() - gerber.format = (2,5) - gerber.write(outfile) - self._checkResult(outfile) - - def test_to_metric(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'to_metric.gtl') - gerber = panelize.read(self.INCH_FILE) - gerber.to_metric() - gerber.format = (3, 4) - gerber.write(outfile) - self._checkResult(outfile) - - def test_offset(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'offset.gtl') - gerber = panelize.read(self.METRIC_FILE) - gerber.offset(11, 5) - gerber.write(outfile) - self._checkResult(outfile) - - def test_rotate(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'rotate.gtl') - gerber = panelize.read(self.METRIC_FILE) - gerber.rotate(20, (10,10)) - gerber.write(outfile) - self._checkResult(outfile) - - def test_single_quadrant(self): - outfile = os.path.join(self.OUTDIR, self.OUTPREFIX + 'single_quadrant.gtl') - gerber = panelize.read(self.SQ_FILE) - gerber.write(outfile) - self._checkResult(outfile) - -if __name__ == '__main__': - unittest.main() diff --git a/tests/test_utility.py b/tests/test_utility.py deleted file mode 100644 index d7a4101..0000000 --- a/tests/test_utility.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -# Copyright 2019 Hiroshi Murayama - -import unittest - -from gerbonara.gerber.panelize.utility import * -from math import sqrt - -class TestUtility(unittest.TestCase): - def test_rotate(self): - x0, y0 = (10, 0) - - x1, y1 = rotate(x0, y0, 60, (0, 0)) - self.assertAlmostEqual(x1, 5) - self.assertAlmostEqual(y1, 10 * sqrt(3) / 2) - - x1, y1 = rotate(x0, y0, 180, (5, 0)) - self.assertAlmostEqual(x1, 0) - self.assertAlmostEqual(y1, 0) - - x1, y1 = rotate(x0, y0, -90, (10, 5)) - self.assertAlmostEqual(x1, 5) - self.assertAlmostEqual(y1, 5) - - def test_is_equal_value(self): - a = 10.0001 - b = 10.01 - - self.assertTrue(is_equal_value(a, b, 0.1)) - self.assertTrue(is_equal_value(a, b, 0.01)) - self.assertFalse(is_equal_value(a, b, 0.001)) - self.assertFalse(is_equal_value(a, b)) - - self.assertTrue(is_equal_value(b, a, 0.1)) - self.assertTrue(is_equal_value(b, a, 0.01)) - self.assertFalse(is_equal_value(b, a, 0.001)) - self.assertFalse(is_equal_value(b, a)) - - def test_is_equal_point(self): - p0 = (10.01, 5.001) - p1 = (10.0001, 5) - self.assertTrue(is_equal_point(p0, p1, 0.1)) - self.assertTrue(is_equal_point(p0, p1, 0.01)) - self.assertFalse(is_equal_point(p0, p1, 0.001)) - self.assertFalse(is_equal_point(p0, p1)) - self.assertTrue(is_equal_point(p1, p0, 0.1)) - self.assertTrue(is_equal_point(p1, p0, 0.01)) - self.assertFalse(is_equal_point(p1, p0, 0.001)) - self.assertFalse(is_equal_point(p1, p0)) - - p0 = (5.001, 10.01) - p1 = (5, 10.0001) - self.assertTrue(is_equal_point(p0, p1, 0.1)) - self.assertTrue(is_equal_point(p0, p1, 0.01)) - self.assertFalse(is_equal_point(p0, p1, 0.001)) - self.assertFalse(is_equal_point(p0, p1)) - self.assertTrue(is_equal_point(p1, p0, 0.1)) - self.assertTrue(is_equal_point(p1, p0, 0.01)) - self.assertFalse(is_equal_point(p1, p0, 0.001)) - self.assertFalse(is_equal_point(p1, p0)) - -if __name__ == '__main__': - unittest.main() -- cgit