diff --git a/README.md b/README.md index ba0f20afd96bb0335bf8d39e71771e1d513d989e..498886a831fb6b6bf544df6ae6433249275d70bf 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,22 @@ ## ENGINEERING JOURNAL ### Jingyan Ling + +### 08/19/2019 + +- Remove the endpoint of a path if the last segment is inside the isolation box +- Rodo the loop dealing with parallel traces +- Add code that does isolation box for non-connected pin + +-  + +- When reading dwg file for dsn. It should know which is the boundary automatically. +- Changed internal boundary index finder, so user won't need to type the boundary line index manually. A value will be parsed from pre-process class to dsn writter. +- Merged and modified `dxf to path` function +- Changed function does bi-sector in post-processing so it can fits the way we do `line to path` successfully +- Whole process and pipeline works well now +- Building high-level functions + ### 08/16/2019 - Record of Tips: diff --git a/journal_media/iso_para_done.png b/journal_media/iso_para_done.png new file mode 100644 index 0000000000000000000000000000000000000000..6230dbb993e15dda72e8b1c05abf2845628970b1 Binary files /dev/null and b/journal_media/iso_para_done.png differ diff --git a/paperbot_ee_autoroute/__pycache__/ee_dwg_processing.cpython-36.pyc b/paperbot_ee_autoroute/__pycache__/ee_dwg_processing.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7d69ccec0c29a72048eb92a26f9c684cb0a041df Binary files /dev/null and b/paperbot_ee_autoroute/__pycache__/ee_dwg_processing.cpython-36.pyc differ diff --git a/paperbot_ee_autoroute/__pycache__/paperbot_dsn.cpython-36.pyc b/paperbot_ee_autoroute/__pycache__/paperbot_dsn.cpython-36.pyc index 4eccaed5adcaba8d027085f6a8f98fffe9eaf5c1..49a289961982a15386f86b65f80b468c451a5a78 100644 Binary files a/paperbot_ee_autoroute/__pycache__/paperbot_dsn.cpython-36.pyc and b/paperbot_ee_autoroute/__pycache__/paperbot_dsn.cpython-36.pyc differ diff --git a/paperbot_ee_autoroute/__pycache__/read_old_paperbot.cpython-36.pyc b/paperbot_ee_autoroute/__pycache__/read_old_paperbot.cpython-36.pyc index 0aead38767b2b09afa62966f050945aacc820396..632cd76b8addb017c44c08b36f9a55c0ff1e8840 100644 Binary files a/paperbot_ee_autoroute/__pycache__/read_old_paperbot.cpython-36.pyc and b/paperbot_ee_autoroute/__pycache__/read_old_paperbot.cpython-36.pyc differ diff --git a/paperbot_ee_autoroute/__pycache__/roco_dsn.cpython-36.pyc b/paperbot_ee_autoroute/__pycache__/roco_dsn.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5083ec1310ed429236a3772ac31b64d4c28716c8 Binary files /dev/null and b/paperbot_ee_autoroute/__pycache__/roco_dsn.cpython-36.pyc differ diff --git a/paperbot_ee_autoroute/__pycache__/roco_ee_dwg_processing.cpython-36.pyc b/paperbot_ee_autoroute/__pycache__/roco_ee_dwg_processing.cpython-36.pyc index 4e52e1349c9a14812ff2e610a20b46057df7c66b..1cc64513008f0aa546ef0b696b393fdeeb5a8b5e 100644 Binary files a/paperbot_ee_autoroute/__pycache__/roco_ee_dwg_processing.cpython-36.pyc and b/paperbot_ee_autoroute/__pycache__/roco_ee_dwg_processing.cpython-36.pyc differ diff --git a/paperbot_ee_autoroute/__pycache__/roco_electrical.cpython-36.pyc b/paperbot_ee_autoroute/__pycache__/roco_electrical.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e41ca5204895be1ba5cd1af6888f4868f55a8b34 Binary files /dev/null and b/paperbot_ee_autoroute/__pycache__/roco_electrical.cpython-36.pyc differ diff --git a/paperbot_ee_autoroute/dwg_for_autorouter_temp.dxf b/paperbot_ee_autoroute/dwg_for_autorouter_temp.dxf deleted file mode 100644 index a80fa3a17e0c6edcc5bcc80dd291cd202ba32500..0000000000000000000000000000000000000000 --- a/paperbot_ee_autoroute/dwg_for_autorouter_temp.dxf +++ /dev/null @@ -1,6420 +0,0 @@ - 0 -SECTION - 2 -HEADER - 9 -$ACADVER - 1 -AC1014 - 9 -$HANDSEED - 5 -FFFF - 9 -$MEASUREMENT - 70 - 1 - 0 -ENDSEC - 0 -SECTION - 2 -TABLES - 0 -TABLE - 2 -VPORT - 5 -8 -330 -0 -100 -AcDbSymbolTable - 70 - 4 - 0 -VPORT - 5 -2E -330 -8 -100 -AcDbSymbolTableRecord -100 -AcDbViewportTableRecord - 2 -*ACTIVE - 70 - 0 - 10 -0.0 - 20 -0.0 - 11 -1.0 - 21 -1.0 - 12 -210.0 - 22 -148.5 - 13 -0.0 - 23 -0.0 - 14 -10.0 - 24 -10.0 - 15 -10.0 - 25 -10.0 - 16 -0.0 - 26 -0.0 - 36 -1.0 - 17 -0.0 - 27 -0.0 - 37 -0.0 - 40 -341.0 - 41 -1.24 - 42 -50.0 - 43 -0.0 - 44 -0.0 - 50 -0.0 - 51 -0.0 - 71 - 0 - 72 - 100 - 73 - 1 - 74 - 3 - 75 - 0 - 76 - 0 - 77 - 0 - 78 - 0 - 0 -ENDTAB - 0 -TABLE - 2 -LTYPE - 5 -5 -330 -0 -100 -AcDbSymbolTable - 70 - 1 - 0 -LTYPE - 5 -14 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -BYBLOCK - 70 - 0 - 3 - - 72 - 65 - 73 - 0 - 40 -0.0 - 0 -LTYPE - 5 -15 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -BYLAYER - 70 - 0 - 3 - - 72 - 65 - 73 - 0 - 40 -0.0 - 0 -LTYPE - 5 -16 -330 -5 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -CONTINUOUS - 70 - 0 - 3 -Solid line - 72 - 65 - 73 - 0 - 40 -0.0 - 0 -ENDTAB - 0 -TABLE - 2 -LAYER - 5 -2 -100 -AcDbSymbolTable - 70 -11 - 0 -LAYER - 5 -50 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -0 - 70 -0 - 6 -CONTINUOUS - 0 -LAYER - 5 -51 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -VIEWPORTS - 70 -0 - 6 -CONTINUOUS - 0 -LAYER - 5 -52 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -TABLEGRID - 70 -0 - 6 -CONTINUOUS - 0 -LAYER - 5 -53 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -TABLECONTENT - 70 -0 - 6 -CONTINUOUS - 0 -LAYER - 5 -54 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -DIMENSIONS - 70 -0 - 6 -CONTINUOUS - 0 -LAYER - 5 -55 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -TABLEBACKGROUND - 70 -0 - 6 -CONTINUOUS - 0 -LAYER - 5 -56 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -Cut - 70 -0 - 6 -CONTINUOUS - 0 -LAYER - 5 -57 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -Circuit - 70 -0 - 6 -CONTINUOUS - 0 -LAYER - 5 -58 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -Label - 70 -0 - 6 -CONTINUOUS - 0 -LAYER - 5 -59 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -Fold - 70 -0 - 6 -CONTINUOUS - 0 -LAYER - 5 -5a -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -Pin_temp - 70 -0 - 6 -CONTINUOUS - 0 -ENDTAB - 0 -TABLE - 2 -STYLE - 5 -3 -330 -0 -100 -AcDbSymbolTable - 70 - 1 - 0 -STYLE - 5 -11 -330 -3 -100 -AcDbSymbolTableRecord -100 -AcDbTextStyleTableRecord - 2 -STANDARD - 70 - 0 - 40 -0.0 - 41 -1.0 - 50 -0.0 - 71 - 0 - 42 -2.5 - 3 -txt - 4 - - 0 -ENDTAB - 0 -TABLE - 2 -VIEW - 5 -6 -330 -0 -100 -AcDbSymbolTable - 70 - 0 - 0 -ENDTAB - 0 -TABLE - 2 -UCS - 5 -7 -330 -0 -100 -AcDbSymbolTable - 70 - 0 - 0 -ENDTAB - 0 -TABLE - 2 -APPID - 5 -9 -330 -0 -100 -AcDbSymbolTable - 70 - 2 - 0 -APPID - 5 -12 -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -ACAD - 70 - 0 - 0 -ENDTAB - 0 -TABLE - 2 -DIMSTYLE - 5 -A -330 -0 -100 -AcDbSymbolTable - 70 - 1 - 0 -DIMSTYLE -105 -27 -330 -A -100 -AcDbSymbolTableRecord -100 -AcDbDimStyleTableRecord - 2 -ISO-25 - 70 - 0 - 3 - - 4 - - 5 - - 6 - - 7 - - 40 -1.0 - 41 -2.5 - 42 -0.625 - 43 -3.75 - 44 -1.25 - 45 -0.0 - 46 -0.0 - 47 -0.0 - 48 -0.0 -140 -2.5 -141 -2.5 -142 -0.0 -143 -0.03937007874016 -144 -1.0 -145 -0.0 -146 -1.0 -147 -0.625 - 71 - 0 - 72 - 0 - 73 - 0 - 74 - 0 - 75 - 0 - 76 - 0 - 77 - 1 - 78 - 8 -170 - 0 -171 - 3 -172 - 1 -173 - 0 -174 - 0 -175 - 0 -176 - 0 -177 - 0 -178 - 0 -270 - 2 -271 - 2 -272 - 2 -273 - 2 -274 - 3 -340 -11 -275 - 0 -280 - 0 -281 - 0 -282 - 0 -283 - 0 -284 - 8 -285 - 0 -286 - 0 -287 - 3 -288 - 0 - 0 -ENDTAB - 0 -TABLE - 2 -BLOCK_RECORD - 5 -1 -330 -0 -100 -AcDbSymbolTable - 70 - 1 - 0 -BLOCK_RECORD - 5 -1F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -*MODEL_SPACE - 0 -BLOCK_RECORD - 5 -1B -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -*PAPER_SPACE - 0 -ENDTAB - 0 -ENDSEC - 0 -SECTION - 2 -BLOCKS - 0 -BLOCK - 5 -20 -330 -1F -100 -AcDbEntity - 8 -0 -100 -AcDbBlockBegin - 2 -*MODEL_SPACE - 70 - 0 - 10 -0.0 - 20 -0.0 - 30 -0.0 - 3 -*MODEL_SPACE - 1 - - 0 -ENDBLK - 5 -21 -330 -1F -100 -AcDbEntity - 8 -0 -100 -AcDbBlockEnd - 0 -BLOCK - 5 -1C -330 -1B -100 -AcDbEntity - 67 - 1 - 8 -0 -100 -AcDbBlockBegin - 2 -*PAPER_SPACE - 1 - - 0 -ENDBLK - 5 -1D -330 -1B -100 -AcDbEntity - 67 - 1 - 8 -0 -100 -AcDbBlockEnd - 0 -ENDSEC - 0 -SECTION - 2 -ENTITIES - 0 -LWPOLYLINE - 5 -100 -100 -AcDbEntity - 8 -Cut - 62 -1 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 --12.458262 - 20 -280.310911 - 30 -0.0 - 10 -222.913901 - 20 -280.310911 - 30 -0.0 - 10 -222.913901 - 20 --31.145661 - 30 -0.0 - 10 --12.458262 - 20 --31.145661 - 30 -0.0 - 0 -LWPOLYLINE - 5 -101 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -106.000248 - 20 -113.732116 - 30 -0.0 - 10 -106.000248 - 20 -113.467532 - 30 -0.0 - 10 -118.999971 - 20 -113.467532 - 30 -0.0 - 10 -118.999971 - 20 -113.732116 - 30 -0.0 - 0 -LWPOLYLINE - 5 -102 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -106.000248 - 20 -151.732381 - 30 -0.0 - 10 -106.000248 - 20 -151.467798 - 30 -0.0 - 10 -118.999971 - 20 -151.467798 - 30 -0.0 - 10 -118.999971 - 20 -151.732381 - 30 -0.0 - 0 -LWPOLYLINE - 5 -103 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -2 - 70 -1 - 10 -59.999954 - 20 -31.732481 - 30 -0.0 - 10 -59.999954 - 20 -31.467897 - 30 -0.0 - 0 -LWPOLYLINE - 5 -104 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -35.999870 - 20 -31.732481 - 30 -0.0 - 10 -35.999870 - 20 -31.467897 - 30 -0.0 - 10 -59.999954 - 20 -31.467897 - 30 -0.0 - 10 -59.999954 - 20 -31.732481 - 30 -0.0 - 0 -LWPOLYLINE - 5 -105 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -6 - 70 -1 - 10 -0.000000 - 20 -31.732481 - 30 -0.0 - 10 -0.000000 - 20 -31.467897 - 30 -0.0 - 10 -24.000085 - 20 -31.467897 - 30 -0.0 - 10 -24.000085 - 20 -31.732481 - 30 -0.0 - 10 -0.000000 - 20 -31.732481 - 30 -0.0 - 10 -0.000000 - 20 -31.467897 - 30 -0.0 - 0 -LWPOLYLINE - 5 -106 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -106.000248 - 20 -18.132262 - 30 -0.0 - 10 -106.000248 - 20 -17.867679 - 30 -0.0 - 10 -110.000005 - 20 -17.867679 - 30 -0.0 - 10 -110.000005 - 20 -18.132262 - 30 -0.0 - 0 -LWPOLYLINE - 5 -107 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -106.000248 - 20 -27.132223 - 30 -0.0 - 10 -106.000248 - 20 -26.867640 - 30 -0.0 - 10 -110.000005 - 20 -26.867640 - 30 -0.0 - 10 -110.000005 - 20 -27.132223 - 30 -0.0 - 0 -LWPOLYLINE - 5 -108 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -105.867957 - 20 -26.999931 - 30 -0.0 - 10 -105.867957 - 20 -17.999971 - 30 -0.0 - 10 -106.132540 - 20 -17.999971 - 30 -0.0 - 10 -106.132540 - 20 -26.999931 - 30 -0.0 - 0 -LWPOLYLINE - 5 -109 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -151.000084 - 20 -151.732381 - 30 -0.0 - 10 -151.000084 - 20 -151.467798 - 30 -0.0 - 10 -160.999993 - 20 -151.467798 - 30 -0.0 - 10 -160.999993 - 20 -151.732381 - 30 -0.0 - 0 -LWPOLYLINE - 5 -10a -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -151.000084 - 20 -211.732338 - 30 -0.0 - 10 -151.000084 - 20 -211.467754 - 30 -0.0 - 10 -160.999993 - 20 -211.467754 - 30 -0.0 - 10 -160.999993 - 20 -211.732338 - 30 -0.0 - 0 -LWPOLYLINE - 5 -10b -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -7.250204 - 20 -61.800403 - 30 -0.0 - 10 -7.250204 - 20 -61.535819 - 30 -0.0 - 10 -7.749915 - 20 -61.535819 - 30 -0.0 - 10 -7.749915 - 20 -61.800403 - 30 -0.0 - 0 -LWPOLYLINE - 5 -10c -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -7.617623 - 20 -61.668111 - 30 -0.0 - 10 -7.617623 - 20 -46.259233 - 30 -0.0 - 10 -7.882206 - 20 -46.259233 - 30 -0.0 - 10 -7.882206 - 20 -61.668111 - 30 -0.0 - 0 -LWPOLYLINE - 5 -10d -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -7.250204 - 20 -46.391524 - 30 -0.0 - 10 -7.250204 - 20 -46.126941 - 30 -0.0 - 10 -7.749915 - 20 -46.126941 - 30 -0.0 - 10 -7.749915 - 20 -46.391524 - 30 -0.0 - 0 -LWPOLYLINE - 5 -10e -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -7.117912 - 20 -61.668111 - 30 -0.0 - 10 -7.117912 - 20 -46.259233 - 30 -0.0 - 10 -7.382495 - 20 -46.259233 - 30 -0.0 - 10 -7.382495 - 20 -61.668111 - 30 -0.0 - 0 -LWPOLYLINE - 5 -10f -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -7.250204 - 20 -99.073064 - 30 -0.0 - 10 -7.250204 - 20 -98.808480 - 30 -0.0 - 10 -7.749915 - 20 -98.808480 - 30 -0.0 - 10 -7.749915 - 20 -99.073064 - 30 -0.0 - 0 -LWPOLYLINE - 5 -110 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -7.617623 - 20 -98.940772 - 30 -0.0 - 10 -7.617623 - 20 -83.531894 - 30 -0.0 - 10 -7.882206 - 20 -83.531894 - 30 -0.0 - 10 -7.882206 - 20 -98.940772 - 30 -0.0 - 0 -LWPOLYLINE - 5 -111 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -7.250204 - 20 -83.664186 - 30 -0.0 - 10 -7.250204 - 20 -83.399602 - 30 -0.0 - 10 -7.749915 - 20 -83.399602 - 30 -0.0 - 10 -7.749915 - 20 -83.664186 - 30 -0.0 - 0 -LWPOLYLINE - 5 -112 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -7.117912 - 20 -98.940772 - 30 -0.0 - 10 -7.117912 - 20 -83.531894 - 30 -0.0 - 10 -7.382495 - 20 -83.531894 - 30 -0.0 - 10 -7.382495 - 20 -98.940772 - 30 -0.0 - 0 -LWPOLYLINE - 5 -113 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -169.867667 - 20 -249.599793 - 30 -0.0 - 10 -169.867667 - 20 -211.600046 - 30 -0.0 - 10 -170.132251 - 20 -211.600046 - 30 -0.0 - 10 -170.132251 - 20 -249.599793 - 30 -0.0 - 0 -LWPOLYLINE - 5 -114 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -137.999846 - 20 -249.732084 - 30 -0.0 - 10 -137.999846 - 20 -249.467501 - 30 -0.0 - 10 -151.000084 - 20 -249.467501 - 30 -0.0 - 10 -151.000084 - 20 -249.732084 - 30 -0.0 - 0 -LWPOLYLINE - 5 -115 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -106.000248 - 20 -211.732338 - 30 -0.0 - 10 -106.000248 - 20 -211.467754 - 30 -0.0 - 10 -118.999971 - 20 -211.467754 - 30 -0.0 - 10 -118.999971 - 20 -211.732338 - 30 -0.0 - 0 -LWPOLYLINE - 5 -116 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -151.000084 - 20 -211.732338 - 30 -0.0 - 10 -151.000084 - 20 -211.467754 - 30 -0.0 - 10 -169.999959 - 20 -211.467754 - 30 -0.0 - 10 -169.999959 - 20 -211.732338 - 30 -0.0 - 0 -LWPOLYLINE - 5 -117 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -151.000084 - 20 -249.732084 - 30 -0.0 - 10 -151.000084 - 20 -249.467501 - 30 -0.0 - 10 -169.999959 - 20 -249.467501 - 30 -0.0 - 10 -169.999959 - 20 -249.732084 - 30 -0.0 - 0 -LWPOLYLINE - 5 -118 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -118.999971 - 20 -249.732084 - 30 -0.0 - 10 -118.999971 - 20 -249.467501 - 30 -0.0 - 10 -137.999846 - 20 -249.467501 - 30 -0.0 - 10 -137.999846 - 20 -249.732084 - 30 -0.0 - 0 -LWPOLYLINE - 5 -119 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -118.999971 - 20 -211.732338 - 30 -0.0 - 10 -118.999971 - 20 -211.467754 - 30 -0.0 - 10 -137.999846 - 20 -211.467754 - 30 -0.0 - 10 -137.999846 - 20 -211.732338 - 30 -0.0 - 0 -LWPOLYLINE - 5 -11a -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -65.328829 - 20 -108.600130 - 30 -0.0 - 10 -65.328829 - 20 -85.599983 - 30 -0.0 - 10 -65.593412 - 20 -85.599983 - 30 -0.0 - 10 -65.593412 - 20 -108.600130 - 30 -0.0 - 0 -LWPOLYLINE - 5 -11b -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -65.461121 - 20 -108.732422 - 30 -0.0 - 10 -65.461121 - 20 -108.467839 - 30 -0.0 - 10 -77.538937 - 20 -108.467839 - 30 -0.0 - 10 -77.538937 - 20 -108.732422 - 30 -0.0 - 0 -LWPOLYLINE - 5 -11c -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -77.406646 - 20 -108.600130 - 30 -0.0 - 10 -77.406646 - 20 -85.599983 - 30 -0.0 - 10 -77.671229 - 20 -85.599983 - 30 -0.0 - 10 -77.671229 - 20 -108.600130 - 30 -0.0 - 0 -LWPOLYLINE - 5 -11d -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -65.461121 - 20 -85.732275 - 30 -0.0 - 10 -65.461121 - 20 -85.467691 - 30 -0.0 - 10 -77.538937 - 20 -85.467691 - 30 -0.0 - 10 -77.538937 - 20 -85.732275 - 30 -0.0 - 0 -LWPOLYLINE - 5 -11e -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -44.250012 - 20 -191.982120 - 30 -0.0 - 10 -44.250012 - 20 -191.717537 - 30 -0.0 - 10 -44.750241 - 20 -191.717537 - 30 -0.0 - 10 -44.750241 - 20 -191.982120 - 30 -0.0 - 0 -LWPOLYLINE - 5 -11f -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -44.617950 - 20 -191.849829 - 30 -0.0 - 10 -44.617950 - 20 -171.349788 - 30 -0.0 - 10 -44.882533 - 20 -171.349788 - 30 -0.0 - 10 -44.882533 - 20 -191.849829 - 30 -0.0 - 0 -LWPOLYLINE - 5 -120 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -44.250012 - 20 -171.482079 - 30 -0.0 - 10 -44.250012 - 20 -171.217496 - 30 -0.0 - 10 -44.750241 - 20 -171.217496 - 30 -0.0 - 10 -44.750241 - 20 -171.482079 - 30 -0.0 - 0 -LWPOLYLINE - 5 -121 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -44.117720 - 20 -191.849829 - 30 -0.0 - 10 -44.117720 - 20 -171.349788 - 30 -0.0 - 10 -44.382304 - 20 -171.349788 - 30 -0.0 - 10 -44.382304 - 20 -191.849829 - 30 -0.0 - 0 -LWPOLYLINE - 5 -122 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -150.406841 - 20 -108.600130 - 30 -0.0 - 10 -150.406841 - 20 -85.599983 - 30 -0.0 - 10 -150.671424 - 20 -85.599983 - 30 -0.0 - 10 -150.671424 - 20 -108.600130 - 30 -0.0 - 0 -LWPOLYLINE - 5 -123 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -94.250060 - 20 -126.148929 - 30 -0.0 - 10 -94.250060 - 20 -125.884346 - 30 -0.0 - 10 -94.749773 - 20 -125.884346 - 30 -0.0 - 10 -94.749773 - 20 -126.148929 - 30 -0.0 - 0 -LWPOLYLINE - 5 -124 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -94.117769 - 20 -139.183275 - 30 -0.0 - 10 -94.117769 - 20 -126.016638 - 30 -0.0 - 10 -94.382352 - 20 -126.016638 - 30 -0.0 - 10 -94.382352 - 20 -139.183275 - 30 -0.0 - 0 -LWPOLYLINE - 5 -125 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -94.250060 - 20 -139.315567 - 30 -0.0 - 10 -94.250060 - 20 -139.050984 - 30 -0.0 - 10 -94.749773 - 20 -139.050984 - 30 -0.0 - 10 -94.749773 - 20 -139.315567 - 30 -0.0 - 0 -LWPOLYLINE - 5 -126 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -94.617482 - 20 -139.183275 - 30 -0.0 - 10 -94.617482 - 20 -126.016638 - 30 -0.0 - 10 -94.882065 - 20 -126.016638 - 30 -0.0 - 10 -94.882065 - 20 -139.183275 - 30 -0.0 - 0 -LWPOLYLINE - 5 -127 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -36.867518 - 20 -211.600046 - 30 -0.0 - 10 -36.867518 - 20 -151.600089 - 30 -0.0 - 10 -37.132101 - 20 -151.600089 - 30 -0.0 - 10 -37.132101 - 20 -211.600046 - 30 -0.0 - 0 -LWPOLYLINE - 5 -128 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -158.367595 - 20 -61.417998 - 30 -0.0 - 10 -158.367595 - 20 -46.509346 - 30 -0.0 - 10 -158.632178 - 20 -46.509346 - 30 -0.0 - 10 -158.632178 - 20 -61.417998 - 30 -0.0 - 0 -LWPOLYLINE - 5 -129 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -163.406563 - 20 -66.511743 - 30 -0.0 - 10 -158.406351 - 20 -61.511531 - 30 -0.0 - 10 -158.593420 - 20 -61.324462 - 30 -0.0 - 10 -163.593632 - 20 -66.324674 - 30 -0.0 - 0 -LWPOLYLINE - 5 -12a -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -158.593420 - 20 -46.602882 - 30 -0.0 - 10 -158.406351 - 20 -46.415295 - 30 -0.0 - 10 -163.406563 - 20 -41.415601 - 30 -0.0 - 10 -163.593632 - 20 -41.602669 - 30 -0.0 - 0 -LWPOLYLINE - 5 -12b -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -163.367805 - 20 -66.418210 - 30 -0.0 - 10 -163.367805 - 20 -61.417998 - 30 -0.0 - 10 -163.632388 - 20 -61.417998 - 30 -0.0 - 10 -163.632388 - 20 -66.418210 - 30 -0.0 - 0 -LWPOLYLINE - 5 -12c -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -158.367595 - 20 -126.266751 - 30 -0.0 - 10 -158.367595 - 20 -121.266541 - 30 -0.0 - 10 -158.632178 - 20 -121.266541 - 30 -0.0 - 10 -158.632178 - 20 -126.266751 - 30 -0.0 - 0 -LWPOLYLINE - 5 -12d -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -153.593726 - 20 -126.360286 - 30 -0.0 - 10 -153.406658 - 20 -126.173218 - 30 -0.0 - 10 -158.406351 - 20 -121.173006 - 30 -0.0 - 10 -158.593420 - 20 -121.360074 - 30 -0.0 - 0 -LWPOLYLINE - 5 -12e -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -158.406351 - 20 -144.026907 - 30 -0.0 - 10 -153.406658 - 20 -139.026698 - 30 -0.0 - 10 -153.593726 - 20 -138.839629 - 30 -0.0 - 10 -158.593420 - 20 -143.839839 - 30 -0.0 - 0 -LWPOLYLINE - 5 -12f -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -158.367595 - 20 -143.933374 - 30 -0.0 - 10 -158.367595 - 20 -138.933162 - 30 -0.0 - 10 -158.632178 - 20 -138.933162 - 30 -0.0 - 10 -158.632178 - 20 -143.933374 - 30 -0.0 - 0 -LWPOLYLINE - 5 -130 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -153.367899 - 20 -138.933162 - 30 -0.0 - 10 -153.367899 - 20 -126.266751 - 30 -0.0 - 10 -153.632482 - 20 -126.266751 - 30 -0.0 - 10 -153.632482 - 20 -138.933162 - 30 -0.0 - 0 -LWPOLYLINE - 5 -131 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 --0.132292 - 20 -113.599824 - 30 -0.0 - 10 --0.132292 - 20 -31.600189 - 30 -0.0 - 10 -0.132292 - 20 -31.600189 - 30 -0.0 - 10 -0.132292 - 20 -113.599824 - 30 -0.0 - 0 -LWPOLYLINE - 5 -132 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -138.460800 - 20 -108.732422 - 30 -0.0 - 10 -138.460800 - 20 -108.467839 - 30 -0.0 - 10 -150.539133 - 20 -108.467839 - 30 -0.0 - 10 -150.539133 - 20 -108.732422 - 30 -0.0 - 0 -LWPOLYLINE - 5 -133 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -138.460800 - 20 -85.732275 - 30 -0.0 - 10 -138.460800 - 20 -85.467691 - 30 -0.0 - 10 -150.539133 - 20 -85.467691 - 30 -0.0 - 10 -150.539133 - 20 -85.732275 - 30 -0.0 - 0 -LWPOLYLINE - 5 -134 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -95.999824 - 20 -211.732338 - 30 -0.0 - 10 -95.999824 - 20 -211.467754 - 30 -0.0 - 10 -106.000248 - 20 -211.467754 - 30 -0.0 - 10 -106.000248 - 20 -211.732338 - 30 -0.0 - 0 -LWPOLYLINE - 5 -135 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -80.617819 - 20 -74.850253 - 30 -0.0 - 10 -80.617819 - 20 -66.850224 - 30 -0.0 - 10 -80.882403 - 20 -66.850224 - 30 -0.0 - 10 -80.882403 - 20 -74.850253 - 30 -0.0 - 0 -LWPOLYLINE - 5 -136 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -95.999824 - 20 -249.732084 - 30 -0.0 - 10 -95.999824 - 20 -249.467501 - 30 -0.0 - 10 -106.000248 - 20 -249.467501 - 30 -0.0 - 10 -106.000248 - 20 -249.732084 - 30 -0.0 - 0 -LWPOLYLINE - 5 -137 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -107.617720 - 20 -74.850253 - 30 -0.0 - 10 -107.617720 - 20 -66.850224 - 30 -0.0 - 10 -107.882304 - 20 -66.850224 - 30 -0.0 - 10 -107.882304 - 20 -74.850253 - 30 -0.0 - 0 -LWPOLYLINE - 5 -138 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -160.867701 - 20 -151.600089 - 30 -0.0 - 10 -160.867701 - 20 -113.599824 - 30 -0.0 - 10 -161.132285 - 20 -113.599824 - 30 -0.0 - 10 -161.132285 - 20 -151.600089 - 30 -0.0 - 0 -LWPOLYLINE - 5 -139 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -149.867855 - 20 -51.099764 - 30 -0.0 - 10 -149.867855 - 20 -42.099798 - 30 -0.0 - 10 -150.132439 - 20 -42.099798 - 30 -0.0 - 10 -150.132439 - 20 -51.099764 - 30 -0.0 - 0 -LWPOLYLINE - 5 -13a -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -150.000147 - 20 -51.232055 - 30 -0.0 - 10 -150.000147 - 20 -50.967472 - 30 -0.0 - 10 -153.999904 - 20 -50.967472 - 30 -0.0 - 10 -153.999904 - 20 -51.232055 - 30 -0.0 - 0 -LWPOLYLINE - 5 -13b -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -153.867612 - 20 -51.099764 - 30 -0.0 - 10 -153.867612 - 20 -42.099798 - 30 -0.0 - 10 -154.132195 - 20 -42.099798 - 30 -0.0 - 10 -154.132195 - 20 -51.099764 - 30 -0.0 - 0 -LWPOLYLINE - 5 -13c -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -150.000147 - 20 -42.232089 - 30 -0.0 - 10 -150.000147 - 20 -41.967506 - 30 -0.0 - 10 -153.999904 - 20 -41.967506 - 30 -0.0 - 10 -153.999904 - 20 -42.232089 - 30 -0.0 - 0 -LWPOLYLINE - 5 -13d -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -160.867701 - 20 -211.600046 - 30 -0.0 - 10 -160.867701 - 20 -151.600089 - 30 -0.0 - 10 -161.132285 - 20 -151.600089 - 30 -0.0 - 10 -161.132285 - 20 -211.600046 - 30 -0.0 - 0 -LWPOLYLINE - 5 -13e -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -118.999971 - 20 -151.732381 - 30 -0.0 - 10 -118.999971 - 20 -151.467798 - 30 -0.0 - 10 -137.999846 - 20 -151.467798 - 30 -0.0 - 10 -137.999846 - 20 -151.732381 - 30 -0.0 - 0 -LWPOLYLINE - 5 -13f -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -81.000224 - 20 -211.732338 - 30 -0.0 - 10 -81.000224 - 20 -211.467754 - 30 -0.0 - 10 -93.999947 - 20 -211.467754 - 30 -0.0 - 10 -93.999947 - 20 -211.732338 - 30 -0.0 - 0 -LWPOLYLINE - 5 -140 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -81.000224 - 20 -151.732381 - 30 -0.0 - 10 -81.000224 - 20 -151.467798 - 30 -0.0 - 10 -93.999947 - 20 -151.467798 - 30 -0.0 - 10 -93.999947 - 20 -151.732381 - 30 -0.0 - 0 -LWPOLYLINE - 5 -141 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -101.867684 - 20 -31.499938 - 30 -0.0 - 10 -101.867684 - 20 -13.499990 - 30 -0.0 - 10 -102.132268 - 20 -13.499990 - 30 -0.0 - 10 -102.132268 - 20 -31.499938 - 30 -0.0 - 0 -LWPOLYLINE - 5 -142 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -113.867467 - 20 -31.499938 - 30 -0.0 - 10 -113.867467 - 20 -13.499990 - 30 -0.0 - 10 -114.132050 - 20 -13.499990 - 30 -0.0 - 10 -114.132050 - 20 -31.499938 - 30 -0.0 - 0 -LWPOLYLINE - 5 -143 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -138.328508 - 20 -108.600130 - 30 -0.0 - 10 -138.328508 - 20 -85.599983 - 30 -0.0 - 10 -138.593092 - 20 -85.599983 - 30 -0.0 - 10 -138.593092 - 20 -108.600130 - 30 -0.0 - 0 -LWPOLYLINE - 5 -144 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -162.250046 - 20 -237.315789 - 30 -0.0 - 10 -162.250046 - 20 -237.051206 - 30 -0.0 - 10 -162.749757 - 20 -237.051206 - 30 -0.0 - 10 -162.749757 - 20 -237.315789 - 30 -0.0 - 0 -LWPOLYLINE - 5 -145 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -162.617465 - 20 -237.183497 - 30 -0.0 - 10 -162.617465 - 20 -224.016857 - 30 -0.0 - 10 -162.882048 - 20 -224.016857 - 30 -0.0 - 10 -162.882048 - 20 -237.183497 - 30 -0.0 - 0 -LWPOLYLINE - 5 -146 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -162.250046 - 20 -224.149149 - 30 -0.0 - 10 -162.250046 - 20 -223.884565 - 30 -0.0 - 10 -162.749757 - 20 -223.884565 - 30 -0.0 - 10 -162.749757 - 20 -224.149149 - 30 -0.0 - 0 -LWPOLYLINE - 5 -147 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -162.117754 - 20 -237.183497 - 30 -0.0 - 10 -162.117754 - 20 -224.016857 - 30 -0.0 - 10 -162.382338 - 20 -224.016857 - 30 -0.0 - 10 -162.382338 - 20 -237.183497 - 30 -0.0 - 0 -LWPOLYLINE - 5 -148 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -138.328508 - 20 -141.600183 - 30 -0.0 - 10 -138.328508 - 20 -118.600036 - 30 -0.0 - 10 -138.593092 - 20 -118.600036 - 30 -0.0 - 10 -138.593092 - 20 -141.600183 - 30 -0.0 - 0 -LWPOLYLINE - 5 -149 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -86.999858 - 20 -151.732381 - 30 -0.0 - 10 -86.999858 - 20 -151.467798 - 30 -0.0 - 10 -106.000248 - 20 -151.467798 - 30 -0.0 - 10 -106.000248 - 20 -151.732381 - 30 -0.0 - 0 -LWPOLYLINE - 5 -14a -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -86.999858 - 20 -113.732116 - 30 -0.0 - 10 -86.999858 - 20 -113.467532 - 30 -0.0 - 10 -106.000248 - 20 -113.467532 - 30 -0.0 - 10 -106.000248 - 20 -113.732116 - 30 -0.0 - 0 -LWPOLYLINE - 5 -14b -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -77.867597 - 20 -31.600189 - 30 -0.0 - 10 -77.867597 - 20 -31.499938 - 30 -0.0 - 10 -78.132181 - 20 -31.499938 - 30 -0.0 - 10 -78.132181 - 20 -31.600189 - 30 -0.0 - 0 -LWPOLYLINE - 5 -14c -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -137.867554 - 20 -31.600189 - 30 -0.0 - 10 -137.867554 - 20 -31.499938 - 30 -0.0 - 10 -138.132137 - 20 -31.499938 - 30 -0.0 - 10 -138.132137 - 20 -31.600189 - 30 -0.0 - 0 -LWPOLYLINE - 5 -14d -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -101.999976 - 20 -31.632230 - 30 -0.0 - 10 -101.999976 - 20 -31.367647 - 30 -0.0 - 10 -113.999759 - 20 -31.367647 - 30 -0.0 - 10 -113.999759 - 20 -31.632230 - 30 -0.0 - 0 -LWPOLYLINE - 5 -14e -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -36.999810 - 20 -151.732381 - 30 -0.0 - 10 -36.999810 - 20 -151.467798 - 30 -0.0 - 10 -81.000224 - 20 -151.467798 - 30 -0.0 - 10 -81.000224 - 20 -151.732381 - 30 -0.0 - 0 -LWPOLYLINE - 5 -14f -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -153.593726 - 20 -171.693437 - 30 -0.0 - 10 -153.406658 - 20 -171.506368 - 30 -0.0 - 10 -158.406351 - 20 -166.506675 - 30 -0.0 - 10 -158.593420 - 20 -166.693743 - 30 -0.0 - 0 -LWPOLYLINE - 5 -150 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -158.367595 - 20 -171.599904 - 30 -0.0 - 10 -158.367595 - 20 -166.600207 - 30 -0.0 - 10 -158.632178 - 20 -166.600207 - 30 -0.0 - 10 -158.632178 - 20 -171.599904 - 30 -0.0 - 0 -LWPOLYLINE - 5 -151 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -158.406351 - 20 -196.693461 - 30 -0.0 - 10 -153.406658 - 20 -191.693767 - 30 -0.0 - 10 -153.593726 - 20 -191.506699 - 30 -0.0 - 10 -158.593420 - 20 -196.506392 - 30 -0.0 - 0 -LWPOLYLINE - 5 -152 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -153.367899 - 20 -191.600231 - 30 -0.0 - 10 -153.367899 - 20 -171.599904 - 30 -0.0 - 10 -153.632482 - 20 -171.599904 - 30 -0.0 - 10 -153.632482 - 20 -191.600231 - 30 -0.0 - 0 -LWPOLYLINE - 5 -153 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -158.367595 - 20 -196.599928 - 30 -0.0 - 10 -158.367595 - 20 -191.600231 - 30 -0.0 - 10 -158.632178 - 20 -191.600231 - 30 -0.0 - 10 -158.632178 - 20 -196.599928 - 30 -0.0 - 0 -LWPOLYLINE - 5 -154 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -165.867911 - 20 -113.599824 - 30 -0.0 - 10 -165.867911 - 20 -31.600189 - 30 -0.0 - 10 -166.132494 - 20 -31.600189 - 30 -0.0 - 10 -166.132494 - 20 -113.599824 - 30 -0.0 - 0 -LWPOLYLINE - 5 -155 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -150.406841 - 20 -244.600096 - 30 -0.0 - 10 -150.406841 - 20 -221.599952 - 30 -0.0 - 10 -150.671424 - 20 -221.599952 - 30 -0.0 - 10 -150.671424 - 20 -244.600096 - 30 -0.0 - 0 -LWPOLYLINE - 5 -156 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -138.460800 - 20 -221.732244 - 30 -0.0 - 10 -138.460800 - 20 -221.467660 - 30 -0.0 - 10 -150.539133 - 20 -221.467660 - 30 -0.0 - 10 -150.539133 - 20 -221.732244 - 30 -0.0 - 0 -LWPOLYLINE - 5 -157 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -138.328508 - 20 -244.600096 - 30 -0.0 - 10 -138.328508 - 20 -221.599952 - 30 -0.0 - 10 -138.593092 - 20 -221.599952 - 30 -0.0 - 10 -138.593092 - 20 -244.600096 - 30 -0.0 - 0 -LWPOLYLINE - 5 -158 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -138.460800 - 20 -244.732388 - 30 -0.0 - 10 -138.460800 - 20 -244.467805 - 30 -0.0 - 10 -150.539133 - 20 -244.467805 - 30 -0.0 - 10 -150.539133 - 20 -244.732388 - 30 -0.0 - 0 -LWPOLYLINE - 5 -159 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -103.367851 - 20 -236.933382 - 30 -0.0 - 10 -103.367851 - 20 -224.266454 - 30 -0.0 - 10 -103.632434 - 20 -224.266454 - 30 -0.0 - 10 -103.632434 - 20 -236.933382 - 30 -0.0 - 0 -LWPOLYLINE - 5 -15a -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -98.367638 - 20 -224.266454 - 30 -0.0 - 10 -98.367638 - 20 -219.266761 - 30 -0.0 - 10 -98.632222 - 20 -219.266761 - 30 -0.0 - 10 -98.632222 - 20 -224.266454 - 30 -0.0 - 0 -LWPOLYLINE - 5 -15b -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -103.406607 - 20 -224.359990 - 30 -0.0 - 10 -98.406397 - 20 -219.360294 - 30 -0.0 - 10 -98.593465 - 20 -219.173225 - 30 -0.0 - 10 -103.593678 - 20 -224.172922 - 30 -0.0 - 0 -LWPOLYLINE - 5 -15c -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -31.750000 - 20 -35.982340 - 30 -0.0 - 10 -31.750000 - 20 -35.717757 - 30 -0.0 - 10 -32.250227 - 20 -35.717757 - 30 -0.0 - 10 -32.250227 - 20 -35.982340 - 30 -0.0 - 0 -LWPOLYLINE - 5 -15d -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -32.117935 - 20 -45.350243 - 30 -0.0 - 10 -32.117935 - 20 -35.850048 - 30 -0.0 - 10 -32.382518 - 20 -35.850048 - 30 -0.0 - 10 -32.382518 - 20 -45.350243 - 30 -0.0 - 0 -LWPOLYLINE - 5 -15e -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -31.750000 - 20 -45.482535 - 30 -0.0 - 10 -31.750000 - 20 -45.217952 - 30 -0.0 - 10 -32.250227 - 20 -45.217952 - 30 -0.0 - 10 -32.250227 - 20 -45.482535 - 30 -0.0 - 0 -LWPOLYLINE - 5 -15f -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -31.617708 - 20 -45.350243 - 30 -0.0 - 10 -31.617708 - 20 -35.850048 - 30 -0.0 - 10 -31.882292 - 20 -35.850048 - 30 -0.0 - 10 -31.882292 - 20 -45.350243 - 30 -0.0 - 0 -LWPOLYLINE - 5 -160 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -59.999954 - 20 -113.732116 - 30 -0.0 - 10 -59.999954 - 20 -113.467532 - 30 -0.0 - 10 -77.999889 - 20 -113.467532 - 30 -0.0 - 10 -77.999889 - 20 -113.732116 - 30 -0.0 - 0 -LWPOLYLINE - 5 -161 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -59.999954 - 20 -31.732481 - 30 -0.0 - 10 -59.999954 - 20 -31.467897 - 30 -0.0 - 10 -77.999889 - 20 -31.467897 - 30 -0.0 - 10 -77.999889 - 20 -31.732481 - 30 -0.0 - 0 -LWPOLYLINE - 5 -162 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -137.999846 - 20 -31.732481 - 30 -0.0 - 10 -137.999846 - 20 -31.467897 - 30 -0.0 - 10 -155.999781 - 20 -31.467897 - 30 -0.0 - 10 -155.999781 - 20 -31.732481 - 30 -0.0 - 0 -LWPOLYLINE - 5 -163 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -137.999846 - 20 -113.732116 - 30 -0.0 - 10 -137.999846 - 20 -113.467532 - 30 -0.0 - 10 -155.999781 - 20 -113.467532 - 30 -0.0 - 10 -155.999781 - 20 -113.732116 - 30 -0.0 - 0 -LWPOLYLINE - 5 -164 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -77.867597 - 20 -31.499938 - 30 -0.0 - 10 -77.867597 - 20 -0.000049 - 30 -0.0 - 10 -78.132181 - 20 -0.000049 - 30 -0.0 - 10 -78.132181 - 20 -31.499938 - 30 -0.0 - 0 -LWPOLYLINE - 5 -165 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -77.999889 - 20 -0.132341 - 30 -0.0 - 10 -77.999889 - 20 --0.132243 - 30 -0.0 - 10 -98.000219 - 20 --0.132243 - 30 -0.0 - 10 -98.000219 - 20 -0.132341 - 30 -0.0 - 0 -LWPOLYLINE - 5 -166 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -101.999976 - 20 -31.632230 - 30 -0.0 - 10 -101.999976 - 20 -31.367647 - 30 -0.0 - 10 -113.999759 - 20 -31.367647 - 30 -0.0 - 10 -113.999759 - 20 -31.632230 - 30 -0.0 - 0 -LWPOLYLINE - 5 -167 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -137.117728 - 20 -208.849824 - 30 -0.0 - 10 -137.117728 - 20 -181.849923 - 30 -0.0 - 10 -137.382311 - 20 -181.849923 - 30 -0.0 - 10 -137.382311 - 20 -208.849824 - 30 -0.0 - 0 -LWPOLYLINE - 5 -168 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -129.249993 - 20 -208.982116 - 30 -0.0 - 10 -129.249993 - 20 -208.717532 - 30 -0.0 - 10 -137.250019 - 20 -208.717532 - 30 -0.0 - 10 -137.250019 - 20 -208.982116 - 30 -0.0 - 0 -LWPOLYLINE - 5 -169 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -129.117701 - 20 -208.849824 - 30 -0.0 - 10 -129.117701 - 20 -181.849923 - 30 -0.0 - 10 -129.382285 - 20 -181.849923 - 30 -0.0 - 10 -129.382285 - 20 -208.849824 - 30 -0.0 - 0 -LWPOLYLINE - 5 -16a -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -129.249993 - 20 -181.982215 - 30 -0.0 - 10 -129.249993 - 20 -181.717631 - 30 -0.0 - 10 -137.250019 - 20 -181.717631 - 30 -0.0 - 10 -137.250019 - 20 -181.982215 - 30 -0.0 - 0 -LWPOLYLINE - 5 -16b -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -98.000219 - 20 -0.132341 - 30 -0.0 - 10 -98.000219 - 20 --0.132243 - 30 -0.0 - 10 -118.000034 - 20 --0.132243 - 30 -0.0 - 10 -118.000034 - 20 -0.132341 - 30 -0.0 - 0 -LWPOLYLINE - 5 -16c -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -101.867684 - 20 -31.499938 - 30 -0.0 - 10 -101.867684 - 20 -13.499990 - 30 -0.0 - 10 -102.132268 - 20 -13.499990 - 30 -0.0 - 10 -102.132268 - 20 -31.499938 - 30 -0.0 - 0 -LWPOLYLINE - 5 -16d -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -113.867467 - 20 -31.499938 - 30 -0.0 - 10 -113.867467 - 20 -13.499990 - 30 -0.0 - 10 -114.132050 - 20 -13.499990 - 30 -0.0 - 10 -114.132050 - 20 -31.499938 - 30 -0.0 - 0 -LWPOLYLINE - 5 -16e -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -155.999781 - 20 -113.732116 - 30 -0.0 - 10 -155.999781 - 20 -113.467532 - 30 -0.0 - 10 -166.000202 - 20 -113.467532 - 30 -0.0 - 10 -166.000202 - 20 -113.732116 - 30 -0.0 - 0 -LWPOLYLINE - 5 -16f -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -155.999781 - 20 -31.732481 - 30 -0.0 - 10 -155.999781 - 20 -31.467897 - 30 -0.0 - 10 -166.000202 - 20 -31.467897 - 30 -0.0 - 10 -166.000202 - 20 -31.732481 - 30 -0.0 - 0 -LWPOLYLINE - 5 -170 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -86.867566 - 20 -151.600089 - 30 -0.0 - 10 -86.867566 - 20 -113.599824 - 30 -0.0 - 10 -87.132149 - 20 -113.599824 - 30 -0.0 - 10 -87.132149 - 20 -151.600089 - 30 -0.0 - 0 -LWPOLYLINE - 5 -171 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -93.999947 - 20 -211.732338 - 30 -0.0 - 10 -93.999947 - 20 -211.467754 - 30 -0.0 - 10 -137.999846 - 20 -211.467754 - 30 -0.0 - 10 -137.999846 - 20 -211.732338 - 30 -0.0 - 0 -LWPOLYLINE - 5 -172 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -93.999947 - 20 -151.732381 - 30 -0.0 - 10 -93.999947 - 20 -151.467798 - 30 -0.0 - 10 -137.999846 - 20 -151.467798 - 30 -0.0 - 10 -137.999846 - 20 -151.732381 - 30 -0.0 - 0 -LWPOLYLINE - 5 -173 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -80.750111 - 20 -74.982545 - 30 -0.0 - 10 -80.750111 - 20 -74.717962 - 30 -0.0 - 10 -107.750012 - 20 -74.717962 - 30 -0.0 - 10 -107.750012 - 20 -74.982545 - 30 -0.0 - 0 -LWPOLYLINE - 5 -174 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -0.000000 - 20 -113.732116 - 30 -0.0 - 10 -0.000000 - 20 -113.467532 - 30 -0.0 - 10 -59.999954 - 20 -113.467532 - 30 -0.0 - 10 -59.999954 - 20 -113.732116 - 30 -0.0 - 0 -LWPOLYLINE - 5 -175 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -80.750111 - 20 -66.982516 - 30 -0.0 - 10 -80.750111 - 20 -66.717933 - 30 -0.0 - 10 -107.750012 - 20 -66.717933 - 30 -0.0 - 10 -107.750012 - 20 -66.982516 - 30 -0.0 - 0 -LWPOLYLINE - 5 -176 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -151.000084 - 20 -113.732116 - 30 -0.0 - 10 -151.000084 - 20 -113.467532 - 30 -0.0 - 10 -160.999993 - 20 -113.467532 - 30 -0.0 - 10 -160.999993 - 20 -113.732116 - 30 -0.0 - 0 -LWPOLYLINE - 5 -177 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -151.000084 - 20 -151.732381 - 30 -0.0 - 10 -151.000084 - 20 -151.467798 - 30 -0.0 - 10 -160.999993 - 20 -151.467798 - 30 -0.0 - 10 -160.999993 - 20 -151.732381 - 30 -0.0 - 0 -LWPOLYLINE - 5 -178 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -95.867532 - 20 -249.599793 - 30 -0.0 - 10 -95.867532 - 20 -211.600046 - 30 -0.0 - 10 -96.132116 - 20 -211.600046 - 30 -0.0 - 10 -96.132116 - 20 -249.599793 - 30 -0.0 - 0 -LWPOLYLINE - 5 -179 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -24.000085 - 20 -31.732481 - 30 -0.0 - 10 -24.000085 - 20 -31.467897 - 30 -0.0 - 10 -35.999870 - 20 -31.467897 - 30 -0.0 - 10 -35.999870 - 20 -31.732481 - 30 -0.0 - 0 -LWPOLYLINE - 5 -17a -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -150.406841 - 20 -141.600183 - 30 -0.0 - 10 -150.406841 - 20 -118.600036 - 30 -0.0 - 10 -150.671424 - 20 -118.600036 - 30 -0.0 - 10 -150.671424 - 20 -141.600183 - 30 -0.0 - 0 -LWPOLYLINE - 5 -17b -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -138.460800 - 20 -118.732328 - 30 -0.0 - 10 -138.460800 - 20 -118.467744 - 30 -0.0 - 10 -150.539133 - 20 -118.467744 - 30 -0.0 - 10 -150.539133 - 20 -118.732328 - 30 -0.0 - 0 -LWPOLYLINE - 5 -17c -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -106.000248 - 20 -249.732084 - 30 -0.0 - 10 -106.000248 - 20 -249.467501 - 30 -0.0 - 10 -118.999971 - 20 -249.467501 - 30 -0.0 - 10 -118.999971 - 20 -249.732084 - 30 -0.0 - 0 -LWPOLYLINE - 5 -17d -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -138.460800 - 20 -141.732475 - 30 -0.0 - 10 -138.460800 - 20 -141.467892 - 30 -0.0 - 10 -150.539133 - 20 -141.467892 - 30 -0.0 - 10 -150.539133 - 20 -141.732475 - 30 -0.0 - 0 -LWPOLYLINE - 5 -17e -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -118.000034 - 20 -0.132341 - 30 -0.0 - 10 -118.000034 - 20 --0.132243 - 30 -0.0 - 10 -137.999846 - 20 --0.132243 - 30 -0.0 - 10 -137.999846 - 20 -0.132341 - 30 -0.0 - 0 -LWPOLYLINE - 5 -17f -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -137.867554 - 20 -31.499938 - 30 -0.0 - 10 -137.867554 - 20 -0.000049 - 30 -0.0 - 10 -138.132137 - 20 -0.000049 - 30 -0.0 - 10 -138.132137 - 20 -31.499938 - 30 -0.0 - 0 -LWPOLYLINE - 5 -180 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -36.999810 - 20 -211.732338 - 30 -0.0 - 10 -36.999810 - 20 -211.467754 - 30 -0.0 - 10 -81.000224 - 20 -211.467754 - 30 -0.0 - 10 -81.000224 - 20 -211.732338 - 30 -0.0 - 0 -LWPOLYLINE - 5 -181 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -163.367805 - 20 -46.509346 - 30 -0.0 - 10 -163.367805 - 20 -41.509134 - 30 -0.0 - 10 -163.632388 - 20 -41.509134 - 30 -0.0 - 10 -163.632388 - 20 -46.509346 - 30 -0.0 - 0 -LWPOLYLINE - 5 -182 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -163.367805 - 20 -103.690868 - 30 -0.0 - 10 -163.367805 - 20 -98.690659 - 30 -0.0 - 10 -163.632388 - 20 -98.690659 - 30 -0.0 - 10 -163.632388 - 20 -103.690868 - 30 -0.0 - 0 -LWPOLYLINE - 5 -183 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -158.367595 - 20 -98.690659 - 30 -0.0 - 10 -158.367595 - 20 -83.782007 - 30 -0.0 - 10 -158.632178 - 20 -83.782007 - 30 -0.0 - 10 -158.632178 - 20 -98.690659 - 30 -0.0 - 0 -LWPOLYLINE - 5 -184 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -163.406563 - 20 -103.784404 - 30 -0.0 - 10 -158.406351 - 20 -98.784708 - 30 -0.0 - 10 -158.593420 - 20 -98.597123 - 30 -0.0 - 10 -163.593632 - 20 -103.597336 - 30 -0.0 - 0 -LWPOLYLINE - 5 -185 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -163.367805 - 20 -83.782007 - 30 -0.0 - 10 -163.367805 - 20 -78.781795 - 30 -0.0 - 10 -163.632388 - 20 -78.781795 - 30 -0.0 - 10 -163.632388 - 20 -83.782007 - 30 -0.0 - 0 -LWPOLYLINE - 5 -186 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -158.593420 - 20 -83.875540 - 30 -0.0 - 10 -158.406351 - 20 -83.688472 - 30 -0.0 - 10 -163.406563 - 20 -78.688262 - 30 -0.0 - 10 -163.593632 - 20 -78.875330 - 30 -0.0 - 0 -LWPOLYLINE - 5 -187 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -98.593466 - 20 -242.027129 - 30 -0.0 - 10 -98.406397 - 20 -241.839542 - 30 -0.0 - 10 -103.406607 - 20 -236.839849 - 30 -0.0 - 10 -103.593678 - 20 -237.026917 - 30 -0.0 - 0 -LWPOLYLINE - 5 -188 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -98.367638 - 20 -241.933078 - 30 -0.0 - 10 -98.367638 - 20 -236.933382 - 30 -0.0 - 10 -98.632222 - 20 -236.933382 - 30 -0.0 - 10 -98.632222 - 20 -241.933078 - 30 -0.0 - 0 -LWPOLYLINE - 5 -189 -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -6 - 70 -1 - 10 -137.999846 - 20 -113.732116 - 30 -0.0 - 10 -137.999846 - 20 -113.467532 - 30 -0.0 - 10 -151.000084 - 20 -113.467532 - 30 -0.0 - 10 -151.000084 - 20 -113.732116 - 30 -0.0 - 10 -137.999846 - 20 -113.732116 - 30 -0.0 - 10 -137.999846 - 20 -113.467532 - 30 -0.0 - 0 -LWPOLYLINE - 5 -18a -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -2 - 70 -1 - 10 -77.999889 - 20 -113.732116 - 30 -0.0 - 10 -77.999889 - 20 -113.467532 - 30 -0.0 - 0 -LWPOLYLINE - 5 -18b -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -96.999764 - 20 -113.732116 - 30 -0.0 - 10 -96.999764 - 20 -113.467532 - 30 -0.0 - 10 -118.999971 - 20 -113.467532 - 30 -0.0 - 10 -118.999971 - 20 -113.732116 - 30 -0.0 - 0 -LWPOLYLINE - 5 -18c -100 -AcDbEntity - 8 -Cut - 62 -7 -100 -AcDbPolyline - 90 -4 - 70 -1 - 10 -77.999889 - 20 -113.732116 - 30 -0.0 - 10 -77.999889 - 20 -113.467532 - 30 -0.0 - 10 -96.999764 - 20 -113.467532 - 30 -0.0 - 10 -96.999764 - 20 -113.732116 - 30 -0.0 - 0 -ENDSEC - 0 -SECTION - 2 -OBJECTS - 0 -DICTIONARY - 5 -C -330 -0 -100 -AcDbDictionary - 3 -ACAD_GROUP -350 -D - 3 -ACAD_MLINESTYLE -350 -17 - 0 -DICTIONARY - 5 -D -330 -C -100 -AcDbDictionary - 0 -DICTIONARY - 5 -1A -330 -C -100 -AcDbDictionary - 0 -DICTIONARY - 5 -17 -330 -C -100 -AcDbDictionary - 3 -STANDARD -350 -18 - 0 -DICTIONARY - 5 -19 -330 -C -100 -AcDbDictionary - 0 -ENDSEC - 0 -EOF diff --git a/paperbot_ee_autoroute/dwg_w_circuit.dxf b/paperbot_ee_autoroute/dwg_w_circuit.dxf index 1ed620ef8227a85de78e3d13251db2a112abfdb0..2519e688e32a2cab25b9945e0925670b19e84cfc 100644 --- a/paperbot_ee_autoroute/dwg_w_circuit.dxf +++ b/paperbot_ee_autoroute/dwg_w_circuit.dxf @@ -53,11 +53,11 @@ $HANDLING 9 $TDUPDATE 40 -2458712.703472222 +2458715.7067939816 9 $HANDSEED 5 -32A +3D5 9 $DWGCODEPAGE 3 @@ -557,7 +557,7 @@ TABLE 2 LAYER 70 -10 +7 0 LAYER 5 @@ -635,30 +635,6 @@ LAYER 5 2C7 2 -Circuit - 70 -0 - 62 -1 - 6 -CONTINUOUS - 0 -LAYER - 5 -2C8 - 2 -Label - 70 -0 - 62 -3 - 6 -CONTINUOUS - 0 -LAYER - 5 -2C9 - 2 Fold 70 0 @@ -667,18 +643,6 @@ Fold 6 CONTINUOUS 0 -LAYER - 5 -2CA - 2 -Pin_temp - 70 -0 - 62 -6 - 6 -CONTINUOUS - 0 ENDTAB 0 TABLE @@ -4353,17 +4317,71 @@ Cut 0 LINE 5 +2C8 + 8 +Circuit_Cut + 10 +112.3823 + 20 +80.65 + 11 +112.16 + 21 +80.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +2C9 + 8 +Circuit_Cut + 10 +112.16 + 20 +80.65 + 11 +112.16 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +2CA + 8 +Circuit_Cut + 10 +112.16 + 20 +82.65 + 11 +114.16 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 2CB 8 -Circuit +Circuit_Cut 10 -119.51 +114.16 20 -60.065 +82.65 11 -119.7324 +114.3823 21 -59.8426 +80.65 6 DASHDOT 67 @@ -4373,15 +4391,15 @@ LINE 5 2CC 8 -Circuit +Circuit_Cut 10 -119.7324 +112.3823 20 -59.8426 +80.65 11 -119.7324 +112.3823 21 -36.57 +81.4276 6 DASHDOT 67 @@ -4391,15 +4409,15 @@ LINE 5 2CD 8 -Circuit +Circuit_Cut 10 -119.7324 +114.3823 20 -36.57 +80.65 11 -119.51 +114.3823 21 -36.57 +81.4276 6 DASHDOT 67 @@ -4409,15 +4427,15 @@ LINE 5 2CE 8 -Circuit +Circuit_Cut 10 -118.7324 +112.3823 20 -59.065 +81.4276 11 -118.51 +112.3823 21 -59.065 +70.93891356237313 6 DASHDOT 67 @@ -4427,15 +4445,15 @@ LINE 5 2CF 8 -Circuit +Circuit_Cut 10 -118.51 +114.3823 20 -59.065 +81.4276 11 -118.51 +114.3823 21 -61.065 +70.11048643762693 6 DASHDOT 67 @@ -4445,15 +4463,15 @@ LINE 5 2D0 8 -Circuit +Circuit_Cut 10 -118.51 +112.38230000000001 20 -61.065 +70.93891356237312 11 -120.51 +106.64228643762692 21 -61.065 +65.1989 6 DASHDOT 67 @@ -4463,15 +4481,15 @@ LINE 5 2D1 8 -Circuit +Circuit_Cut 10 -120.51 +114.38230000000001 20 -61.065 +70.11048643762693 11 -120.7324 +107.4707135623731 21 -59.065 +63.198899999999995 6 DASHDOT 67 @@ -4481,15 +4499,15 @@ LINE 5 2D2 8 -Circuit +Circuit_Cut 10 -118.7324 +106.64228643762692 20 -59.065 +65.1989 11 -118.51 +91.08748643762692 21 -59.065 +65.1989 6 DASHDOT 67 @@ -4499,15 +4517,15 @@ LINE 5 2D3 8 -Circuit +Circuit_Cut 10 -118.51 +107.4707135623731 20 -59.065 +63.198899999999995 11 -118.51 +91.9159135623731 21 -61.065 +63.198899999999995 6 DASHDOT 67 @@ -4517,15 +4535,15 @@ LINE 5 2D4 8 -Circuit +Circuit_Cut 10 -118.51 +91.08748643762692 20 -61.065 +65.1989 11 -120.51 +88.03 21 -61.065 +62.14141356237308 6 DASHDOT 67 @@ -4535,15 +4553,15 @@ LINE 5 2D5 8 -Circuit +Circuit_Cut 10 -120.51 +91.9159135623731 20 -61.065 +63.198899999999995 11 -120.7324 +90.03 21 -59.065 +61.31298643762689 6 DASHDOT 67 @@ -4553,15 +4571,15 @@ LINE 5 2D6 8 -Circuit +Circuit_Cut 10 -118.7324 +88.03 20 -59.065 +61.065 11 -118.73239999999998 +88.03 21 -37.570000000000014 +59.065 6 DASHDOT 67 @@ -4571,15 +4589,15 @@ LINE 5 2D7 8 -Circuit +Circuit_Cut 10 -120.7324 +88.03 20 59.065 11 -120.73239999999998 +90.03 21 -35.570000000000014 +59.065 6 DASHDOT 67 @@ -4589,15 +4607,15 @@ LINE 5 2D8 8 -Circuit +Circuit_Cut 10 -118.73239999999998 +90.03 20 -37.570000000000014 +59.065 11 -118.73239999999998 +90.03 21 -37.570000000000014 +61.065 6 DASHDOT 67 @@ -4607,15 +4625,15 @@ LINE 5 2D9 8 -Circuit +Circuit_Cut 10 -120.73240000000001 +88.03 20 -35.569999999999986 +62.14141356237309 11 -120.73239999999998 +88.03 21 -35.570000000000014 +61.065 6 DASHDOT 67 @@ -4625,15 +4643,17 @@ LINE 5 2DA 8 -Cut +Circuit_Cut 10 -112.66 +90.03 20 -81.15 +61.3129864376269 11 -113.66 +90.03 21 -82.15 +61.065 + 6 +DASHDOT 67 0 0 @@ -4641,15 +4661,17 @@ LINE 5 2DB 8 -Cut +Circuit_Cut 10 -112.66 +118.7324 20 -82.15 +59.065 11 -113.66 +118.51 21 -81.15 +59.065 + 6 +DASHDOT 67 0 0 @@ -4657,15 +4679,17 @@ LINE 5 2DC 8 -Cut +Circuit_Cut 10 -110.12 +118.51 20 -81.15 +59.065 11 -111.12 +118.51 21 -82.15 +61.065 + 6 +DASHDOT 67 0 0 @@ -4673,15 +4697,17 @@ LINE 5 2DD 8 -Cut +Circuit_Cut 10 -110.12 +118.51 20 -82.15 +61.065 11 -111.12 +120.51 21 -81.15 +61.065 + 6 +DASHDOT 67 0 0 @@ -4689,15 +4715,17 @@ LINE 5 2DE 8 -Cut +Circuit_Cut 10 -107.58 +120.51 20 -81.15 +61.065 11 -108.58 +120.7324 21 -82.15 +59.065 + 6 +DASHDOT 67 0 0 @@ -4705,15 +4733,17 @@ LINE 5 2DF 8 -Cut +Circuit_Cut 10 -107.58 +118.7324 20 -82.15 +37.56999999999999 11 -108.58 +118.50999999999999 21 -81.15 +37.56999999999999 + 6 +DASHDOT 67 0 0 @@ -4721,15 +4751,17 @@ LINE 5 2E0 8 -Cut +Circuit_Cut 10 -105.04 +118.50999999999999 20 -81.15 +37.56999999999999 11 -106.04 +118.50999999999999 21 -82.15 +35.56999999999999 + 6 +DASHDOT 67 0 0 @@ -4737,15 +4769,17 @@ LINE 5 2E1 8 -Cut +Circuit_Cut 10 -105.04 +118.50999999999999 20 -82.15 +35.56999999999999 11 -106.04 +120.50999999999999 21 -81.15 +35.56999999999999 + 6 +DASHDOT 67 0 0 @@ -4753,15 +4787,17 @@ LINE 5 2E2 8 -Cut +Circuit_Cut 10 -102.5 +120.50999999999999 20 -81.15 +35.56999999999999 11 -103.5 +120.7324 21 -82.15 +37.56999999999999 + 6 +DASHDOT 67 0 0 @@ -4769,15 +4805,17 @@ LINE 5 2E3 8 -Cut +Circuit_Cut 10 -102.5 +118.7324 20 -82.15 +59.065 11 -103.5 +118.7324 21 -81.15 +37.56999999999999 + 6 +DASHDOT 67 0 0 @@ -4785,15 +4823,17 @@ LINE 5 2E4 8 -Cut +Circuit_Cut 10 -99.96 +120.7324 20 -81.15 +59.065 11 -100.96 +120.7324 21 -82.15 +37.56999999999999 + 6 +DASHDOT 67 0 0 @@ -4801,15 +4841,17 @@ LINE 5 2E5 8 -Cut +Circuit_Cut 10 -99.96 +85.49 20 -82.15 +59.065000000000005 11 -100.96 +85.49000000000001 21 -81.15 +61.065000000000005 + 6 +DASHDOT 67 0 0 @@ -4817,15 +4859,17 @@ LINE 5 2E6 8 -Cut +Circuit_Cut 10 -97.42 +85.49000000000001 20 -81.15 +61.065000000000005 11 -98.42 +87.49000000000001 21 -82.15 +61.065000000000005 + 6 +DASHDOT 67 0 0 @@ -4833,15 +4877,17 @@ LINE 5 2E7 8 -Cut +Circuit_Cut 10 -97.42 +87.49000000000001 20 -82.15 +61.065000000000005 11 -98.42 +87.49 21 -81.15 +59.065000000000005 + 6 +DASHDOT 67 0 0 @@ -4849,15 +4895,17 @@ LINE 5 2E8 8 -Cut +Circuit_Cut 10 -94.88 +85.49 20 -81.15 +59.065000000000005 11 -95.88 +85.49 21 -82.15 +57.94081356237307 + 6 +DASHDOT 67 0 0 @@ -4865,15 +4913,17 @@ LINE 5 2E9 8 -Cut +Circuit_Cut 10 -94.88 +87.49 20 -82.15 +59.065000000000005 11 -95.88 +87.49 21 -81.15 +57.11238643762692 + 6 +DASHDOT 67 0 0 @@ -4881,15 +4931,17 @@ LINE 5 2EA 8 -Cut +Circuit_Cut 10 -92.34 +85.49 20 -81.15 +57.94081356237307 11 -93.34 +85.82608643762691 21 -82.15 +58.2769 + 6 +DASHDOT 67 0 0 @@ -4897,15 +4949,17 @@ LINE 5 2EB 8 -Cut +Circuit_Cut 10 -92.34 +87.49000000000001 20 -82.15 +57.11238643762691 11 -93.34 +86.65451356237313 21 -81.15 +56.2769 + 6 +DASHDOT 67 0 0 @@ -4913,15 +4967,17 @@ LINE 5 2EC 8 -Cut +Circuit_Cut 10 -89.8 +85.82608643762691 20 -81.15 +58.276900000000005 11 -90.8 +83.2070135623731 21 -82.15 +58.276900000000005 + 6 +DASHDOT 67 0 0 @@ -4929,15 +4985,17 @@ LINE 5 2ED 8 -Cut +Circuit_Cut 10 -89.8 +86.65451356237313 20 -82.15 +56.276900000000005 11 -90.8 +82.37858643762691 21 -81.15 +56.276900000000005 + 6 +DASHDOT 67 0 0 @@ -4945,15 +5003,17 @@ LINE 5 2EE 8 -Cut +Circuit_Cut 10 -83.45 +83.20701356237309 20 -59.565000000000005 +58.27689999999999 11 -84.45 +80.54960000000001 21 -60.565000000000005 +60.93431356237309 + 6 +DASHDOT 67 0 0 @@ -4961,15 +5021,17 @@ LINE 5 2EF 8 -Cut +Circuit_Cut 10 -83.45 +82.37858643762691 20 -60.565000000000005 +56.276899999999976 11 -84.45 +78.54959999999998 21 -59.565000000000005 +60.1058864376269 + 6 +DASHDOT 67 0 0 @@ -4977,15 +5039,17 @@ LINE 5 2F0 8 -Cut +Circuit_Cut 10 -85.99000000000001 +78.5496 20 -59.565000000000005 +60.10588643762689 11 -86.99000000000001 +78.5496 21 -60.565000000000005 +76.0412135623731 + 6 +DASHDOT 67 0 0 @@ -4993,15 +5057,17 @@ LINE 5 2F1 8 -Cut +Circuit_Cut 10 -85.99000000000001 +80.5496 20 -60.565000000000005 +60.934313562373084 11 -86.99000000000001 +80.5496 21 -59.565000000000005 +75.2127864376269 + 6 +DASHDOT 67 0 0 @@ -5009,15 +5075,17 @@ LINE 5 2F2 8 -Cut +Circuit_Cut 10 -88.53 +78.54959999999998 20 -59.565 +76.0412135623731 11 -89.53 +82.3827864376269 21 -60.565 +79.8744 + 6 +DASHDOT 67 0 0 @@ -5025,15 +5093,17 @@ LINE 5 2F3 8 -Cut +Circuit_Cut 10 -88.53 +80.5496 20 -60.565 +75.2127864376269 11 -89.53 +83.21121356237309 21 -59.565 +77.8744 + 6 +DASHDOT 67 0 0 @@ -5041,15 +5111,17 @@ LINE 5 2F4 8 -Cut +Circuit_Cut 10 -91.07000000000001 +82.3827864376269 20 -59.565 +79.8744 11 -92.07000000000001 +101.4723864376269 21 -60.565 +79.8744 + 6 +DASHDOT 67 0 0 @@ -5057,15 +5129,17 @@ LINE 5 2F5 8 -Cut +Circuit_Cut 10 -91.07000000000001 +83.21121356237309 20 -60.565 +77.8744 11 -92.07000000000001 +102.3008135623731 21 -59.565 +77.8744 + 6 +DASHDOT 67 0 0 @@ -5073,15 +5147,17 @@ LINE 5 2F6 8 -Cut +Circuit_Cut 10 -93.61 +101.4723864376269 20 -59.565 +79.8744 11 -94.61 +101.99999999999999 21 -60.565 +80.40201356237309 + 6 +DASHDOT 67 0 0 @@ -5089,15 +5165,17 @@ LINE 5 2F7 8 -Cut +Circuit_Cut 10 -93.61 +102.3008135623731 20 -60.565 +77.87439999999998 11 -94.61 +103.99999999999999 21 -59.565 +79.57358643762689 + 6 +DASHDOT 67 0 0 @@ -5105,15 +5183,17 @@ LINE 5 2F8 8 -Cut +Circuit_Cut 10 -96.15 +102.0 20 -59.565 +80.65 11 -97.15 +102.0 21 -60.565 +82.65 + 6 +DASHDOT 67 0 0 @@ -5121,15 +5201,17 @@ LINE 5 2F9 8 -Cut +Circuit_Cut 10 -96.15 +102.0 20 -60.565 +82.65 11 -97.15 +104.0 21 -59.565 +82.65 + 6 +DASHDOT 67 0 0 @@ -5137,15 +5219,17 @@ LINE 5 2FA 8 -Cut +Circuit_Cut 10 -98.69 +104.0 20 -59.565 +82.65 11 -99.69 +104.0 21 -60.565 +80.65 + 6 +DASHDOT 67 0 0 @@ -5153,15 +5237,17 @@ LINE 5 2FB 8 -Cut +Circuit_Cut 10 -98.69 +102.0 20 -60.565 +80.40201356237309 11 -99.69 +102.0 21 -59.565 +80.65 + 6 +DASHDOT 67 0 0 @@ -5169,15 +5255,17 @@ LINE 5 2FC 8 -Cut +Circuit_Cut 10 -101.23 +104.0 20 -59.565 +79.57358643762689 11 -102.23 +104.0 21 -60.565 +80.65 + 6 +DASHDOT 67 0 0 @@ -5187,13 +5275,13 @@ LINE 8 Cut 10 -101.23 +112.66 20 -60.565 +81.15 11 -102.23 +113.66 21 -59.565 +82.15 67 0 0 @@ -5203,13 +5291,13 @@ LINE 8 Cut 10 -103.77 +112.66 20 -59.565 +82.15 11 -104.77 +113.66 21 -60.565 +81.15 67 0 0 @@ -5219,13 +5307,13 @@ LINE 8 Cut 10 -103.77 +110.12 20 -60.565 +81.15 11 -104.77 +111.12 21 -59.565 +82.15 67 0 0 @@ -5235,13 +5323,13 @@ LINE 8 Cut 10 -106.31 +110.12 20 -59.565 +82.15 11 -107.31 +111.12 21 -60.565 +81.15 67 0 0 @@ -5251,13 +5339,13 @@ LINE 8 Cut 10 -106.31 +107.58 20 -60.565 +81.15 11 -107.31 +108.58 21 -59.565 +82.15 67 0 0 @@ -5267,13 +5355,13 @@ LINE 8 Cut 10 -108.85 +107.58 20 -59.565 +82.15 11 -109.85 +108.58 21 -60.565 +81.15 67 0 0 @@ -5283,13 +5371,13 @@ LINE 8 Cut 10 -108.85 +105.04 20 -60.565 +81.15 11 -109.85 +106.04 21 -59.565 +82.15 67 0 0 @@ -5299,13 +5387,13 @@ LINE 8 Cut 10 -111.39 +105.04 20 -59.565 +82.15 11 -112.39 +106.04 21 -60.565 +81.15 67 0 0 @@ -5315,13 +5403,13 @@ LINE 8 Cut 10 -111.39 +102.5 20 -60.565 +81.15 11 -112.39 +103.5 21 -59.565 +82.15 67 0 0 @@ -5331,13 +5419,13 @@ LINE 8 Cut 10 -113.93 +102.5 20 -59.565 +82.15 11 -114.93 +103.5 21 -60.565 +81.15 67 0 0 @@ -5347,13 +5435,13 @@ LINE 8 Cut 10 -113.93 +99.96 20 -60.565 +81.15 11 -114.93 +100.96 21 -59.565 +82.15 67 0 0 @@ -5363,13 +5451,13 @@ LINE 8 Cut 10 -116.47 +99.96 20 -59.565 +82.15 11 -117.47 +100.96 21 -60.565 +81.15 67 0 0 @@ -5379,13 +5467,13 @@ LINE 8 Cut 10 -116.47 +97.42 20 -60.565 +81.15 11 -117.47 +98.42 21 -59.565 +82.15 67 0 0 @@ -5395,13 +5483,13 @@ LINE 8 Cut 10 -119.01 +97.42 20 -59.565 +82.15 11 -120.01 +98.42 21 -60.565 +81.15 67 0 0 @@ -5411,13 +5499,13 @@ LINE 8 Cut 10 -119.01 +94.88 20 -60.565 +81.15 11 -120.01 +95.88 21 -59.565 +82.15 67 0 0 @@ -5427,13 +5515,13 @@ LINE 8 Cut 10 -119.00999999999999 +94.88 20 -36.06999999999999 +82.15 11 -120.00999999999999 +95.88 21 -37.06999999999999 +81.15 67 0 0 @@ -5443,13 +5531,13 @@ LINE 8 Cut 10 -119.00999999999999 +92.34 20 -37.06999999999999 +81.15 11 -120.00999999999999 +93.34 21 -36.06999999999999 +82.15 67 0 0 @@ -5459,13 +5547,13 @@ LINE 8 Cut 10 -116.47 +92.34 20 -36.07 +82.15 11 -117.47 +93.34 21 -37.07 +81.15 67 0 0 @@ -5475,13 +5563,13 @@ LINE 8 Cut 10 -116.47 +89.8 20 -37.07 +81.15 11 -117.47 +90.8 21 -36.07 +82.15 67 0 0 @@ -5491,13 +5579,13 @@ LINE 8 Cut 10 -113.92999999999999 +89.8 20 -36.07 +82.15 11 -114.92999999999999 +90.8 21 -37.07 +81.15 67 0 0 @@ -5507,13 +5595,13 @@ LINE 8 Cut 10 -113.92999999999999 +83.45 20 -37.07 +59.565000000000005 11 -114.92999999999999 +84.45 21 -36.07 +60.565000000000005 67 0 0 @@ -5523,13 +5611,13 @@ LINE 8 Cut 10 -111.39 +83.45 20 -36.07 +60.565000000000005 11 -112.39 +84.45 21 -37.07 +59.565000000000005 67 0 0 @@ -5539,13 +5627,13 @@ LINE 8 Cut 10 -111.39 +85.99000000000001 20 -37.07 +59.565000000000005 11 -112.39 +86.99000000000001 21 -36.07 +60.565000000000005 67 0 0 @@ -5555,13 +5643,13 @@ LINE 8 Cut 10 -108.85 +85.99000000000001 20 -36.07 +60.565000000000005 11 -109.85 +86.99000000000001 21 -37.07 +59.565000000000005 67 0 0 @@ -5571,13 +5659,13 @@ LINE 8 Cut 10 -108.85 +88.53 20 -37.07 +59.565 11 -109.85 +89.53 21 -36.07 +60.565 67 0 0 @@ -5587,13 +5675,13 @@ LINE 8 Cut 10 -106.31 +88.53 20 -36.07 +60.565 11 -107.31 +89.53 21 -37.07 +59.565 67 0 0 @@ -5603,13 +5691,13 @@ LINE 8 Cut 10 -106.31 +91.07000000000001 20 -37.07 +59.565 11 -107.31 +92.07000000000001 21 -36.07 +60.565 67 0 0 @@ -5619,13 +5707,13 @@ LINE 8 Cut 10 -103.77 +91.07000000000001 20 -36.07 +60.565 11 -104.77 +92.07000000000001 21 -37.07 +59.565 67 0 0 @@ -5635,13 +5723,13 @@ LINE 8 Cut 10 -103.77 +93.61 20 -37.07 +59.565 11 -104.77 +94.61 21 -36.07 +60.565 67 0 0 @@ -5651,13 +5739,13 @@ LINE 8 Cut 10 -101.23 +93.61 20 -36.07 +60.565 11 -102.23 +94.61 21 -37.07 +59.565 67 0 0 @@ -5667,13 +5755,13 @@ LINE 8 Cut 10 -101.23 +96.15 20 -37.07 +59.565 11 -102.23 +97.15 21 -36.07 +60.565 67 0 0 @@ -5683,13 +5771,13 @@ LINE 8 Cut 10 -98.69 +96.15 20 -36.07 +60.565 11 -99.69 +97.15 21 -37.07 +59.565 67 0 0 @@ -5701,11 +5789,11 @@ Cut 10 98.69 20 -37.07 +59.565 11 99.69 21 -36.07 +60.565 67 0 0 @@ -5715,13 +5803,13 @@ LINE 8 Cut 10 -96.15 +98.69 20 -36.07 +60.565 11 -97.15 +99.69 21 -37.07 +59.565 67 0 0 @@ -5731,13 +5819,13 @@ LINE 8 Cut 10 -96.15 +101.23 20 -37.07 +59.565 11 -97.15 +102.23 21 -36.07 +60.565 67 0 0 @@ -5747,13 +5835,13 @@ LINE 8 Cut 10 -93.61 +101.23 20 -36.07 +60.565 11 -94.61 +102.23 21 -37.07 +59.565 67 0 0 @@ -5763,13 +5851,13 @@ LINE 8 Cut 10 -93.61 +103.77 20 -37.07 +59.565 11 -94.61 +104.77 21 -36.07 +60.565 67 0 0 @@ -5779,13 +5867,13 @@ LINE 8 Cut 10 -91.07 +103.77 20 -36.07 +60.565 11 -92.07 +104.77 21 -37.07 +59.565 67 0 0 @@ -5795,13 +5883,13 @@ LINE 8 Cut 10 -91.07 +106.31 20 -37.07 +59.565 11 -92.07 +107.31 21 -36.07 +60.565 67 0 0 @@ -5811,13 +5899,13 @@ LINE 8 Cut 10 -88.53 +106.31 20 -36.07 +60.565 11 -89.53 +107.31 21 -37.07 +59.565 67 0 0 @@ -5827,13 +5915,13 @@ LINE 8 Cut 10 -88.53 +108.85 20 -37.07 +59.565 11 -89.53 +109.85 21 -36.07 +60.565 67 0 0 @@ -5843,13 +5931,13 @@ LINE 8 Cut 10 -85.99 +108.85 20 -36.07000000000001 +60.565 11 -86.99 +109.85 21 -37.07000000000001 +59.565 67 0 0 @@ -5859,13 +5947,13 @@ LINE 8 Cut 10 -85.99 +111.39 20 -37.07000000000001 +59.565 11 -86.99 +112.39 21 -36.07000000000001 +60.565 67 0 0 @@ -5875,13 +5963,13 @@ LINE 8 Cut 10 -83.44999999999999 +111.39 20 -36.07000000000001 +60.565 11 -84.44999999999999 +112.39 21 -37.07000000000001 +59.565 67 0 0 @@ -5891,13 +5979,3021 @@ LINE 8 Cut 10 -83.44999999999999 +113.93 20 -37.07000000000001 +59.565 11 -84.44999999999999 +114.93 21 -36.07000000000001 +60.565 + 67 +0 + 0 +LINE + 5 +32A + 8 +Cut + 10 +113.93 + 20 +60.565 + 11 +114.93 + 21 +59.565 + 67 +0 + 0 +LINE + 5 +32B + 8 +Cut + 10 +116.47 + 20 +59.565 + 11 +117.47 + 21 +60.565 + 67 +0 + 0 +LINE + 5 +32C + 8 +Cut + 10 +116.47 + 20 +60.565 + 11 +117.47 + 21 +59.565 + 67 +0 + 0 +LINE + 5 +32D + 8 +Cut + 10 +119.01 + 20 +59.565 + 11 +120.01 + 21 +60.565 + 67 +0 + 0 +LINE + 5 +32E + 8 +Cut + 10 +119.01 + 20 +60.565 + 11 +120.01 + 21 +59.565 + 67 +0 + 0 +LINE + 5 +32F + 8 +Cut + 10 +119.00999999999999 + 20 +36.06999999999999 + 11 +120.00999999999999 + 21 +37.06999999999999 + 67 +0 + 0 +LINE + 5 +330 + 8 +Cut + 10 +119.00999999999999 + 20 +37.06999999999999 + 11 +120.00999999999999 + 21 +36.06999999999999 + 67 +0 + 0 +LINE + 5 +331 + 8 +Cut + 10 +116.47 + 20 +36.07 + 11 +117.47 + 21 +37.07 + 67 +0 + 0 +LINE + 5 +332 + 8 +Cut + 10 +116.47 + 20 +37.07 + 11 +117.47 + 21 +36.07 + 67 +0 + 0 +LINE + 5 +333 + 8 +Cut + 10 +113.92999999999999 + 20 +36.07 + 11 +114.92999999999999 + 21 +37.07 + 67 +0 + 0 +LINE + 5 +334 + 8 +Cut + 10 +113.92999999999999 + 20 +37.07 + 11 +114.92999999999999 + 21 +36.07 + 67 +0 + 0 +LINE + 5 +335 + 8 +Cut + 10 +111.39 + 20 +36.07 + 11 +112.39 + 21 +37.07 + 67 +0 + 0 +LINE + 5 +336 + 8 +Cut + 10 +111.39 + 20 +37.07 + 11 +112.39 + 21 +36.07 + 67 +0 + 0 +LINE + 5 +337 + 8 +Cut + 10 +108.85 + 20 +36.07 + 11 +109.85 + 21 +37.07 + 67 +0 + 0 +LINE + 5 +338 + 8 +Cut + 10 +108.85 + 20 +37.07 + 11 +109.85 + 21 +36.07 + 67 +0 + 0 +LINE + 5 +339 + 8 +Cut + 10 +106.31 + 20 +36.07 + 11 +107.31 + 21 +37.07 + 67 +0 + 0 +LINE + 5 +33A + 8 +Cut + 10 +106.31 + 20 +37.07 + 11 +107.31 + 21 +36.07 + 67 +0 + 0 +LINE + 5 +33B + 8 +Cut + 10 +103.77 + 20 +36.07 + 11 +104.77 + 21 +37.07 + 67 +0 + 0 +LINE + 5 +33C + 8 +Cut + 10 +103.77 + 20 +37.07 + 11 +104.77 + 21 +36.07 + 67 +0 + 0 +LINE + 5 +33D + 8 +Cut + 10 +101.23 + 20 +36.07 + 11 +102.23 + 21 +37.07 + 67 +0 + 0 +LINE + 5 +33E + 8 +Cut + 10 +101.23 + 20 +37.07 + 11 +102.23 + 21 +36.07 + 67 +0 + 0 +LINE + 5 +33F + 8 +Cut + 10 +98.69 + 20 +36.07 + 11 +99.69 + 21 +37.07 + 67 +0 + 0 +LINE + 5 +340 + 8 +Cut + 10 +98.69 + 20 +37.07 + 11 +99.69 + 21 +36.07 + 67 +0 + 0 +LINE + 5 +341 + 8 +Cut + 10 +96.15 + 20 +36.07 + 11 +97.15 + 21 +37.07 + 67 +0 + 0 +LINE + 5 +342 + 8 +Cut + 10 +96.15 + 20 +37.07 + 11 +97.15 + 21 +36.07 + 67 +0 + 0 +LINE + 5 +343 + 8 +Cut + 10 +93.61 + 20 +36.07 + 11 +94.61 + 21 +37.07 + 67 +0 + 0 +LINE + 5 +344 + 8 +Cut + 10 +93.61 + 20 +37.07 + 11 +94.61 + 21 +36.07 + 67 +0 + 0 +LINE + 5 +345 + 8 +Cut + 10 +91.07 + 20 +36.07 + 11 +92.07 + 21 +37.07 + 67 +0 + 0 +LINE + 5 +346 + 8 +Cut + 10 +91.07 + 20 +37.07 + 11 +92.07 + 21 +36.07 + 67 +0 + 0 +LINE + 5 +347 + 8 +Cut + 10 +88.53 + 20 +36.07 + 11 +89.53 + 21 +37.07 + 67 +0 + 0 +LINE + 5 +348 + 8 +Cut + 10 +88.53 + 20 +37.07 + 11 +89.53 + 21 +36.07 + 67 +0 + 0 +LINE + 5 +349 + 8 +Cut + 10 +85.99 + 20 +36.07000000000001 + 11 +86.99 + 21 +37.07000000000001 + 67 +0 + 0 +LINE + 5 +34A + 8 +Cut + 10 +85.99 + 20 +37.07000000000001 + 11 +86.99 + 21 +36.07000000000001 + 67 +0 + 0 +LINE + 5 +34B + 8 +Cut + 10 +83.44999999999999 + 20 +36.07000000000001 + 11 +84.44999999999999 + 21 +37.07000000000001 + 67 +0 + 0 +LINE + 5 +34C + 8 +Cut + 10 +83.44999999999999 + 20 +37.07000000000001 + 11 +84.44999999999999 + 21 +36.07000000000001 + 67 +0 + 0 +LINE + 5 +34D + 8 +Circuit_Cut + 10 +109.62 + 20 +80.65 + 11 +109.62 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +34E + 8 +Circuit_Cut + 10 +109.62 + 20 +82.65 + 11 +111.62 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +34F + 8 +Circuit_Cut + 10 +111.62 + 20 +80.65 + 11 +111.62 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +350 + 8 +Circuit_Cut + 10 +109.62 + 20 +80.65 + 11 +111.62 + 21 +80.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +351 + 8 +Circuit_Cut + 10 +107.08 + 20 +80.65 + 11 +107.08 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +352 + 8 +Circuit_Cut + 10 +107.08 + 20 +82.65 + 11 +109.08 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +353 + 8 +Circuit_Cut + 10 +109.08 + 20 +80.65 + 11 +109.08 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +354 + 8 +Circuit_Cut + 10 +107.08 + 20 +80.65 + 11 +109.08 + 21 +80.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +355 + 8 +Circuit_Cut + 10 +104.54 + 20 +80.65 + 11 +104.54 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +356 + 8 +Circuit_Cut + 10 +104.54 + 20 +82.65 + 11 +106.54 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +357 + 8 +Circuit_Cut + 10 +106.54 + 20 +80.65 + 11 +106.54 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +358 + 8 +Circuit_Cut + 10 +104.54 + 20 +80.65 + 11 +106.54 + 21 +80.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +359 + 8 +Circuit_Cut + 10 +99.46 + 20 +80.65 + 11 +99.46 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +35A + 8 +Circuit_Cut + 10 +99.46 + 20 +82.65 + 11 +101.46 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +35B + 8 +Circuit_Cut + 10 +101.46 + 20 +80.65 + 11 +101.46 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +35C + 8 +Circuit_Cut + 10 +99.46 + 20 +80.65 + 11 +101.46 + 21 +80.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +35D + 8 +Circuit_Cut + 10 +96.92 + 20 +80.65 + 11 +96.92 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +35E + 8 +Circuit_Cut + 10 +96.92 + 20 +82.65 + 11 +98.92 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +35F + 8 +Circuit_Cut + 10 +98.92 + 20 +80.65 + 11 +98.92 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +360 + 8 +Circuit_Cut + 10 +96.92 + 20 +80.65 + 11 +98.92 + 21 +80.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +361 + 8 +Circuit_Cut + 10 +94.38 + 20 +80.65 + 11 +94.38 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +362 + 8 +Circuit_Cut + 10 +94.38 + 20 +82.65 + 11 +96.38 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +363 + 8 +Circuit_Cut + 10 +96.38 + 20 +80.65 + 11 +96.38 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +364 + 8 +Circuit_Cut + 10 +94.38 + 20 +80.65 + 11 +96.38 + 21 +80.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +365 + 8 +Circuit_Cut + 10 +91.84 + 20 +80.65 + 11 +91.84 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +366 + 8 +Circuit_Cut + 10 +91.84 + 20 +82.65 + 11 +93.84 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +367 + 8 +Circuit_Cut + 10 +93.84 + 20 +80.65 + 11 +93.84 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +368 + 8 +Circuit_Cut + 10 +91.84 + 20 +80.65 + 11 +93.84 + 21 +80.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +369 + 8 +Circuit_Cut + 10 +89.3 + 20 +80.65 + 11 +89.3 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +36A + 8 +Circuit_Cut + 10 +89.3 + 20 +82.65 + 11 +91.3 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +36B + 8 +Circuit_Cut + 10 +91.3 + 20 +80.65 + 11 +91.3 + 21 +82.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +36C + 8 +Circuit_Cut + 10 +89.3 + 20 +80.65 + 11 +91.3 + 21 +80.65 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +36D + 8 +Circuit_Cut + 10 +82.95 + 20 +59.065000000000005 + 11 +82.95 + 21 +61.065000000000005 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +36E + 8 +Circuit_Cut + 10 +82.95 + 20 +61.065000000000005 + 11 +84.95 + 21 +61.065000000000005 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +36F + 8 +Circuit_Cut + 10 +84.95 + 20 +59.065000000000005 + 11 +84.95 + 21 +61.065000000000005 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +370 + 8 +Circuit_Cut + 10 +82.95 + 20 +59.065000000000005 + 11 +84.95 + 21 +59.065000000000005 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +371 + 8 +Circuit_Cut + 10 +90.57000000000001 + 20 +59.065 + 11 +90.57000000000001 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +372 + 8 +Circuit_Cut + 10 +90.57000000000001 + 20 +61.065 + 11 +92.57000000000001 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +373 + 8 +Circuit_Cut + 10 +92.57000000000001 + 20 +59.065 + 11 +92.57000000000001 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +374 + 8 +Circuit_Cut + 10 +90.57000000000001 + 20 +59.065 + 11 +92.57000000000001 + 21 +59.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +375 + 8 +Circuit_Cut + 10 +93.11 + 20 +59.065 + 11 +93.11 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +376 + 8 +Circuit_Cut + 10 +93.11 + 20 +61.065 + 11 +95.11 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +377 + 8 +Circuit_Cut + 10 +95.11 + 20 +59.065 + 11 +95.11 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +378 + 8 +Circuit_Cut + 10 +93.11 + 20 +59.065 + 11 +95.11 + 21 +59.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +379 + 8 +Circuit_Cut + 10 +95.65 + 20 +59.065 + 11 +95.65 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +37A + 8 +Circuit_Cut + 10 +95.65 + 20 +61.065 + 11 +97.65 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +37B + 8 +Circuit_Cut + 10 +97.65 + 20 +59.065 + 11 +97.65 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +37C + 8 +Circuit_Cut + 10 +95.65 + 20 +59.065 + 11 +97.65 + 21 +59.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +37D + 8 +Circuit_Cut + 10 +98.19 + 20 +59.065 + 11 +98.19 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +37E + 8 +Circuit_Cut + 10 +98.19 + 20 +61.065 + 11 +100.19 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +37F + 8 +Circuit_Cut + 10 +100.19 + 20 +59.065 + 11 +100.19 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +380 + 8 +Circuit_Cut + 10 +98.19 + 20 +59.065 + 11 +100.19 + 21 +59.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +381 + 8 +Circuit_Cut + 10 +100.73 + 20 +59.065 + 11 +100.73 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +382 + 8 +Circuit_Cut + 10 +100.73 + 20 +61.065 + 11 +102.73 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +383 + 8 +Circuit_Cut + 10 +102.73 + 20 +59.065 + 11 +102.73 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +384 + 8 +Circuit_Cut + 10 +100.73 + 20 +59.065 + 11 +102.73 + 21 +59.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +385 + 8 +Circuit_Cut + 10 +103.27 + 20 +59.065 + 11 +103.27 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +386 + 8 +Circuit_Cut + 10 +103.27 + 20 +61.065 + 11 +105.27 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +387 + 8 +Circuit_Cut + 10 +105.27 + 20 +59.065 + 11 +105.27 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +388 + 8 +Circuit_Cut + 10 +103.27 + 20 +59.065 + 11 +105.27 + 21 +59.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +389 + 8 +Circuit_Cut + 10 +105.81 + 20 +59.065 + 11 +105.81 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +38A + 8 +Circuit_Cut + 10 +105.81 + 20 +61.065 + 11 +107.81 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +38B + 8 +Circuit_Cut + 10 +107.81 + 20 +59.065 + 11 +107.81 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +38C + 8 +Circuit_Cut + 10 +105.81 + 20 +59.065 + 11 +107.81 + 21 +59.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +38D + 8 +Circuit_Cut + 10 +108.35 + 20 +59.065 + 11 +108.35 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +38E + 8 +Circuit_Cut + 10 +108.35 + 20 +61.065 + 11 +110.35 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +38F + 8 +Circuit_Cut + 10 +110.35 + 20 +59.065 + 11 +110.35 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +390 + 8 +Circuit_Cut + 10 +108.35 + 20 +59.065 + 11 +110.35 + 21 +59.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +391 + 8 +Circuit_Cut + 10 +110.89 + 20 +59.065 + 11 +110.89 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +392 + 8 +Circuit_Cut + 10 +110.89 + 20 +61.065 + 11 +112.89 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +393 + 8 +Circuit_Cut + 10 +112.89 + 20 +59.065 + 11 +112.89 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +394 + 8 +Circuit_Cut + 10 +110.89 + 20 +59.065 + 11 +112.89 + 21 +59.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +395 + 8 +Circuit_Cut + 10 +113.43 + 20 +59.065 + 11 +113.43 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +396 + 8 +Circuit_Cut + 10 +113.43 + 20 +61.065 + 11 +115.43 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +397 + 8 +Circuit_Cut + 10 +115.43 + 20 +59.065 + 11 +115.43 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +398 + 8 +Circuit_Cut + 10 +113.43 + 20 +59.065 + 11 +115.43 + 21 +59.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +399 + 8 +Circuit_Cut + 10 +115.97 + 20 +59.065 + 11 +115.97 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +39A + 8 +Circuit_Cut + 10 +115.97 + 20 +61.065 + 11 +117.97 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +39B + 8 +Circuit_Cut + 10 +117.97 + 20 +59.065 + 11 +117.97 + 21 +61.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +39C + 8 +Circuit_Cut + 10 +115.97 + 20 +59.065 + 11 +117.97 + 21 +59.065 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +39D + 8 +Circuit_Cut + 10 +115.97 + 20 +35.57 + 11 +115.97 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +39E + 8 +Circuit_Cut + 10 +115.97 + 20 +37.57 + 11 +117.97 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +39F + 8 +Circuit_Cut + 10 +117.97 + 20 +35.57 + 11 +117.97 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3A0 + 8 +Circuit_Cut + 10 +115.97 + 20 +35.57 + 11 +117.97 + 21 +35.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3A1 + 8 +Circuit_Cut + 10 +113.42999999999999 + 20 +35.57 + 11 +113.42999999999999 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3A2 + 8 +Circuit_Cut + 10 +113.42999999999999 + 20 +37.57 + 11 +115.42999999999999 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3A3 + 8 +Circuit_Cut + 10 +115.42999999999999 + 20 +35.57 + 11 +115.42999999999999 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3A4 + 8 +Circuit_Cut + 10 +113.42999999999999 + 20 +35.57 + 11 +115.42999999999999 + 21 +35.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3A5 + 8 +Circuit_Cut + 10 +110.89 + 20 +35.57 + 11 +110.89 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3A6 + 8 +Circuit_Cut + 10 +110.89 + 20 +37.57 + 11 +112.89 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3A7 + 8 +Circuit_Cut + 10 +112.89 + 20 +35.57 + 11 +112.89 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3A8 + 8 +Circuit_Cut + 10 +110.89 + 20 +35.57 + 11 +112.89 + 21 +35.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3A9 + 8 +Circuit_Cut + 10 +108.35 + 20 +35.57 + 11 +108.35 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3AA + 8 +Circuit_Cut + 10 +108.35 + 20 +37.57 + 11 +110.35 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3AB + 8 +Circuit_Cut + 10 +110.35 + 20 +35.57 + 11 +110.35 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3AC + 8 +Circuit_Cut + 10 +108.35 + 20 +35.57 + 11 +110.35 + 21 +35.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3AD + 8 +Circuit_Cut + 10 +105.81 + 20 +35.57 + 11 +105.81 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3AE + 8 +Circuit_Cut + 10 +105.81 + 20 +37.57 + 11 +107.81 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3AF + 8 +Circuit_Cut + 10 +107.81 + 20 +35.57 + 11 +107.81 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3B0 + 8 +Circuit_Cut + 10 +105.81 + 20 +35.57 + 11 +107.81 + 21 +35.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3B1 + 8 +Circuit_Cut + 10 +103.27 + 20 +35.57 + 11 +103.27 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3B2 + 8 +Circuit_Cut + 10 +103.27 + 20 +37.57 + 11 +105.27 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3B3 + 8 +Circuit_Cut + 10 +105.27 + 20 +35.57 + 11 +105.27 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3B4 + 8 +Circuit_Cut + 10 +103.27 + 20 +35.57 + 11 +105.27 + 21 +35.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3B5 + 8 +Circuit_Cut + 10 +100.73 + 20 +35.57 + 11 +100.73 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3B6 + 8 +Circuit_Cut + 10 +100.73 + 20 +37.57 + 11 +102.73 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3B7 + 8 +Circuit_Cut + 10 +102.73 + 20 +35.57 + 11 +102.73 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3B8 + 8 +Circuit_Cut + 10 +100.73 + 20 +35.57 + 11 +102.73 + 21 +35.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3B9 + 8 +Circuit_Cut + 10 +98.19 + 20 +35.57 + 11 +98.19 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3BA + 8 +Circuit_Cut + 10 +98.19 + 20 +37.57 + 11 +100.19 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3BB + 8 +Circuit_Cut + 10 +100.19 + 20 +35.57 + 11 +100.19 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3BC + 8 +Circuit_Cut + 10 +98.19 + 20 +35.57 + 11 +100.19 + 21 +35.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3BD + 8 +Circuit_Cut + 10 +95.65 + 20 +35.57 + 11 +95.65 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3BE + 8 +Circuit_Cut + 10 +95.65 + 20 +37.57 + 11 +97.65 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3BF + 8 +Circuit_Cut + 10 +97.65 + 20 +35.57 + 11 +97.65 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3C0 + 8 +Circuit_Cut + 10 +95.65 + 20 +35.57 + 11 +97.65 + 21 +35.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3C1 + 8 +Circuit_Cut + 10 +93.11 + 20 +35.57 + 11 +93.11 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3C2 + 8 +Circuit_Cut + 10 +93.11 + 20 +37.57 + 11 +95.11 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3C3 + 8 +Circuit_Cut + 10 +95.11 + 20 +35.57 + 11 +95.11 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3C4 + 8 +Circuit_Cut + 10 +93.11 + 20 +35.57 + 11 +95.11 + 21 +35.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3C5 + 8 +Circuit_Cut + 10 +90.57 + 20 +35.57 + 11 +90.57 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3C6 + 8 +Circuit_Cut + 10 +90.57 + 20 +37.57 + 11 +92.57 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3C7 + 8 +Circuit_Cut + 10 +92.57 + 20 +35.57 + 11 +92.57 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3C8 + 8 +Circuit_Cut + 10 +90.57 + 20 +35.57 + 11 +92.57 + 21 +35.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3C9 + 8 +Circuit_Cut + 10 +88.03 + 20 +35.57 + 11 +88.03 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3CA + 8 +Circuit_Cut + 10 +88.03 + 20 +37.57 + 11 +90.03 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3CB + 8 +Circuit_Cut + 10 +90.03 + 20 +35.57 + 11 +90.03 + 21 +37.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3CC + 8 +Circuit_Cut + 10 +88.03 + 20 +35.57 + 11 +90.03 + 21 +35.57 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3CD + 8 +Circuit_Cut + 10 +85.49 + 20 +35.57000000000001 + 11 +85.49 + 21 +37.57000000000001 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3CE + 8 +Circuit_Cut + 10 +85.49 + 20 +37.57000000000001 + 11 +87.49 + 21 +37.57000000000001 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3CF + 8 +Circuit_Cut + 10 +87.49 + 20 +35.57000000000001 + 11 +87.49 + 21 +37.57000000000001 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3D0 + 8 +Circuit_Cut + 10 +85.49 + 20 +35.57000000000001 + 11 +87.49 + 21 +35.57000000000001 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3D1 + 8 +Circuit_Cut + 10 +82.94999999999999 + 20 +35.57000000000001 + 11 +82.94999999999999 + 21 +37.57000000000001 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3D2 + 8 +Circuit_Cut + 10 +82.94999999999999 + 20 +37.57000000000001 + 11 +84.94999999999999 + 21 +37.57000000000001 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3D3 + 8 +Circuit_Cut + 10 +84.94999999999999 + 20 +35.57000000000001 + 11 +84.94999999999999 + 21 +37.57000000000001 + 6 +DASHDOT + 67 +0 + 0 +LINE + 5 +3D4 + 8 +Circuit_Cut + 10 +82.94999999999999 + 20 +35.57000000000001 + 11 +84.94999999999999 + 21 +35.57000000000001 + 6 +DASHDOT 67 0 0 diff --git a/paperbot_ee_autoroute/roco_ee_dwg_processing.py b/paperbot_ee_autoroute/ee_dwg_processing.py similarity index 60% rename from paperbot_ee_autoroute/roco_ee_dwg_processing.py rename to paperbot_ee_autoroute/ee_dwg_processing.py index 31873a0f01708952ea85955687c3eb787e2c076a..34869277381c5e3b194bded4006f12330e90e887 100644 --- a/paperbot_ee_autoroute/roco_ee_dwg_processing.py +++ b/paperbot_ee_autoroute/ee_dwg_processing.py @@ -9,16 +9,125 @@ unit_convert=10000 #ses to dxf class pre_process(): def __init__(self,dxf_file): + """ + Runneg this class will generate a temporary file that is ready to be sent to auto-router + Please make sure the ME drawing has put everything need to cut (obstacles) in "Cut" layer + """ self.dwg=ezdxf.readfile(dxf_file) self.msp=self.dwg.modelspace() - - self.keep_cut_layer_only() self.savename='dwg_for_autorouter.dxf' - self.dwg.saveas(self.savename) + + self.create_layer('Circuit_Cut',6) + self.create_layer('Circuit_Etc',1) + + self.keep_cut_layer_only() + self.line_to_path() + self.bry_ind=self.find_bry_index() + + def create_layer(self,layer_name,color): + if not layer_name in self.dwg.layers: + self.dwg.layers.new(name=layer_name,dxfattribs={'color':color}) + def keep_cut_layer_only(self): for e in self.msp.query('*[layer!="Cut"]'): self.msp.delete_entity(e) - # def line_to_path(self) + def line_to_path(self): + # Write file init + self.dwgWrite = ezdxf.new('R2010') # create a new DXF R2010 drawing, official DXF version name: 'AC1024' + mspWrite =self.dwgWrite.modelspace() # add new entities to the model space + + # Variable init + width = 0.26 + xAbMax = 0 + yAbMax = 0 + xAbMin = 1000 + yAbMin = 1000 + + # Layer creation + for layer in self.dwg.layers: + name = layer.dxf.name + lineType = layer.dxf.linetype + color = layer.get_color() + + self.dwgWrite.layers.new(name=name, dxfattribs={'linetype': lineType, 'color': color}) + + # loop for path creation + for e in self.msp.query('LINE'): + + # finding info from read file + x1 = e.dxf.start[0] + x2 = e.dxf.end[0] + y1 = e.dxf.start[1] + y2 = e.dxf.end[1] + layerName = e.dxf.layer + + # Calculations + yDiff = y2-y1 + yAbsDiff = abs(yDiff) + yDiffDiv100 = yAbsDiff/100 + + xDiff = x2-x1 + xAbsDiff = abs(xDiff) + xDiffDiv100 = xAbsDiff/100 + + yMin = min(y1, y2) + xMin = min(x1, x2) + + yMax = max(y1, y2) + xMax = max(x1, x2) + + # Calculations for bounding box + if(yMin < yAbMin): + yAbMin = yMin + + if(xMin < xAbMin): + xAbMin = xMin + + if(yMax > yAbMax): + yAbMax = yMax + + if(xMax > xAbMax): + xAbMax = xMax + + # Line Cases + if (x1 == x2): + writePoints = [(x1, yMin), (x1, yMax), ((x1+width),yMax), ((x1+width), yMin), (x1, yMin)] + elif (y1 == y2): + writePoints = [(xMin, y1), (xMin, (y1 + width)), (xMax,(y1 + width)), (xMax, y1), (xMin, y1)] + + elif ((x1 < x2 and y1 < y2 ) or (x1 > x2 and y1 > y2)): + writePoints = [(xMin, yMin),((xMin - yDiffDiv100), (yMin + xDiffDiv100)), ((xMax - yDiffDiv100),(yMax + xDiffDiv100)), ((xMax), (yMax)), (xMin, yMin)] + + elif ((x1 < x2 and y1 > y2) or (x1 > x2 and y1 < y2)): + writePoints = [(xMax, yMin),(xMin, yMax), ((xMin + yDiffDiv100),(yMax + xDiffDiv100)), ((xMax + yDiffDiv100), (yMin + xDiffDiv100)), (xMax, yMin)] + + # Write the line + mspWrite.add_lwpolyline(writePoints, dxfattribs={'layer': layerName}) + + + xAbMax = xAbMax + 50 + yAbMax = yAbMax + 50 + xAbMin = xAbMin - 50 + yAbMin = yAbMin - 50 + self.boxPoints = [(xAbMin, yAbMin), (xAbMin, yAbMax), (xAbMax,yAbMax), (xAbMax, yAbMin), (xAbMin, yAbMin)] + mspWrite.add_lwpolyline(self.boxPoints, dxfattribs={'layer': layerName}) + + self.dwgWrite.saveas(self.savename) + def find_bry_index(self): + msp=self.dwgWrite.modelspace() + bry=list(np.array(self.boxPoints).flatten()) + + pts_list=[] + for e in msp.query('LWPOLYLINE'): + pts_list.append(np.array(e.get_points())) + + for i in range(len(pts_list)): + pts_list[i]=pts_list[i][:,:2] + pts_list[i]=pts_list[i].flatten() + pts_list[i]=list(pts_list[i]) + + ind=pts_list.index(bry) + return ind class post_process(): @@ -32,12 +141,16 @@ class post_process(): self.wiring=[] self.dwg=ezdxf.readfile(dxf_file) self.msp=self.dwg.modelspace() + self.connected_pins=[] self.convert_unitfrom_ses() - self.draw_wires() - self.parallel_trace(2,2) - self.draw_cross_cut(1) - + # self.draw_wires() + self.trace_width=2 + self.iso_size=2 + self.cross_cut_size=1 + self.parallel_trace(self.trace_width,self.iso_size) + self.draw_cross_cut(self.cross_cut_size) + self.draw_rest_iso(self.iso_size) self.dwg.saveas('dwg_w_circuit.dxf') print('drawing is ready for you to make a robot...') @@ -51,66 +164,54 @@ class post_process(): for path in self.wiring: for i in range(len(path)-1): self.msp.add_line(path[i],path[i+1],dxfattribs={ - 'layer':'Circuit', + 'layer':'Circuit_Etc', 'linetype':'DASHDOT'}) def parallel_trace(self,width,iso_size): for path in self.wiring: - constrain=True + constrain_s,constrain_e=True,True if distance_between_pts(path[0],path[1])<(iso_size/2)*sqrt(2): path.pop(0) - path.pop(1) - constrain=False + constrain_s=False if distance_between_pts(path[-1],path[-2])<(iso_size/2)*sqrt(2): path.pop(-1) - path.pop(-2) - constrain=False + constrain_e=False for i in range(len(path)-1): pt1=path[i][0],path[i][1] pt2=path[i+1][0],path[i+1][1] l1=find_line_eq(pt1,pt2) - if i<len(path)-3: #before last line + if i<len(path)-2: #before last line pt3=path[i+2][0],path[i+2][1] l2=find_line_eq(pt2,pt3) #filter bi-sector - _bi=find_angle_bisector(l1,l2) - for sector in _bi: - if if_two_pt_on_diff_side(sector,pt1,pt3): - bi=sector - print(i) - try: - s1 - s2 - except UnboundLocalError: - - if not self.find_iso_bry(pt1,pt2,iso_size,width,constrain)=='Invalid': - s1,s2=self.find_iso_bry(pt1,pt2,iso_size,width,constrain) - print(s1,s2) - offl1_in,offl1_out=find_offset(l1,width) - constrain=True - else: - print('invalid') - constrain=False - continue - offl2_in,offl2_out=find_offset(l2,width) + _bi=find_bi_sec_by_pts(pt1,pt2,pt3) + if len(_bi)!=1: + for sector in _bi: + if if_two_pt_on_diff_side(sector,pt1,pt3): + bi=sector + else: + bi=_bi[0] - + if i==0: + s1,s2=self.find_iso_bry(pt1,pt2,iso_size,width,constrain_s) + offl1_in,offl1_out=find_offset(l1,width) + + offl2_in,offl2_out=find_offset(l2,width) e1=find_intersect(offl1_in,bi) e2=find_intersect(offl1_out,bi) else: - last_bry_invalid=self.find_iso_bry(pt2,pt1,iso_size,width,constrain) - - if type(last_bry_invalid)!=type(None) and last_bry_invalid!='Invalid': - e1,e2=last_bry_invalid[0],last_bry_invalid[1] + if len(path)==2: + s1,s2=self.find_iso_bry(pt1,pt2,iso_size,width,constrain_s) + e1,e2=self.find_iso_bry(pt2,pt1,iso_size,width,constrain_e) self.msp.add_line(s1,e1,dxfattribs={ - 'layer':'Circuit', + 'layer':'Circuit_Cut', 'linetype':'DASHDOT'}) self.msp.add_line(s2,e2,dxfattribs={ - 'layer':'Circuit', + 'layer':'Circuit_Cut', 'linetype':'DASHDOT'}) if i<len(path)-2: if list(e1)==list(find_intersect(offl2_out,bi)): @@ -125,17 +226,15 @@ class post_process(): cross_cut(self.msp,size,module_pin) def find_iso_bry(self,contact_ept,further_ept,size,width,constrain=True): tolerance=(size/2)*sqrt(2) - contact_list=[] for module_pin in self.pin_at: for pin in module_pin: - if distance_between_pts(contact_ept,pin) <= tolerance: + self.connected_pins.append(pin) + l=find_line_eq(contact_ept,further_ept) parallel_traces=find_offset(l,width) four_l_points=isolation_box_linepts(size,pin) iso_points=isolation_box_linepts(size,pin,False) - if point_is_in_two_pts(further_ept,iso_points[0],iso_points[2]): - return 'Invalid' contact_list=[] for pl in parallel_traces: contact=find_contact_iso_trace(pl,four_l_points,further_ept,constrain) @@ -164,12 +263,16 @@ class post_process(): draw_list.append(contact_list[1]) for i in range(len(draw_list)-1): - self.msp.add_line(draw_list[i],draw_list[i+1],dxfattribs={'linetype':'DASHDOT', 'layer':'Circuit'}) + self.msp.add_line(draw_list[i],draw_list[i+1],dxfattribs={'linetype':'DASHDOT', 'layer':'Circuit_Cut'}) - if len(contact_list)!=0: - return contact_list[0],contact_list[1] - else: - return None + return contact_list[0],contact_list[1] + def draw_rest_iso(self,iso_size): + for module_pin in self.pin_at: + for pin in module_pin: + if not pin in self.connected_pins: + lines=isolation_box_linepts(iso_size,pin) + for l in lines: + self.msp.add_line(l[0],l[1],dxfattribs={'linetype':'DASHDOT', 'layer':'Circuit_Cut'}) def find_contact_iso_trace(trace_line,iso_l_pts,further_ept,constrain=True): inter_temp=[] @@ -291,6 +394,28 @@ def find_intersect(line_eq1,line_eq2): k=np.array([-b1,-b2]) sol=np.linalg.solve(A,k) return sol + +def find_bi_sec_by_pts(pt1,pt2,pt3): + """ + return angle bisector by inputing three points (2 lines) + assume pt2 is the intersect of two interval + line_equation follows same pattern as find_line_eq() + eq=[a,b,c,theta] + """ + x1,x2,x3=pt1[0],pt2[0],pt3[0] + y1,y2,y3=pt1[1],pt2[1],pt3[1] + + if x1==x2 and x2==x3: + #vertical lines + bi=[[0,y2,1,0]] + elif y1==y2 and y2==y3: + #horizontal lines + bi=[[1,-x2,0,np.pi/2]] + else: + l1=find_line_eq(pt1,pt2) + l2=find_line_eq(pt2,pt3) + bi=find_angle_bisector(l1,l2) + return bi def find_angle_bisector(line_eq1,line_eq2): """ return an array with 2 angle bisector for 2 straight lines diff --git a/paperbot_ee_autoroute/read_old_paperbot.py b/paperbot_ee_autoroute/read_old_paperbot.py index 6d26ac3115e9f7cf37925e6cf92c6afb1a7f0b83..905cc0809fc127661108d9bc6500611b8e827f90 100644 --- a/paperbot_ee_autoroute/read_old_paperbot.py +++ b/paperbot_ee_autoroute/read_old_paperbot.py @@ -4,7 +4,6 @@ import ezdxf import random from math import sqrt import copy -# from roco_ee_dwg_processing import * class read_old_paperbot(): @@ -13,10 +12,10 @@ class read_old_paperbot(): self.msp=self.dwg.modelspace() self.create_layer('Cut',5) - self.create_layer('Circuit',1) - self.create_layer('Label',3) self.create_layer('Fold',4) - self.create_layer('Pin_temp',6) + # self.create_layer('Pin_temp',6) + # self.create_layer('Circuit_Cut',6) + # self.create_layer('Circuit_Etc',1) self.layer_rearrange() ## reagrrange cut and fold lines to corresponding layers self.remove_wheels() ##remove wheel drawings for this design, no need to call for other designs @@ -54,7 +53,7 @@ class read_old_paperbot(): for e in self.msp.query('LINE[layer=="Cut"]'): length= sqrt((e.dxf.start[0]-e.dxf.end[0])**2+(e.dxf.start[1]-e.dxf.end[1])**2) if length > pincutsize_small-tolerance and length < pincutsize_big + tolerance: - e.dxf.layer='Pin_temp' + # e.dxf.layer='Pin_temp' self.msp.delete_entity(e) #08/13/2019 remove all pins in mechanical desing if e.dxf.start[1]==e.dxf.end[1]: ##this line is horizontal pin_edge=np.array([e.dxf.start,e.dxf.end])[:,:2] diff --git a/paperbot_ee_autoroute/paperbot_dsn.py b/paperbot_ee_autoroute/roco_dsn.py similarity index 96% rename from paperbot_ee_autoroute/paperbot_dsn.py rename to paperbot_ee_autoroute/roco_dsn.py index 2249d2ddb8b41ae817ccaeefbe2a5fa0f534fb95..3d4ff2a5666ea645f5ca267e0f4fc747d424c3d6 100644 --- a/paperbot_ee_autoroute/paperbot_dsn.py +++ b/paperbot_ee_autoroute/roco_dsn.py @@ -16,12 +16,12 @@ class brd_design(): ['ESP12F-Devkit-V3.kicad_mod','U1',[103000,48000],90], ] self.netlist=[ - ['3v3',['U1-3']], + ['3v3',['U1-3','J1-1']], ['VIN',['U1-15','U1-16']], - ['NET1',['U1-2']] + ['NET1',['U1-2','J1-5']] ] self.netclass_list=[ - ['default',['3v3','VIN','NET1'],'',2000,1200] + ['default',['3v3','VIN','NET1'],'',2000,200] ] self.brd_general() @@ -48,7 +48,7 @@ class brd_design(): clearance=[ dsnwritier.Clearance(1000.1), dsnwritier.Clearance(1000.1,'default_smd'), - dsnwritier.Clearance(1200,'smd_smd')] + dsnwritier.Clearance(1000,'smd_smd')] self.rule.clearance=clearance diff --git a/paperbot_ee_autoroute/roco_electrical.py b/paperbot_ee_autoroute/roco_electrical.py new file mode 100644 index 0000000000000000000000000000000000000000..3dcbca27b5a37cfbd8458f7831db813bdd9d33b8 --- /dev/null +++ b/paperbot_ee_autoroute/roco_electrical.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python3 + +def roco_add_ee(me_drawing,netlist_csv,module_libpath,dsnwritier_dir): + """ + This module call script 'roco_dsn.py' to generate a DSN file for auto_router. + An interface will pop up for the user to confirm wiring design, + if a user does not want to change anything, one can just simply close the window. + Routing information will be stored automatically in the same directory. + The routing information will be read and draw the corresponding line on the dxf file + + (Please make sure the ME drawing has everything need to cut (obstacles) in "Cut" layer) + + Tested Python Version: 3.6 + + path information needed: + + - mechanical design drawing file + - A csv file describes your netlist + - modules library dir + - dsnwritier(sesreader) dir + """ + ##########general lib############ + import sys + import subprocess + import os + sys.path.insert(1,dsnwritier_dir) + from sesreader import find_wire + from roco_dsn import brd_design + from ee_dwg_processing import pre_process, post_process + + ready_for_autorouter=pre_process(me_drawing) #get dwg_for_autorouter.dxf + ee_design=brd_design(ready_for_autorouter.bry_ind,module_libpath)#,dwgfile='dwg_for_autorouter_temp.dxf') #get paperbot_ee.dsn + subprocess.call(['java','-jar','freeRouting.jar','-de',ee_design.savename+'.dsn','-white','-s']) + wiring_path=find_wire(ee_design.savename) #read ses file + post_process(me_drawing,wiring_path,ee_design.pins_at) # draw for fabrication + + os.remove(ready_for_autorouter.savename) + os.remove(ee_design.savename+'.dsn') + os.remove(ee_design.savename+'.ses') + os.remove(ee_design.savename+'.rules') + +def test(): + from read_old_paperbot import read_old_paperbot + dsnwritier_dir='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/dsn_python' + module_libpath='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/libraries/kicad-ESP8266/ESP8266.pretty/' + dwg_path='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/graph-silhouette.dxf' + + old=read_old_paperbot(dwg_path) #get dwg_w_layer.dxf + me_dwg=old.savename + roco_add_ee(me_dwg,None,module_libpath,dsnwritier_dir) \ No newline at end of file diff --git a/paperbot_ee_autoroute/fab_drawing.py b/paperbot_ee_autoroute/test.py similarity index 88% rename from paperbot_ee_autoroute/fab_drawing.py rename to paperbot_ee_autoroute/test.py index fa351338e8b5b7b01973176d5c1a436a8e4a8b76..5297d59e7de64247f176af5a491f30b6965117c0 100644 --- a/paperbot_ee_autoroute/fab_drawing.py +++ b/paperbot_ee_autoroute/test.py @@ -5,38 +5,32 @@ for auto_router. An interface will pop up for the user to confirm wiring design, if a user does not want to change anything, one can just simply close the window. Routing information will be stored automatically in the same directory. The routing information will be read and draw the corresponding line on the dxf file - path information needed: - - dsnwritier(sesreader) dir - modules library dir - mechanical design drawing file - """ - dsnwritier_dir='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/dsn_python' module_libpath='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/libraries/kicad-ESP8266/ESP8266.pretty/' dwg_path='/home/jingyan/Documents/summer_intern_lemur/roco_electrical/graph-silhouette.dxf' - ##########general lib############ import sys import subprocess import os sys.path.insert(1,dsnwritier_dir) from sesreader import * -from roco_ee_dwg_processing import pre_process, post_process - +from ee_dwg_processing import pre_process, post_process #########for paperbot only######## -from paperbot_dsn import * +from roco_dsn import * from read_old_paperbot import * + old=read_old_paperbot(dwg_path) #get dwg_w_layer.dxf ready_for_autorouter=pre_process(old.savename) #get dwg_for_autorouter.dxf -ee_design=brd_design(0,module_libpath,dwgfile='dwg_for_autorouter_temp.dxf') #get paperbot_ee.dsn +ee_design=brd_design(ready_for_autorouter.bry_ind,module_libpath) #get paperbot_ee.dsn subprocess.call(['java','-jar','freeRouting.jar','-de',ee_design.savename+'.dsn','-white','-s']) wiring_path=find_wire(ee_design.savename) #read ses file post_process(old.savename,wiring_path,ee_design.pins_at) # draw for fabrication - os.remove(old.savename) os.remove(ready_for_autorouter.savename) os.remove(ee_design.savename+'.dsn')