diff --git a/README.md b/README.md index 48889f9be1b236346a2a210c7b6c577f1232468c..053a7d0fd056578bfedc7d1930bcce7bd3204b49 100644 --- a/README.md +++ b/README.md @@ -191,8 +191,29 @@ - Obstacles setting are incorrect ### 07/09/2019 - +- Finish up path-finding approach (Approach B) - Only draw the best path on `dxf` when solution is found for every route. -  - Throw warning once a route cannot be found -  + +- Research on Approach A + - KiCAD 5 does not have built-in auto-router + - Have to use `FreeRouting` + + - `FreeRouting` does not have python API + - Parent package of `FreeRouting`, `LayoutEditor` has multiple editions + - Part of `LayoutEditor` is open- source + - A large amount of of its website are broken, source and interface are unavailable + +- Other auto-routers are not open-source + +##### Approach A +- 1. Use `LayoutEditor` python API to use `FreeRouting` +- 2. Use `KiCAD 5` python API to sue `FreeRouting` +- 3. Use `KiCAD 4` python API to use builtin auto-routing + +- TODO: + - If can run KiCAD 4 from python + - Check `FreeRouting` API, see if a acceptable file can be generated from things on hand + diff --git a/analyze_dxf.py b/analyze_dxf.py index b1a854c2875e574a26d10235647dac016263b714..42039685f7a9f115295feceaacf8291e1db53a3b 100644 --- a/analyze_dxf.py +++ b/analyze_dxf.py @@ -245,11 +245,11 @@ class auto_rounter: print 'Current cost:',self.Q,'Best cost',self.Q_buff episode+=1 - # if not self.final_fail: - for i in range(len(self.final_path)): - self.draw_a_path(self.final_path[i],self.matrix,True) - # else: - # print 'One or more path cannot be solved' + if not self.final_fail: + for i in range(len(self.final_path)): + self.draw_a_path(self.final_path[i],self.matrix,True) + else: + print 'One or more path cannot be solved' def test_connections(self): y=97 diff --git a/ling.md b/ling.md deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/testline.dxf b/testline.dxf deleted file mode 100644 index b14c610692c1d46a5a520cafa01ed7c7a9f10e0a..0000000000000000000000000000000000000000 --- a/testline.dxf +++ /dev/null @@ -1,3570 +0,0 @@ - 0 -SECTION - 2 -HEADER - 9 -$ACADVER - 1 -AC1024 - 9 -$ACADMAINTVER - 70 -6 - 9 -$DWGCODEPAGE - 3 -ANSI_1252 - 9 -$LASTSAVEDBY - 1 -unknown - 9 -$INSBASE - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$EXTMIN - 10 -1e+20 - 20 -1e+20 - 30 -1e+20 - 9 -$EXTMAX - 10 --1e+20 - 20 --1e+20 - 30 --1e+20 - 9 -$LIMMIN - 10 -0.0 - 20 -0.0 - 9 -$LIMMAX - 10 -12.0 - 20 -9.0 - 9 -$ORTHOMODE - 70 -0 - 9 -$REGENMODE - 70 -1 - 9 -$FILLMODE - 70 -1 - 9 -$QTEXTMODE - 70 -0 - 9 -$MIRRTEXT - 70 -0 - 9 -$LTSCALE - 40 -1.0 - 9 -$ATTMODE - 70 -1 - 9 -$TEXTSIZE - 40 -0.2 - 9 -$TRACEWID - 40 -0.05 - 9 -$TEXTSTYLE - 7 -Notes - 9 -$CLAYER - 8 -0 - 9 -$CELTYPE - 6 -ByLayer - 9 -$CECOLOR - 62 -256 - 9 -$CELTSCALE - 40 -1.0 - 9 -$DISPSILH - 70 -0 - 9 -$DIMSCALE - 40 -1.0 - 9 -$DIMASZ - 40 -3.0 - 9 -$DIMEXO - 40 -1.5 - 9 -$DIMDLI - 40 -6.0 - 9 -$DIMRND - 40 -0.0 - 9 -$DIMDLE - 40 -0.0 - 9 -$DIMEXE - 40 -3.0 - 9 -$DIMTP - 40 -0.0 - 9 -$DIMTM - 40 -0.0 - 9 -$DIMTXT - 40 -3.0 - 9 -$DIMCEN - 40 -3.0 - 9 -$DIMTSZ - 40 -0.0 - 9 -$DIMTOL - 70 -0 - 9 -$DIMLIM - 70 -0 - 9 -$DIMTIH - 70 -0 - 9 -$DIMTOH - 70 -0 - 9 -$DIMSE1 - 70 -0 - 9 -$DIMSE2 - 70 -0 - 9 -$DIMTAD - 70 -1 - 9 -$DIMZIN - 70 -3 - 9 -$DIMBLK - 1 - - 9 -$DIMASO - 70 -1 - 9 -$DIMSHO - 70 -1 - 9 -$DIMPOST - 1 - - 9 -$DIMAPOST - 1 - - 9 -$DIMALT - 70 -0 - 9 -$DIMALTD - 70 -2 - 9 -$DIMALTF - 40 -25.4 - 9 -$DIMLFAC - 40 -1.0 - 9 -$DIMTOFL - 70 -0 - 9 -$DIMTVP - 40 -0.0 - 9 -$DIMTIX - 70 -0 - 9 -$DIMSOXD - 70 -0 - 9 -$DIMSAH - 70 -0 - 9 -$DIMBLK1 - 1 - - 9 -$DIMBLK2 - 1 - - 9 -$DIMSTYLE - 2 -Civil-Metric - 9 -$DIMCLRD - 70 -0 - 9 -$DIMCLRE - 70 -0 - 9 -$DIMCLRT - 70 -0 - 9 -$DIMTFAC - 40 -1.0 - 9 -$DIMGAP - 40 -2.0 - 9 -$DIMJUST - 70 -0 - 9 -$DIMSD1 - 70 -0 - 9 -$DIMSD2 - 70 -0 - 9 -$DIMTOLJ - 70 -1 - 9 -$DIMTZIN - 70 -0 - 9 -$DIMALTZ - 70 -0 - 9 -$DIMALTTZ - 70 -0 - 9 -$DIMUPT - 70 -0 - 9 -$DIMDEC - 70 -2 - 9 -$DIMTDEC - 70 -2 - 9 -$DIMALTU - 70 -2 - 9 -$DIMALTTD - 70 -2 - 9 -$DIMTXSTY - 7 -Standard - 9 -$DIMAUNIT - 70 -0 - 9 -$DIMADEC - 70 -2 - 9 -$DIMALTRND - 40 -0.0 - 9 -$DIMAZIN - 70 -2 - 9 -$DIMDSEP - 70 -46 - 9 -$DIMATFIT - 70 -3 - 9 -$DIMFRAC - 70 -1 - 9 -$DIMLDRBLK - 1 - - 9 -$DIMLUNIT - 70 -2 - 9 -$DIMLWD - 70 --2 - 9 -$DIMLWE - 70 --2 - 9 -$DIMTMOVE - 70 -0 - 9 -$DIMFXL - 40 -1.0 - 9 -$DIMFXLON - 70 -0 - 9 -$DIMJOGANG - 40 -0.785398163397 - 9 -$DIMTFILL - 70 -0 - 9 -$DIMTFILLCLR - 70 -0 - 9 -$DIMARCSYM - 70 -0 - 9 -$DIMLTYPE - 6 - - 9 -$DIMLTEX1 - 6 - - 9 -$DIMLTEX2 - 6 - - 9 -$DIMTXTDIRECTION - 70 -0 - 9 -$LUNITS - 70 -2 - 9 -$LUPREC - 70 -4 - 9 -$SKETCHINC - 40 -0.1 - 9 -$FILLETRAD - 40 -0.0 - 9 -$AUNITS - 70 -4 - 9 -$AUPREC - 70 -5 - 9 -$MENU - 1 -. - 9 -$ELEVATION - 40 -0.0 - 9 -$PELEVATION - 40 -0.0 - 9 -$THICKNESS - 40 -0.0 - 9 -$LIMCHECK - 70 -0 - 9 -$CHAMFERA - 40 -0.0 - 9 -$CHAMFERB - 40 -0.0 - 9 -$CHAMFERC - 40 -0.0 - 9 -$CHAMFERD - 40 -0.0 - 9 -$SKPOLY - 70 -0 - 9 -$TDCREATE - 40 -2458668.59635 - 9 -$TDUPDATE - 40 -2458668.59635 - 9 -$TDINDWG - 40 -0.0 - 9 -$TDUSRTIMER - 40 -0.0 - 9 -$USRTIMER - 70 -1 - 9 -$ANGBASE - 50 -0.0 - 9 -$ANGDIR - 70 -0 - 9 -$PDMODE - 70 -0 - 9 -$PDSIZE - 40 -0.0 - 9 -$PLINEWID - 40 -0.0 - 9 -$SPLFRAME - 70 -0 - 9 -$SPLINETYPE - 70 -6 - 9 -$SPLINESEGS - 70 -8 - 9 -$HANDSEED - 5 -579 - 9 -$SURFTAB1 - 70 -6 - 9 -$SURFTAB2 - 70 -6 - 9 -$SURFTYPE - 70 -6 - 9 -$SURFU - 70 -6 - 9 -$SURFV - 70 -6 - 9 -$UCSBASE - 2 - - 9 -$UCSNAME - 2 - - 9 -$UCSORG - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSXDIR - 10 -1.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSYDIR - 10 -0.0 - 20 -1.0 - 30 -0.0 - 9 -$UCSORTHOREF - 2 - - 9 -$UCSORTHOVIEW - 70 -0 - 9 -$UCSORGTOP - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSORGBOTTOM - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSORGLEFT - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSORGRIGHT - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSORGFRONT - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$UCSORGBACK - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSBASE - 2 - - 9 -$PUCSNAME - 2 - - 9 -$PUCSORG - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSXDIR - 10 -1.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSYDIR - 10 -0.0 - 20 -1.0 - 30 -0.0 - 9 -$PUCSORTHOREF - 2 - - 9 -$PUCSORTHOVIEW - 70 -0 - 9 -$PUCSORGTOP - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSORGBOTTOM - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSORGLEFT - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSORGRIGHT - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSORGFRONT - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PUCSORGBACK - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$USERI1 - 70 -0 - 9 -$USERI2 - 70 -0 - 9 -$USERI3 - 70 -0 - 9 -$USERI4 - 70 -0 - 9 -$USERI5 - 70 -0 - 9 -$USERR1 - 40 -0.0 - 9 -$USERR2 - 40 -0.0 - 9 -$USERR3 - 40 -0.0 - 9 -$USERR4 - 40 -0.0 - 9 -$USERR5 - 40 -0.0 - 9 -$WORLDVIEW - 70 -1 - 9 -$SHADEDGE - 70 -3 - 9 -$SHADEDIF - 70 -70 - 9 -$TILEMODE - 70 -1 - 9 -$MAXACTVP - 70 -64 - 9 -$PINSBASE - 10 -0.0 - 20 -0.0 - 30 -0.0 - 9 -$PLIMCHECK - 70 -0 - 9 -$PEXTMIN - 10 -0.628866766397 - 20 -0.799999952316 - 30 -0.0 - 9 -$PEXTMAX - 10 -9.02886638493 - 20 -7.19999957085 - 30 -0.0 - 9 -$PLIMMIN - 10 --0.700541819174 - 20 --0.228100386192 - 9 -$PLIMMAX - 10 -10.2994579405 - 20 -8.27189937351 - 9 -$UNITMODE - 70 -0 - 9 -$VISRETAIN - 70 -1 - 9 -$PLINEGEN - 70 -0 - 9 -$PSLTSCALE - 70 -1 - 9 -$TREEDEPTH - 70 -3020 - 9 -$CMLSTYLE - 2 -Standard - 9 -$CMLJUST - 70 -0 - 9 -$CMLSCALE - 40 -1.0 - 9 -$PROXYGRAPHICS - 70 -1 - 9 -$MEASUREMENT - 70 -1 - 9 -$CELWEIGHT -370 --1 - 9 -$ENDCAPS -280 -0 - 9 -$JOINSTYLE -280 -0 - 9 -$LWDISPLAY -290 -0 - 9 -$INSUNITS - 70 -4 - 9 -$HYPERLINKBASE - 1 - - 9 -$STYLESHEET - 1 - - 9 -$XEDIT -290 -1 - 9 -$CEPSNTYPE -380 -0 - 9 -$PSTYLEMODE -290 -1 - 9 -$FINGERPRINTGUID - 2 -24217DCC-9DD8-11E9-8B04-7470FDECECE4 - 9 -$VERSIONGUID - 2 -24217DCE-9DD8-11E9-8B04-7470FDECECE4 - 9 -$EXTNAMES -290 -1 - 9 -$PSVPSCALE - 40 -0.0 - 9 -$OLESTARTUP -290 -0 - 9 -$SORTENTS -280 -127 - 9 -$INDEXCTL -280 -0 - 9 -$HIDETEXT -280 -1 - 9 -$XCLIPFRAME -280 -0 - 9 -$HALOGAP -280 -0 - 9 -$OBSCOLOR - 70 -257 - 9 -$OBSLTYPE -280 -0 - 9 -$INTERSECTIONDISPLAY -280 -0 - 9 -$INTERSECTIONCOLOR - 70 -257 - 9 -$DIMASSOC -280 -2 - 9 -$PROJECTNAME - 1 - - 9 -$CAMERADISPLAY -290 -0 - 9 -$LENSLENGTH - 40 -50.0 - 9 -$CAMERAHEIGHT - 40 -0.0 - 9 -$STEPSPERSEC - 40 -2.0 - 9 -$STEPSIZE - 40 -6.0 - 9 -$3DDWFPREC - 40 -2.0 - 9 -$PSOLWIDTH - 40 -0.25 - 9 -$PSOLHEIGHT - 40 -4.0 - 9 -$LOFTANG1 - 40 -1.57079632679 - 9 -$LOFTANG2 - 40 -1.57079632679 - 9 -$LOFTMAG1 - 40 -0.0 - 9 -$LOFTMAG2 - 40 -0.0 - 9 -$LOFTPARAM - 70 -7 - 9 -$LOFTNORMALS -280 -1 - 9 -$LATITUDE - 40 -37.795 - 9 -$LONGITUDE - 40 --122.394 - 9 -$NORTHDIRECTION - 40 -0.0 - 9 -$TIMEZONE - 70 --8000 - 9 -$LIGHTGLYPHDISPLAY -280 -1 - 9 -$TILEMODELIGHTSYNCH -280 -1 - 9 -$CMATERIAL -347 -96 - 9 -$SOLIDHIST -280 -1 - 9 -$SHOWHIST -280 -1 - 9 -$DWFFRAME -280 -2 - 9 -$DGNFRAME -280 -0 - 9 -$REALWORLDSCALE -290 -1 - 9 -$INTERFERECOLOR - 62 -1 - 9 -$INTERFEREOBJVS -345 -A3 - 9 -$INTERFEREVPVS -346 -A0 - 9 -$CSHADOW -280 -0 - 9 -$SHADOWPLANELOCATION - 40 -0.0 - 0 -ENDSEC - 0 -SECTION - 2 -CLASSES - 0 -CLASS - 1 -ACDBDICTIONARYWDFLT - 2 -AcDbDictionaryWithDefault - 3 -ObjectDBX Classes - 90 -0 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -DICTIONARYVAR - 2 -AcDbDictionaryVar - 3 -ObjectDBX Classes - 90 -0 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -TABLESTYLE - 2 -AcDbTableStyle - 3 -ObjectDBX Classes - 90 -4095 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -MATERIAL - 2 -AcDbMaterial - 3 -ObjectDBX Classes - 90 -1153 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -VISUALSTYLE - 2 -AcDbVisualStyle - 3 -ObjectDBX Classes - 90 -4095 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -SCALE - 2 -AcDbScale - 3 -ObjectDBX Classes - 90 -1153 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -MLEADERSTYLE - 2 -AcDbMLeaderStyle - 3 -ACDB_MLEADERSTYLE_CLASS - 90 -4095 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -CELLSTYLEMAP - 2 -AcDbCellStyleMap - 3 -ObjectDBX Classes - 90 -1152 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -EXACXREFPANELOBJECT - 2 -ExAcXREFPanelObject - 3 -EXAC_ESW - 90 -1025 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -NPOCOLLECTION - 2 -AcDbImpNonPersistentObjectsCollection - 3 -ObjectDBX Classes - 90 -1153 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -LAYER_INDEX - 2 -AcDbLayerIndex - 3 -ObjectDBX Classes - 90 -0 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -SPATIAL_INDEX - 2 -AcDbSpatialIndex - 3 -ObjectDBX Classes - 90 -0 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -IDBUFFER - 2 -AcDbIdBuffer - 3 -ObjectDBX Classes - 90 -0 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -DIMASSOC - 2 -AcDbDimAssoc - 3 -"AcDbDimAssoc|Product Desc: AcDim ARX App For Dimension|Company: Autodesk, Inc.|WEB Address: www.autodesk.com" - 90 -0 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -IMAGEDEF - 2 -AcDbRasterImageDef - 3 -ISM - 90 -0 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -RASTERVARIABLES - 2 -AcDbRasterVariables - 3 -ISM - 90 -0 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -IMAGEDEF_REACTOR - 2 -AcDbRasterImageDefReactor - 3 -ISM - 90 -1 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -IMAGE - 2 -AcDbRasterImage - 3 -ISM - 90 -2175 - 91 -0 -280 -0 -281 -1 - 0 -CLASS - 1 -PDFDEFINITION - 2 -AcDbPdfDefinition - 3 -ObjectDBX Classes - 90 -1153 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -PDFUNDERLAY - 2 -AcDbPdfReference - 3 -ObjectDBX Classes - 90 -4095 - 91 -0 -280 -0 -281 -1 - 0 -CLASS - 1 -DWFDEFINITION - 2 -AcDbDwfDefinition - 3 -ObjectDBX Classes - 90 -1153 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -DWFUNDERLAY - 2 -AcDbDwfReference - 3 -ObjectDBX Classes - 90 -1153 - 91 -0 -280 -0 -281 -1 - 0 -CLASS - 1 -DGNDEFINITION - 2 -AcDbDgnDefinition - 3 -ObjectDBX Classes - 90 -1153 - 91 -0 -280 -0 -281 -0 - 0 -CLASS - 1 -DGNUNDERLAY - 2 -AcDbDgnReference - 3 -ObjectDBX Classes - 90 -1153 - 91 -0 -280 -0 -281 -1 - 0 -ENDSEC - 0 -SECTION - 2 -TABLES - 0 -TABLE - 2 -VPORT - 5 -8 -330 -0 -100 -AcDbSymbolTable - 70 -0 - 0 -ENDTAB - 0 -TABLE - 2 -LTYPE - 5 -5F -330 -0 -100 -AcDbSymbolTable - 70 -7 - 0 -LTYPE - 5 -14 -330 -5F -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -ByBlock - 70 -0 - 3 - - 72 -65 - 73 -0 - 40 -0.0 - 0 -LTYPE - 5 -15 -330 -5F -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -ByLayer - 70 -0 - 3 - - 72 -65 - 73 -0 - 40 -0.0 - 0 -LTYPE - 5 -16 -330 -5F -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -Continuous - 70 -0 - 3 -Solid line - 72 -65 - 73 -0 - 40 -0.0 - 0 -LTYPE - 5 -1B1 -330 -5F -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -CENTER - 70 -0 - 3 -Center ____ _ ____ _ ____ _ ____ _ ____ _ ____ - 72 -65 - 73 -4 - 40 -2.0 - 49 -1.25 - 74 -0 - 49 --0.25 - 74 -0 - 49 -0.25 - 74 -0 - 49 --0.25 - 74 -0 - 0 -LTYPE - 5 -1B2 -330 -5F -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DASHED - 70 -0 - 3 -Dashed __ __ __ __ __ __ __ __ __ __ __ __ __ _ - 72 -65 - 73 -2 - 40 -0.75 - 49 -0.5 - 74 -0 - 49 --0.25 - 74 -0 - 0 -LTYPE - 5 -1B3 -330 -5F -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -PHANTOM - 70 -0 - 3 -Phantom ______ __ __ ______ __ __ ______ - 72 -65 - 73 -6 - 40 -2.5 - 49 -1.25 - 74 -0 - 49 --0.25 - 74 -0 - 49 -0.25 - 74 -0 - 49 --0.25 - 74 -0 - 49 -0.25 - 74 -0 - 49 --0.25 - 74 -0 - 0 -LTYPE - 5 -39E -330 -5F -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -HIDDEN - 70 -0 - 3 -Hidden __ __ __ __ __ __ __ __ __ __ __ __ __ __ - 72 -65 - 73 -2 - 40 -9.525 - 49 -6.35 - 74 -0 - 49 --3.175 - 74 -0 - 0 -ENDTAB - 0 -TABLE - 2 -LAYER - 5 -2 -330 -0 -100 -AcDbSymbolTable - 70 -4 - 0 -LAYER - 5 -10 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -0 - 70 -0 - 62 -7 - 6 -Continuous -370 --3 -390 -4E8 - 0 -LAYER - 5 -1B4 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -View Port - 70 -0 - 62 -7 - 6 -Continuous -290 -0 -370 --3 -390 -4E8 - 0 -LAYER - 5 -21D -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -Defpoints - 70 -0 - 62 -7 - 6 -Continuous -290 -0 -370 --3 -390 -4E8 - 0 -LAYER - 5 -570 -330 -2 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -Isolation - 70 -0 - 62 -4 - 6 -Continuous -290 -1 -390 -4E9 - 0 -ENDTAB - 0 -TABLE - 2 -STYLE - 5 -3 -330 -0 -100 -AcDbSymbolTable - 70 -3 - 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 -0.2 - 3 -arial.ttf - 4 - - 0 -STYLE - 5 -DC -330 -3 -100 -AcDbSymbolTableRecord -100 -AcDbTextStyleTableRecord - 2 -Annotative - 70 -0 - 40 -0.0 - 41 -1.0 - 50 -0.0 - 71 -0 - 42 -0.2 - 3 -arial.ttf - 4 - - 0 -STYLE - 5 -178 -330 -3 -100 -AcDbSymbolTableRecord -100 -AcDbTextStyleTableRecord - 2 -Notes - 70 -0 - 40 -3.0 - 41 -1.0 - 50 -0.0 - 71 -0 - 42 -0.2 - 3 -arial.ttf - 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 -11 - 0 -APPID - 5 -12 -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -ACAD - 70 -0 - 0 -APPID - 5 -DD -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -AcadAnnoPO - 70 -0 - 0 -APPID - 5 -DE -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -AcadAnnotative - 70 -0 - 0 -APPID - 5 -DF -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -ACAD_DSTYLE_DIMJAG - 70 -0 - 0 -APPID - 5 -E0 -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -ACAD_DSTYLE_DIMTALN - 70 -0 - 0 -APPID - 5 -107 -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -ACAD_MLEADERVER - 70 -0 - 0 -APPID - 5 -1B5 -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -AcAecLayerStandard - 70 -0 - 0 -APPID - 5 -1BA -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -ACAD_EXEMPT_FROM_CAD_STANDARDS - 70 -0 - 0 -APPID - 5 -237 -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -ACAD_DSTYLE_DIMBREAK - 70 -0 - 0 -APPID - 5 -28E -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -ACAD_PSEXT - 70 -0 - 0 -APPID - 5 -4C4 -330 -9 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -HATCHBACKGROUNDCOLOR - 70 -0 - 0 -ENDTAB - 0 -TABLE - 2 -DIMSTYLE - 5 -A -330 -0 -100 -AcDbSymbolTable - 70 -3 -100 -AcDbDimStyleTable - 71 -3 -340 -242 -340 -27 -340 -E1 - 0 -DIMSTYLE -105 -27 -330 -A -100 -AcDbSymbolTableRecord -100 -AcDbDimStyleTableRecord - 2 -Standard - 70 -0 - 41 -3.0 - 42 -2.0 - 43 -9.0 - 44 -5.0 -140 -3.0 -141 -2.0 -147 -2.0 -340 -11 -1001 -ACAD_DSTYLE_DIMJAG -1070 -388 -1040 -38.0 -1001 -ACAD_DSTYLE_DIMBREAK -1070 -391 -1040 -90.0 -1001 -ACAD_DSTYLE_DIMTALN -1070 -392 -1070 -0 - 0 -DIMSTYLE -105 -E1 -330 -A -100 -AcDbSymbolTableRecord -100 -AcDbDimStyleTableRecord - 2 -Annotative - 70 -0 - 40 -0.0 - 41 -3.0 - 42 -2.5 - 43 -10.0 - 44 -5.0 -140 -3.0 -141 -2.0 -147 -2.0 -340 -11 -1001 -AcadAnnotative -1000 -AnnotativeData -1002 -{ -1070 -1 -1070 -1 -1002 -} -1001 -ACAD_DSTYLE_DIMJAG -1070 -388 -1040 -38.0 -1001 -ACAD_DSTYLE_DIMBREAK -1070 -391 -1040 -90.0 -1001 -ACAD_DSTYLE_DIMTALN -1070 -392 -1070 -0 - 0 -DIMSTYLE -105 -242 -330 -A -100 -AcDbSymbolTableRecord -100 -AcDbDimStyleTableRecord - 2 -Civil-Metric - 70 -0 - 41 -3.0 - 42 -1.5 - 43 -6.0 - 44 -3.0 - 73 -0 - 74 -0 - 77 -1 - 78 -3 - 79 -2 -140 -3.0 -141 -3.0 -147 -2.0 -179 -2 -271 -2 -272 -2 -276 -1 -340 -11 -1001 -ACAD_DSTYLE_DIMBREAK -1070 -391 -1040 -3.0 -1001 -ACAD_DSTYLE_DIMJAG -1070 -388 -1040 -38.0 -1001 -ACAD_DSTYLE_DIMTALN -1070 -392 -1070 -0 - 0 -ENDTAB - 0 -TABLE - 2 -BLOCK_RECORD - 5 -1 -330 -0 -100 -AcDbSymbolTable - 70 -5 - 0 -BLOCK_RECORD - 5 -1F -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -*Model_Space -340 -4ED - 70 -0 -280 -1 -281 -0 - 0 -BLOCK_RECORD - 5 -58 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -*Paper_Space -340 -4EE - 70 -0 -280 -1 -281 -0 - 0 -BLOCK_RECORD - 5 -238 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -_ArchTick -340 -0 - 70 -0 -280 -1 -281 -0 - 0 -BLOCK_RECORD - 5 -23C -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -_Open30 -340 -0 - 70 -0 -280 -1 -281 -0 - 0 -BLOCK_RECORD - 5 -573 -330 -1 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -FLAG -340 -0 - 0 -ENDTAB - 0 -ENDSEC - 0 -SECTION - 2 -BLOCKS - 0 -BLOCK - 5 -23A -330 -238 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockBegin - 2 -_ArchTick - 70 -0 - 10 -0.0 - 20 -0.0 - 30 -0.0 - 3 -_ArchTick - 1 - - 0 -LWPOLYLINE - 5 -239 -330 -238 -100 -AcDbEntity - 8 -0 - 6 -ByBlock - 62 -0 -100 -AcDbPolyline - 90 -2 - 70 -0 - 43 -0.15 - 10 --0.5 - 20 --0.5 - 10 -0.5 - 20 -0.5 - 0 -ENDBLK - 5 -23B -330 -238 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockEnd - 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 -5A -330 -58 -100 -AcDbEntity - 67 -1 - 8 -0 -100 -AcDbBlockBegin - 2 -*Paper_Space - 70 -0 - 10 -0.0 - 20 -0.0 - 30 -0.0 - 3 -*Paper_Space - 1 - - 0 -ENDBLK - 5 -5B -330 -58 -100 -AcDbEntity - 67 -1 - 8 -0 -100 -AcDbBlockEnd - 0 -BLOCK - 5 -571 -330 -573 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockBegin - 2 -FLAG - 3 -FLAG - 70 -0 - 10 -0.0 - 20 -0.0 - 1 - - 0 -CIRCLE - 5 -574 -330 -573 -100 -AcDbEntity - 8 -0 - 62 -5 - 67 -0 -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 40 -5.0 - 0 -ENDBLK - 5 -572 -330 -573 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockEnd - 0 -BLOCK - 5 -240 -330 -23C -100 -AcDbEntity - 8 -0 -100 -AcDbBlockBegin - 2 -_Open30 - 70 -0 - 10 -0.0 - 20 -0.0 - 30 -0.0 - 3 -_Open30 - 1 - - 0 -LINE - 5 -23D -330 -23C -100 -AcDbEntity - 8 -0 - 6 -ByBlock - 62 -0 -370 --2 -100 -AcDbLine - 10 --1.0 - 20 -0.26794919 - 30 -0.0 - 11 -0.0 - 21 -0.0 - 31 -0.0 - 0 -LINE - 5 -23E -330 -23C -100 -AcDbEntity - 8 -0 - 6 -ByBlock - 62 -0 -370 --2 -100 -AcDbLine - 10 -0.0 - 20 -0.0 - 30 -0.0 - 11 --1.0 - 21 --0.26794919 - 31 -0.0 - 0 -LINE - 5 -23F -330 -23C -100 -AcDbEntity - 8 -0 - 6 -ByBlock - 62 -0 -370 --2 -100 -AcDbLine - 10 -0.0 - 20 -0.0 - 30 -0.0 - 11 --1.0 - 21 -0.0 - 31 -0.0 - 0 -ENDBLK - 5 -241 -330 -23C -100 -AcDbEntity - 8 -0 -100 -AcDbBlockEnd - 0 -ENDSEC - 0 -SECTION - 2 -ENTITIES - 0 -LINE - 5 -575 -330 -1F -100 -AcDbEntity - 8 -0 - 67 -0 -100 -AcDbLine - 10 -0.3 - 20 -0.6 - 11 -40.5 - 21 -0.6 - 0 -INSERT - 5 -576 -330 -1F -100 -AcDbEntity - 8 -Isolation - 67 -0 -100 -AcDbBlockReference - 2 -FLAG - 10 -15.0 - 20 -290.0 - 41 -1.0 - 42 -1.0 - 43 -1.0 - 50 -0.0 - 0 -INSERT - 5 -577 -330 -1F -100 -AcDbEntity - 8 -0 - 67 -0 -100 -AcDbBlockReference - 2 -FLAG - 10 -8.0 - 20 -290.0 - 41 -1.0 - 42 -1.0 - 43 -1.0 - 50 -0.0 - 0 -TEXT - 5 -578 -330 -1F -100 -AcDbEntity - 8 -0 - 67 -0 -100 -AcDbText - 10 -10.0 - 20 -285.0 - 40 -1.0 - 1 -TEST - 50 -0.0 - 51 -0.0 - 7 -STANDARD - 41 -1.0 - 71 -0 - 72 -2 - 11 -10.0 - 21 -285.0 -100 -AcDbText - 73 -2 - 0 -ENDSEC - 0 -SECTION - 2 -OBJECTS - 0 -DICTIONARY - 5 -C -330 -0 -100 -AcDbDictionary -281 -1 - 3 -ACAD_COLOR -350 -4E1 - 3 -ACAD_GROUP -350 -4E2 - 3 -ACAD_LAYOUT -350 -4E3 - 3 -ACAD_MATERIAL -350 -4E4 - 3 -ACAD_MLEADERSTYLE -350 -4E5 - 3 -ACAD_MLINESTYLE -350 -4E6 - 3 -ACAD_PLOTSETTINGS -350 -4E7 - 3 -ACAD_PLOTSTYLENAME -350 -4E9 - 3 -ACAD_SCALELIST -350 -4EA - 3 -ACAD_TABLESTYLE -350 -4EB - 3 -ACAD_VISUALSTYLE -350 -4EC - 0 -DICTIONARY - 5 -4E1 -330 -C -100 -AcDbDictionary -281 -1 - 0 -DICTIONARY - 5 -4E2 -330 -C -100 -AcDbDictionary -281 -1 - 0 -DICTIONARY - 5 -4E3 -330 -C -100 -AcDbDictionary -281 -1 - 3 -Model -350 -4ED - 3 -Layout1 -350 -4EE - 0 -DICTIONARY - 5 -4E4 -330 -C -100 -AcDbDictionary -281 -1 - 3 -ByBlock -350 -56B - 3 -ByLayer -350 -56C - 3 -Global -350 -56D - 0 -DICTIONARY - 5 -4E5 -330 -C -100 -AcDbDictionary -281 -1 - 3 -Standard -350 -56E - 0 -DICTIONARY - 5 -4E6 -330 -C -100 -AcDbDictionary -281 -1 - 3 -STANDARD -350 -56F - 0 -DICTIONARY - 5 -4E7 -330 -C -100 -AcDbDictionary -281 -1 - 0 -ACDBPLACEHOLDER - 5 -4E8 -330 -4E9 - 0 -ACDBDICTIONARYWDFLT - 5 -4E9 -330 -C -100 -AcDbDictionary -281 -1 - 3 -Normal -350 -4E8 -100 -AcDbDictionaryWithDefault -340 -4E8 - 0 -DICTIONARY - 5 -4EA -330 -C -100 -AcDbDictionary -281 -1 - 0 -DICTIONARY - 5 -4EB -330 -C -100 -AcDbDictionary -281 -1 - 0 -DICTIONARY - 5 -4EC -330 -C -100 -AcDbDictionary -281 -1 - 0 -LAYOUT - 5 -4ED -330 -4E3 -100 -AcDbPlotSettings - 1 - - 2 -DWFx ePlot (XPS Compatible).pc3 - 4 -ANSI_A_(8.50_x_11.00_Inches) - 6 - - 40 -5.8 - 41 -17.8 - 42 -5.8 - 43 -17.8 - 44 -215.9 - 45 -279.4 - 46 -0.0 - 47 -0.0 - 48 -0.0 - 49 -0.0 -140 -0.0 -141 -0.0 -142 -1.0 -143 -14.53 - 70 -11952 - 72 -0 - 73 -1 - 74 -0 - 7 - - 75 -0 -147 -0.069 -148 -114.98 -149 -300.29 -100 -AcDbLayout - 1 -Model - 70 -1 - 71 -0 - 10 -0.0 - 20 -0.0 - 11 -12.0 - 21 -9.0 - 12 -0.0 - 22 -0.0 - 32 -0.0 - 14 -0.0 - 24 -0.0 - 34 -0.0 - 15 -0.0 - 25 -0.0 - 35 -0.0 -146 -0.0 - 13 -0.0 - 23 -0.0 - 33 -0.0 - 16 -1.0 - 26 -0.0 - 36 -0.0 - 17 -0.0 - 27 -1.0 - 37 -0.0 - 76 -0 -330 -1F - 0 -LAYOUT - 5 -4EE -330 -4E3 -100 -AcDbPlotSettings - 1 - - 2 -DWFx ePlot (XPS Compatible).pc3 - 4 -ANSI_A_(8.50_x_11.00_Inches) - 6 - - 40 -5.8 - 41 -17.8 - 42 -5.8 - 43 -17.8 - 44 -215.9 - 45 -279.4 - 46 -0.0 - 47 -0.0 - 48 -0.0 - 49 -0.0 -140 -0.0 -141 -0.0 -142 -1.0 -143 -1.0 - 70 -688 - 72 -0 - 73 -1 - 74 -5 - 7 -acad.ctb - 75 -16 -147 -1.0 -148 -0.0 -149 -0.0 -100 -AcDbLayout - 1 -Layout1 - 70 -1 - 71 -1 - 10 --0.7 - 20 --0.23 - 11 -10.3 - 21 -8.27 - 12 -0.0 - 22 -0.0 - 32 -0.0 - 14 -0.63 - 24 -0.8 - 34 -0.0 - 15 -9.0 - 25 -7.2 - 35 -0.0 -146 -0.0 - 13 -0.0 - 23 -0.0 - 33 -0.0 - 16 -1.0 - 26 -0.0 - 36 -0.0 - 17 -0.0 - 27 -1.0 - 37 -0.0 - 76 -0 -330 -58 - 0 -MATERIAL - 5 -56B -102 -{ACAD_REACTORS -330 -4E4 -102 -} -330 -4E4 -100 -AcDbMaterial - 1 -ByBlock - 94 -63 - 0 -MATERIAL - 5 -56C -102 -{ACAD_REACTORS -330 -4E4 -102 -} -330 -4E4 -100 -AcDbMaterial - 1 -ByLayer - 94 -63 - 0 -MATERIAL - 5 -56D -102 -{ACAD_REACTORS -330 -4E4 -102 -} -330 -4E4 -100 -AcDbMaterial - 1 -Global - 94 -63 - 0 -MLEADERSTYLE - 5 -56E -102 -{ACAD_REACTORS -330 -4E5 -102 -} -330 -4E5 -100 -AcDbMLeaderStyle -179 -2 -170 -2 -171 -1 -172 -0 - 90 -2 - 40 -0.0 - 41 -0.0 -173 -1 - 91 --1056964608 -340 -14 - 92 --2 -290 -1 - 42 -2.0 -291 -1 - 43 -8.0 - 3 -Standard -341 -0 - 44 -4.0 -300 - -342 -11 -174 -1 -178 -1 -175 -1 -176 -0 - 93 --1056964608 - 45 -4.0 -292 -0 -297 -0 - 46 -4.0 -343 -0 - 94 --1056964608 - 47 -1.0 - 49 -1.0 -140 -1.0 -293 -1 -141 -0.0 -294 -1 -177 -0 -142 -1.0 -295 -0 -296 -0 -143 -3.75 -271 -0 -272 -9 -273 -9 - 0 -MLINESTYLE - 5 -56F -102 -{ACAD_REACTORS -330 -4E6 -102 -} -330 -4E6 -100 -AcDbMlineStyle - 2 -STANDARD - 70 -0 - 3 - - 62 -256 - 51 -90.0 - 52 -90.0 - 71 -2 - 49 -0.5 - 62 -256 - 6 -BYLAYER - 49 --0.5 - 62 -256 - 6 -BYLAYER - 0 -ENDSEC - 0 -EOF diff --git a/testline.py b/testline.py deleted file mode 100644 index d0d05863d48d47c28cb1389e928b6832f53ae9eb..0000000000000000000000000000000000000000 --- a/testline.py +++ /dev/null @@ -1,72 +0,0 @@ -import ezdxf -import random # needed for random placing points -import numpy as np - -def get_random_point(): - """Creates random x, y coordinates.""" - x = random.randint(-100, 100) - y = random.randint(-100, 100) - return x, y - -# Create a new drawing in the DXF format of AutoCAD 2010 -dwg = ezdxf.new('ac1024') -if not 'Isolation' in dwg.layers: - dwg.layers.new(name='Isolation',dxfattribs={'color':4}) -# Create a block with the name 'FLAG' -flag = dwg.blocks.new(name='FLAG') - - -# Add DXF entities to the block 'FLAG'. -# The default base point (= insertion point) of the block is (0, 0). -# flag.add_polyline2d([(0, 0), (0, 5)]) # the flag as 2D polyline -flag.add_circle((0, 0), 5, dxfattribs={'color': 5}) # mark the base point with a circle -# flag.add_text("TEST").set_pos((25,280),align="MIDDLE_RIGHT") -# Get the modelspace of the drawing. -modelspace = dwg.modelspace() - -modelspace.add_line((0.3,0.6),(40.5,0.6)) -# Get 50 random placing points. -placing_points = [get_random_point() for _ in range(50)] - -random_scale = 0.5 + random.random() * 2.0 -# Add a block reference to the block named 'FLAG' at the coordinates 'point'. -modelspace.add_blockref('FLAG', (15,290), dxfattribs={ - 'layer':'Isolation', -}) - -modelspace.add_blockref('FLAG',(8,290)) -modelspace.add_text("TEST").set_pos((10,285),align="MIDDLE_RIGHT") - - -for e in modelspace.query('LINE'): - print(e.dxf.start) - -index_i=[] -index_j=[] -for line in modelspace.query('LINE'): - start=np.rint(line.dxf.start) - end=np.rint(line.dxf.end) - i=start[0] - j=start[1] - # index_i.append(i) - # index_j.append(j) - #can draw horizontal or vertical lines only - if j==end[1]: #this line is a horizontal line - index_i.append(i) - while i!=end[0]: - if i<end[0]: - i+=1 - else: - i-=1 - index_i.append(i) - elif i==end[0]: #this line is a vertical line - index_j.append(j) - while j!=end[1]: - if j<end[1]: - j+=1 - else: - j-=1 - index_j.append(j) - -# Save the drawing. -dwg.saveas("testline.dxf") \ No newline at end of file