ezdxf 1.2.0b3__zip → 1.3.0__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (836) hide show
  1. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/MANIFEST.in +1 -0
  2. {ezdxf-1.2.0b3/src/ezdxf.egg-info → ezdxf-1.3.0}/PKG-INFO +38 -8
  3. ezdxf-1.3.0/integration_tests/test_acis_entites.py +48 -0
  4. ezdxf-1.3.0/integration_tests/test_xref_load_acis.py +85 -0
  5. ezdxf-1.3.0/pyproject.toml +91 -0
  6. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/setup.cfg +0 -3
  7. ezdxf-1.3.0/setup.py +66 -0
  8. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/construct.pyx +73 -2
  9. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/entities.py +16 -42
  10. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/acadctb.py +13 -1
  11. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/browser.py +1 -1
  12. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/frontend.py +102 -54
  13. ezdxf-1.3.0/src/ezdxf/addons/drawing/json.py +590 -0
  14. ezdxf-1.2.0b3/src/ezdxf/addons/drawing/designer.py → ezdxf-1.3.0/src/ezdxf/addons/drawing/pipeline.py +405 -234
  15. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/properties.py +39 -27
  16. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dxf2code.py +3 -1
  17. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/geo.py +10 -40
  18. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/commands.py +1 -59
  19. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/document.py +73 -10
  20. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/acad_proxy_entity.py +0 -1
  21. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/acad_table.py +56 -4
  22. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/acis.py +148 -33
  23. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/attrib.py +3 -3
  24. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/block.py +3 -2
  25. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/blockrecord.py +3 -2
  26. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dictionary.py +5 -4
  27. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dimension.py +3 -3
  28. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dimstyle.py +3 -2
  29. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dxfentity.py +12 -8
  30. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dxfgfx.py +5 -4
  31. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dxfobj.py +6 -5
  32. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/idbuffer.py +2 -1
  33. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/image.py +4 -4
  34. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/insert.py +3 -2
  35. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/layer.py +2 -1
  36. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/layout.py +4 -3
  37. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/leader.py +4 -3
  38. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/ltype.py +4 -3
  39. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/lwpolyline.py +5 -5
  40. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/material.py +2 -1
  41. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/mesh.py +4 -3
  42. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/mleader.py +4 -3
  43. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/mline.py +5 -5
  44. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/mtext.py +4 -3
  45. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/polygon.py +4 -3
  46. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/solid.py +5 -5
  47. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/spatial_filter.py +3 -2
  48. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/spline.py +4 -5
  49. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/subentity.py +4 -3
  50. ezdxf-1.3.0/src/ezdxf/entities/temporary_transform.py +49 -0
  51. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/text.py +3 -2
  52. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/tolerance.py +4 -3
  53. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/underlay.py +4 -3
  54. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/viewport.py +4 -3
  55. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/visualstyle.py +2 -1
  56. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/packedtags.py +75 -97
  57. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/tagger.py +45 -11
  58. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/tagwriter.py +62 -7
  59. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_construct.py +87 -1
  60. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_ctypes.py +7 -0
  61. ezdxf-1.3.0/src/ezdxf/messenger.py +19 -0
  62. ezdxf-1.3.0/src/ezdxf/msgtypes.py +9 -0
  63. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/converter.py +3 -3
  64. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/protocols.py +17 -11
  65. ezdxf-1.3.0/src/ezdxf/revcloud.py +115 -0
  66. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/headervars.py +18 -1
  67. ezdxf-1.3.0/src/ezdxf/select.py +342 -0
  68. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/clipping_portal.py +48 -73
  69. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/transform.py +100 -5
  70. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/version.py +2 -2
  71. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/xref.py +1 -1
  72. {ezdxf-1.2.0b3 → ezdxf-1.3.0/src/ezdxf.egg-info}/PKG-INFO +38 -8
  73. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf.egg-info/SOURCES.txt +22 -16
  74. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_005_packed_tags.py +28 -28
  75. ezdxf-1.3.0/tests/test_00_dxf_low_level_structs/test_058_json_tags.py +73 -0
  76. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_205_solid.py +6 -5
  77. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_220_lwpolyline_2.py +26 -27
  78. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_226_spline.py +11 -9
  79. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_228_mesh.py +1 -1
  80. ezdxf-1.2.0b3/tests/test_02_dxf_graphics/test_232_acis.py → ezdxf-1.3.0/tests/test_02_dxf_graphics/test_232a_add_acis.py +1 -1
  81. ezdxf-1.2.0b3/tests/test_02_dxf_graphics/test_232_acis_2.py → ezdxf-1.3.0/tests/test_02_dxf_graphics/test_232b_acis_export.py +33 -12
  82. ezdxf-1.2.0b3/tests/test_02_dxf_graphics/test_232_surface.py → ezdxf-1.3.0/tests/test_02_dxf_graphics/test_232c_acis_surface.py +1 -1
  83. ezdxf-1.3.0/tests/test_02_dxf_graphics/test_232d_acis_copy.py +121 -0
  84. ezdxf-1.3.0/tests/test_02_dxf_graphics/test_232e_acis_transform.py +75 -0
  85. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_531_acis_entities.py +1 -2
  86. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_537_transform.py +13 -4
  87. ezdxf-1.3.0/tests/test_05_tools/test_541_clipping_portal.py +37 -0
  88. ezdxf-1.3.0/tests/test_05_tools/test_543_select.py +322 -0
  89. ezdxf-1.3.0/tests/test_05_tools/test_544_revcloud.py +43 -0
  90. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_613_is_point_in_polygon_2d.py +7 -5
  91. ezdxf-1.3.0/tests/test_06_math/test_666_wgs84_transform.py +43 -0
  92. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_708b_path_tools.py +2 -2
  93. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_803_entities_to_code.py +8 -5
  94. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_806_acadctb.py +28 -8
  95. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_810_drawing_properties.py +18 -14
  96. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_811a_drawing_frontend.py +57 -26
  97. ezdxf-1.3.0/tests/test_08_addons/test_826_custom_json_backend.py +98 -0
  98. ezdxf-1.3.0/tests/test_08_addons/test_827_geojson_backend.py +98 -0
  99. ezdxf-1.2.0b3/setup.py +0 -186
  100. ezdxf-1.2.0b3/src/ezdxf/pp/__init__.py +0 -4
  101. ezdxf-1.2.0b3/src/ezdxf/pp/dxfpp.css +0 -181
  102. ezdxf-1.2.0b3/src/ezdxf/pp/dxfpp.html +0 -30
  103. ezdxf-1.2.0b3/src/ezdxf/pp/dxfpp.js +0 -172
  104. ezdxf-1.2.0b3/src/ezdxf/pp/dxfpp.py +0 -460
  105. ezdxf-1.2.0b3/src/ezdxf/pp/pprint.py +0 -123
  106. ezdxf-1.2.0b3/src/ezdxf/pp/rawpp.css +0 -53
  107. ezdxf-1.2.0b3/src/ezdxf/pp/rawpp.html +0 -17
  108. ezdxf-1.2.0b3/src/ezdxf/pp/rawpp.py +0 -67
  109. ezdxf-1.2.0b3/tests/test_05_tools/test_507_dxf_pretty_printer.py +0 -21
  110. ezdxf-1.2.0b3/tests/test_05_tools/test_541_clipping_portal.py +0 -85
  111. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/LICENSE +0 -0
  112. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/README.md +0 -0
  113. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/check_disable_c_ext_by_config_file.py +0 -0
  114. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/check_disable_c_ext_by_env_var.py +0 -0
  115. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/conftest.py +0 -0
  116. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/AC1003_LINE_Example.dxf +0 -0
  117. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/ASCII_R12.dxf +0 -0
  118. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/Leica_Disto_S910.dxf +0 -0
  119. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/MODEL.dxf +0 -0
  120. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/PLOTFILE.plt +0 -0
  121. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/POLI-ALL210_12.DXF +0 -0
  122. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/R12_with_trash_beyond_EOF.dxf +0 -0
  123. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/XRECORD_0.bin +0 -0
  124. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/XRECORD_1.bin +0 -0
  125. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/XRECORD_2.bin +0 -0
  126. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/acad_table_with_blk_ref.dxf +0 -0
  127. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/bin_dxf_r12.dxf +0 -0
  128. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/bin_dxf_r13.dxf +0 -0
  129. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/bin_dxf_r14.dxf +0 -0
  130. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/bin_dxf_r2000.dxf +0 -0
  131. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/cc_dxflib.dxf +0 -0
  132. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/custom_blocks.dxf +0 -0
  133. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/duplicate_handles.dxf +0 -0
  134. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/dxf_unicode.dxf +0 -0
  135. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/dynblks.zip +0 -0
  136. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/empty_handles.dxf +0 -0
  137. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/groups.dxf +0 -0
  138. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/layout_broken_links.dxf +0 -0
  139. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/layout_broken_links_2.dxf +0 -0
  140. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/layout_missing_block_definition.dxf +0 -0
  141. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/layout_missing_block_record.dxf +0 -0
  142. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/mtext_columns_R2007.dxf +0 -0
  143. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/mtext_columns_R2018.dxf +0 -0
  144. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/mtext_framed_columns.dxf +0 -0
  145. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/mtext_text_frame.dxf +0 -0
  146. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/no_layouts.dxf +0 -0
  147. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/recover01.dxf +0 -0
  148. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/recover02.dxf +0 -0
  149. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/small_r13.dxf +0 -0
  150. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/small_r14.dxf +0 -0
  151. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_acad_table.py +0 -0
  152. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_all_dimline_styles.py +0 -0
  153. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_all_ellipse_transformations.py +0 -0
  154. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_anonymous_blocks.py +0 -0
  155. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_appsettings.py +0 -0
  156. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_audit_critical_dxf_files.py +0 -0
  157. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_audit_layouts.py +0 -0
  158. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_complex_line_type_2.py +0 -0
  159. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_create_basic_graphics.py +0 -0
  160. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_document_guid.py +0 -0
  161. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_document_page_setup.py +0 -0
  162. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_dxf_info_scanning.py +0 -0
  163. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_dynblkhelper.py +0 -0
  164. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_entities_iterator.py +0 -0
  165. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_fix_dulicate_handles.py +0 -0
  166. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_geo.py +0 -0
  167. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_groups.py +0 -0
  168. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_hpgl2_addon.py +0 -0
  169. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_ignore_junk_beyond_EOF.py +0 -0
  170. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_launcher.py +0 -0
  171. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_leica_disto_r12.py +0 -0
  172. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_load_dxf_unicode_notation.py +0 -0
  173. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_mapbox_earcut.py +0 -0
  174. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_mtext_columns.py +0 -0
  175. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_mtext_explode_addon.py +0 -0
  176. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_mtext_text_frame.py +0 -0
  177. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_new_table_entries.py +0 -0
  178. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_none_ascii_read_write.py +0 -0
  179. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_odafc.py +0 -0
  180. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_open_R13_R14.py +0 -0
  181. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_open_binary_DXF_files.py +0 -0
  182. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_open_coord_order_issue.py +0 -0
  183. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_open_exotic_dxf_files.py +0 -0
  184. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_polyline_entity.py +0 -0
  185. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_preserve_binary_data_in_xrecords.py +0 -0
  186. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_r12export.py +0 -0
  187. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_r12strict.py +0 -0
  188. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_r12writer.py +0 -0
  189. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_read_file_without_handles.py +0 -0
  190. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_read_write_modern_entites.py +0 -0
  191. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_recover.py +0 -0
  192. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_redraw_order.py +0 -0
  193. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_rotated_block_attributes.py +0 -0
  194. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_surface_entities.py +0 -0
  195. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_write_fixed_meta_data.py +0 -0
  196. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_write_without_handles.py +0 -0
  197. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_xref_detach.py +0 -0
  198. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/requirements.txt +0 -0
  199. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/__init__.py +0 -0
  200. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/__main__.py +0 -0
  201. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/_options.py +0 -0
  202. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/__init__.py +0 -0
  203. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/bezier3p.pyx +0 -0
  204. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/bezier4p.pyx +0 -0
  205. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/bspline.pyx +0 -0
  206. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/constants.h +0 -0
  207. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/linetypes.pyx +0 -0
  208. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/mapbox_earcut.pyx +0 -0
  209. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/matrix44.pxd +0 -0
  210. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/matrix44.pyx +0 -0
  211. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/np_support.pyx +0 -0
  212. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/vector.pxd +0 -0
  213. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/vector.pyx +0 -0
  214. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/__init__.py +0 -0
  215. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/abstract.py +0 -0
  216. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/api.py +0 -0
  217. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/const.py +0 -0
  218. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/dbg.py +0 -0
  219. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/dxf.py +0 -0
  220. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/hdr.py +0 -0
  221. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/mesh.py +0 -0
  222. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/sab.py +0 -0
  223. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/sat.py +0 -0
  224. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/__init__.py +0 -0
  225. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/acisbrowser/__init__.py +0 -0
  226. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/acisbrowser/browser.py +0 -0
  227. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/acisbrowser/data.py +0 -0
  228. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/binpacking.py +0 -0
  229. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/__init__.py +0 -0
  230. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/bookmarks.py +0 -0
  231. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/data.py +0 -0
  232. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/find_dialog.py +0 -0
  233. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/loader.py +0 -0
  234. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/model.py +0 -0
  235. {ezdxf-1.2.0b3/src/ezdxf/pp → ezdxf-1.3.0/src/ezdxf/addons/browser}/reflinks.py +0 -0
  236. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/tags.py +0 -0
  237. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/views.py +0 -0
  238. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dimlines.py +0 -0
  239. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/__init__.py +0 -0
  240. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/backend.py +0 -0
  241. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/config.py +0 -0
  242. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/debug_backend.py +0 -0
  243. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/debug_utils.py +0 -0
  244. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/dxf.py +0 -0
  245. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/file_output.py +0 -0
  246. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/gfxproxy.py +0 -0
  247. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/hpgl2.py +0 -0
  248. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/layout.py +0 -0
  249. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/matplotlib.py +0 -0
  250. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/mtext_complex.py +0 -0
  251. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/pymupdf.py +0 -0
  252. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/pyqt.py +0 -0
  253. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/qtviewer.py +0 -0
  254. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/recorder.py +0 -0
  255. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/svg.py +0 -0
  256. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/text.py +0 -0
  257. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/text_renderer.py +0 -0
  258. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/type_hints.py +0 -0
  259. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/unified_text_renderer.py +0 -0
  260. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/__init__.py +0 -0
  261. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/classes_section.py +0 -0
  262. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/const.py +0 -0
  263. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/crc.py +0 -0
  264. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/fileheader.py +0 -0
  265. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/header_section.py +0 -0
  266. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/loader.py +0 -0
  267. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/genetic_algorithm.py +0 -0
  268. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/gerber_D6673.py +0 -0
  269. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/__init__.py +0 -0
  270. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/api.py +0 -0
  271. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/backend.py +0 -0
  272. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/deps.py +0 -0
  273. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/interpreter.py +0 -0
  274. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/page.py +0 -0
  275. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/plotter.py +0 -0
  276. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/polygon_buffer.py +0 -0
  277. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/properties.py +0 -0
  278. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/tokenizer.py +0 -0
  279. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/viewer.py +0 -0
  280. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/importer.py +0 -0
  281. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/iterdxf.py +0 -0
  282. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/menger_sponge.py +0 -0
  283. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/meshex.py +0 -0
  284. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/mixins.py +0 -0
  285. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/mtextsurrogate.py +0 -0
  286. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/mtxpl.py +0 -0
  287. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/odafc.py +0 -0
  288. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/openscad.py +0 -0
  289. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/pycsg.py +0 -0
  290. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/r12export.py +0 -0
  291. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/r12writer.py +0 -0
  292. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/sierpinski_pyramid.py +0 -0
  293. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/tablepainter.py +0 -0
  294. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/text2path.py +0 -0
  295. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/xplayer.py +0 -0
  296. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/xqt.py +0 -0
  297. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/appsettings.py +0 -0
  298. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/audit.py +0 -0
  299. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/bbox.py +0 -0
  300. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/blkrefs.py +0 -0
  301. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/colors.py +0 -0
  302. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/comments.py +0 -0
  303. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/disassemble.py +0 -0
  304. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/dwginfo.py +0 -0
  305. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/dynblkhelper.py +0 -0
  306. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/__init__.py +0 -0
  307. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/acad_xrec_roundtrip.py +0 -0
  308. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/appdata.py +0 -0
  309. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/appid.py +0 -0
  310. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/arc.py +0 -0
  311. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/boundary_paths.py +0 -0
  312. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/circle.py +0 -0
  313. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/copy.py +0 -0
  314. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dimstyleoverride.py +0 -0
  315. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dxfclass.py +0 -0
  316. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dxfgroups.py +0 -0
  317. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dxfns.py +0 -0
  318. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/ellipse.py +0 -0
  319. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/factory.py +0 -0
  320. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/geodata.py +0 -0
  321. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/gradient.py +0 -0
  322. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/hatch.py +0 -0
  323. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/helix.py +0 -0
  324. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/light.py +0 -0
  325. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/line.py +0 -0
  326. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/mpolygon.py +0 -0
  327. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/mtext_columns.py +0 -0
  328. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/objectcollection.py +0 -0
  329. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/oleframe.py +0 -0
  330. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/pattern.py +0 -0
  331. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/point.py +0 -0
  332. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/polyline.py +0 -0
  333. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/shape.py +0 -0
  334. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/sun.py +0 -0
  335. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/table.py +0 -0
  336. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/textstyle.py +0 -0
  337. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/ucs.py +0 -0
  338. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/view.py +0 -0
  339. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/vport.py +0 -0
  340. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/xdata.py +0 -0
  341. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/xdict.py +0 -0
  342. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/xline.py +0 -0
  343. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entitydb.py +0 -0
  344. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/enums.py +0 -0
  345. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/explode.py +0 -0
  346. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/eztypes.py +0 -0
  347. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/filemanagement.py +0 -0
  348. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/__init__.py +0 -0
  349. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/font_face.py +0 -0
  350. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/font_manager.py +0 -0
  351. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/font_measurements.py +0 -0
  352. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/font_synonyms.py +0 -0
  353. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/fonts.py +0 -0
  354. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/glyphs.py +0 -0
  355. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/lff.py +0 -0
  356. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/shapefile.py +0 -0
  357. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/ttfonts.py +0 -0
  358. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/gfxattribs.py +0 -0
  359. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/graphicsfactory.py +0 -0
  360. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/groupby.py +0 -0
  361. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/layouts/__init__.py +0 -0
  362. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/layouts/base.py +0 -0
  363. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/layouts/blocklayout.py +0 -0
  364. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/layouts/layout.py +0 -0
  365. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/layouts/layouts.py +0 -0
  366. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/__init__.py +0 -0
  367. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/attributes.py +0 -0
  368. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/const.py +0 -0
  369. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/encoding.py +0 -0
  370. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/extendedtags.py +0 -0
  371. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/fileindex.py +0 -0
  372. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/hdrvars.py +0 -0
  373. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/loader.py +0 -0
  374. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/repair.py +0 -0
  375. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/tags.py +0 -0
  376. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/types.py +0 -0
  377. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/validator.py +0 -0
  378. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/__init__.py +0 -0
  379. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_bezier3p.py +0 -0
  380. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_bezier4p.py +0 -0
  381. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_bspline.py +0 -0
  382. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_mapbox_earcut.py +0 -0
  383. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_matrix44.py +0 -0
  384. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_vector.py +0 -0
  385. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/arc.py +0 -0
  386. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/bbox.py +0 -0
  387. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/bezier.py +0 -0
  388. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/bezier_interpolation.py +0 -0
  389. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/box.py +0 -0
  390. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/bspline.py +0 -0
  391. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/bulge.py +0 -0
  392. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/circle.py +0 -0
  393. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/clipping.py +0 -0
  394. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/clustering.py +0 -0
  395. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/construct2d.py +0 -0
  396. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/construct3d.py +0 -0
  397. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/cspline.py +0 -0
  398. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/curvetools.py +0 -0
  399. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/ellipse.py +0 -0
  400. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/eulerspiral.py +0 -0
  401. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/legacy.py +0 -0
  402. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/linalg.py +0 -0
  403. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/line.py +0 -0
  404. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/offset2d.py +0 -0
  405. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/parametrize.py +0 -0
  406. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/perlin.py +0 -0
  407. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/polyline.py +0 -0
  408. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/rtree.py +0 -0
  409. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/shape.py +0 -0
  410. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/transformtools.py +0 -0
  411. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/triangulation.py +0 -0
  412. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/ucs.py +0 -0
  413. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/npshapes.py +0 -0
  414. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/__init__.py +0 -0
  415. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/commands.py +0 -0
  416. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/nesting.py +0 -0
  417. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/path.py +0 -0
  418. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/shapes.py +0 -0
  419. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/tools.py +0 -0
  420. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/proxygraphic.py +0 -0
  421. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/py.typed +0 -0
  422. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/query.py +0 -0
  423. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/queryparser.py +0 -0
  424. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/r12strict.py +0 -0
  425. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/recover.py +0 -0
  426. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/__init__.py +0 -0
  427. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/_linetypes.py +0 -0
  428. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/abstract_mtext_renderer.py +0 -0
  429. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/arrows.py +0 -0
  430. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/curves.py +0 -0
  431. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dim_base.py +0 -0
  432. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dim_curved.py +0 -0
  433. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dim_diameter.py +0 -0
  434. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dim_linear.py +0 -0
  435. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dim_ordinate.py +0 -0
  436. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dim_radius.py +0 -0
  437. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dimension.py +0 -0
  438. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/forms.py +0 -0
  439. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/hatching.py +0 -0
  440. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/leader.py +0 -0
  441. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/linetypes.py +0 -0
  442. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/mesh.py +0 -0
  443. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/mleader.py +0 -0
  444. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/mline.py +0 -0
  445. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/point.py +0 -0
  446. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/polyline.py +0 -0
  447. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/r12spline.py +0 -0
  448. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/trace.py +0 -0
  449. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/reorder.py +0 -0
  450. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/16x16.png +0 -0
  451. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/24x24.png +0 -0
  452. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/256x256.png +0 -0
  453. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/32x32.png +0 -0
  454. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/48x48.png +0 -0
  455. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/64x64.png +0 -0
  456. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-copy-64px.png +0 -0
  457. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-find-64px.png +0 -0
  458. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-goto-bookmark-64px.png +0 -0
  459. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-goto-handle-64px.png +0 -0
  460. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-goto-line-64px.png +0 -0
  461. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-left-arrow-64px.png +0 -0
  462. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-next-entity-64px.png +0 -0
  463. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-prev-entity-64px.png +0 -0
  464. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-right-arrow-64px.png +0 -0
  465. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-show-in-tree-64px.png +0 -0
  466. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-store-bookmark-64px.png +0 -0
  467. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/__init__.py +0 -0
  468. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/acdsdata.py +0 -0
  469. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/blocks.py +0 -0
  470. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/classes.py +0 -0
  471. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/entities.py +0 -0
  472. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/header.py +0 -0
  473. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/objects.py +0 -0
  474. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/table.py +0 -0
  475. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/tables.py +0 -0
  476. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/__init__.py +0 -0
  477. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/_iso_pattern.py +0 -0
  478. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/analyze.py +0 -0
  479. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/binarydata.py +0 -0
  480. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/codepage.py +0 -0
  481. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/complex_ltype.py +0 -0
  482. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/crypt.py +0 -0
  483. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/debug.py +0 -0
  484. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/difftags.py +0 -0
  485. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/handle.py +0 -0
  486. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/indexing.py +0 -0
  487. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/juliandate.py +0 -0
  488. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/pattern.py +0 -0
  489. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/rawloader.py +0 -0
  490. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/standards.py +0 -0
  491. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/strip.py +0 -0
  492. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/test.py +0 -0
  493. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/text.py +0 -0
  494. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/text_layout.py +0 -0
  495. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/text_size.py +0 -0
  496. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/zipmanager.py +0 -0
  497. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/units.py +0 -0
  498. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/upright.py +0 -0
  499. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/urecord.py +0 -0
  500. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/xclip.py +0 -0
  501. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/zoom.py +0 -0
  502. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf.egg-info/dependency_links.txt +0 -0
  503. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf.egg-info/entry_points.txt +0 -0
  504. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf.egg-info/not-zip-safe +0 -0
  505. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf.egg-info/requires.txt +10 -10
  506. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf.egg-info/top_level.txt +0 -0
  507. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/conftest.py +0 -0
  508. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_001_dxf_types.py +0 -0
  509. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py +0 -0
  510. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py +0 -0
  511. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_004_dxf_value.py +0 -0
  512. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_010_binary_data.py +0 -0
  513. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_011_codepage.py +0 -0
  514. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_012_crypt.py +0 -0
  515. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_013_juliandate.py +0 -0
  516. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_014_multi_tags_text.py +0 -0
  517. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py +0 -0
  518. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_016_encoding.py +0 -0
  519. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_018_handle.py +0 -0
  520. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py +0 -0
  521. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py +0 -0
  522. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py +0 -0
  523. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_022_set_flag_state.py +0 -0
  524. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_023_fix_invalid_located_group_codes.py +0 -0
  525. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_024_render_tag.py +0 -0
  526. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_040_tags.py +0 -0
  527. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_041_group_tags.py +0 -0
  528. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_042_tags_loader.py +0 -0
  529. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py +0 -0
  530. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_050_extended_tags.py +0 -0
  531. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py +0 -0
  532. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_052_tag_writer.py +0 -0
  533. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py +0 -0
  534. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_054_dxfattr.py +0 -0
  535. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_055_recover_loader.py +0 -0
  536. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py +0 -0
  537. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_057_group_code_mapping.py +0 -0
  538. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_101_dxfnamespace.py +0 -0
  539. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_102_appdata.py +0 -0
  540. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_103_reactors.py +0 -0
  541. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_104_extension_dict.py +0 -0
  542. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_105_xdata.py +0 -0
  543. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_110_dxfentity.py +0 -0
  544. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py +0 -0
  545. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_112a_dxfgfx.py +0 -0
  546. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_112b_dxfobj.py +0 -0
  547. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_113_dxfclass.py +0 -0
  548. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_114_factory.py +0 -0
  549. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_115_new_empty_drawing.py +0 -0
  550. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_116_dictionary.py +0 -0
  551. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_117_layer_table_entry.py +0 -0
  552. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_118_appid_table_entry.py +0 -0
  553. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_119_ucs_table_entry.py +0 -0
  554. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_120_style_table_entry.py +0 -0
  555. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_121_ltype_table_entry.py +0 -0
  556. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_122_vport_table_entry.py +0 -0
  557. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_123_view_table_entry.py +0 -0
  558. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py +0 -0
  559. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_125_image_def.py +0 -0
  560. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_126_image_def_reactor.py +0 -0
  561. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_127_raster_variables.py +0 -0
  562. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_128_pdf_definition.py +0 -0
  563. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_129_xrecord.py +0 -0
  564. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_130_id_buffer.py +0 -0
  565. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_131_field_list.py +0 -0
  566. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_132_layer_filter.py +0 -0
  567. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_133_sun.py +0 -0
  568. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_134_material.py +0 -0
  569. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_135_geo_data.py +0 -0
  570. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_136_vba_project.py +0 -0
  571. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_137_sortentstable.py +0 -0
  572. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_138_setup_visual_styles.py +0 -0
  573. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_139_user_record.py +0 -0
  574. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_140_block_record.py +0 -0
  575. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_141_layer_vp_override.py +0 -0
  576. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_142_copy_strategy.py +0 -0
  577. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_143_spatial_filter.py +0 -0
  578. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py +0 -0
  579. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/conftest.py +0 -0
  580. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_200_line.py +0 -0
  581. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_201_point.py +0 -0
  582. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_202_circle.py +0 -0
  583. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_203_arc.py +0 -0
  584. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_204_shape.py +0 -0
  585. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_206_text.py +0 -0
  586. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_207_attdef.py +0 -0
  587. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_208_attrib.py +0 -0
  588. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_209_vertex.py +0 -0
  589. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_210_polyline_1.py +0 -0
  590. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_210_polyline_2.py +0 -0
  591. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_210_polyline_explode.py +0 -0
  592. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py +0 -0
  593. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_211_viewport.py +0 -0
  594. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_212_insert.py +0 -0
  595. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_213_minsert.py +0 -0
  596. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_214_block.py +0 -0
  597. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_215_dimension.py +0 -0
  598. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_216_dimlines_R12.py +0 -0
  599. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_217_dimlines_R2000.py +0 -0
  600. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py +0 -0
  601. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py +0 -0
  602. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_220_lwpolyline_1.py +0 -0
  603. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_220_lwpolyline_3.py +0 -0
  604. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py +0 -0
  605. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_221_ellipse.py +0 -0
  606. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_222_xline.py +0 -0
  607. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_223_ray.py +0 -0
  608. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_224_group.py +0 -0
  609. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_225_mtext.py +0 -0
  610. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_226_spline_with_linear_segments.py +0 -0
  611. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_227_mesh_packed_data.py +0 -0
  612. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py +0 -0
  613. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_229b_hatch_extended.py +0 -0
  614. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_229c_hatch_transformations.py +0 -0
  615. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py +0 -0
  616. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py +0 -0
  617. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_231_underlay.py +0 -0
  618. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_231_underlay_2.py +0 -0
  619. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_233_helix.py +0 -0
  620. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_234_light.py +0 -0
  621. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_235_leader.py +0 -0
  622. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_236_multileader.py +0 -0
  623. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_237_mline.py +0 -0
  624. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_238_tolerance.py +0 -0
  625. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_239_proxy_graphic.py +0 -0
  626. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_240_arc_dimension.py +0 -0
  627. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_241_hyperlink.py +0 -0
  628. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_242_random_transform.py +0 -0
  629. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_243_replace_entity.py +0 -0
  630. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_244_large_radial_dimension.py +0 -0
  631. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_245_wipeout.py +0 -0
  632. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_246_spline_audit.py +0 -0
  633. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py +0 -0
  634. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_248_mpolygon.py +0 -0
  635. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py +0 -0
  636. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_249_boundary_paths.py +0 -0
  637. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py +0 -0
  638. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_251_upright.py +0 -0
  639. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py +0 -0
  640. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_253_ole2frame.py +0 -0
  641. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_254_get_font_name.py +0 -0
  642. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_300_layout.py +0 -0
  643. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py +0 -0
  644. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_302_block_references.py +0 -0
  645. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_303_auto_block_references.py +0 -0
  646. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_304_new_entity_space.py +0 -0
  647. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py +0 -0
  648. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_306_copy_linked_entities.py +0 -0
  649. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_307_groupby.py +0 -0
  650. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_308_query.py +0 -0
  651. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_309_query_parser.py +0 -0
  652. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_311_add_foreign_entity.py +0 -0
  653. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_312_virtual_layout.py +0 -0
  654. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_313_redraw_order.py +0 -0
  655. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_401_headersection.py +0 -0
  656. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_402_classessection.py +0 -0
  657. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_403_entity_database.py +0 -0
  658. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_404a_tables.py +0 -0
  659. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_404b_object_collections.py +0 -0
  660. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_405_classes.py +0 -0
  661. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_406_blocks_section.py +0 -0
  662. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_407_entity_section.py +0 -0
  663. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_408_objects_section.py +0 -0
  664. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_409_create_objects.py +0 -0
  665. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_410_table.py +0 -0
  666. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_411_acds_data.py +0 -0
  667. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_412_rename_layer.py +0 -0
  668. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py +0 -0
  669. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py +0 -0
  670. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_415_layout_management.py +0 -0
  671. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_416a_disassemble.py +0 -0
  672. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py +0 -0
  673. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_417_bbox.py +0 -0
  674. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_418_copy_entities.py +0 -0
  675. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_420_load_dxf_file.py +0 -0
  676. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_421_new_drawings.py +0 -0
  677. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_422_drawing_object.py +0 -0
  678. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_423_read_proe_r2004.py +0 -0
  679. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_424_audit.py +0 -0
  680. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py +0 -0
  681. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py +0 -0
  682. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_427_appsettings.py +0 -0
  683. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py +0 -0
  684. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_429_xclip.py +0 -0
  685. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/conftest.py +0 -0
  686. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_500_units.py +0 -0
  687. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_501_truecolor.py +0 -0
  688. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_502_raw_color.py +0 -0
  689. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_503_indexing.py +0 -0
  690. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_504_suppress_zeros.py +0 -0
  691. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_506_version.py +0 -0
  692. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_508_read_zip.py +0 -0
  693. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_509_comments.py +0 -0
  694. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_510_byte_stream.py +0 -0
  695. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_511_bit_stream.py +0 -0
  696. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_512_pattern.py +0 -0
  697. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_513_reorder_entities.py +0 -0
  698. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_514_text.py +0 -0
  699. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_515a_fonts_truetype.py +0 -0
  700. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_515b_fonts_shapefiles.py +0 -0
  701. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_515c_fonts_lff.py +0 -0
  702. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_516_zoom.py +0 -0
  703. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_517_text_layout.py +0 -0
  704. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_518_header_guid.py +0 -0
  705. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_519_mtext_editor.py +0 -0
  706. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_520_mtext_context.py +0 -0
  707. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_521_mtext_parser.py +0 -0
  708. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_522_text_scanner.py +0 -0
  709. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_523_text_size.py +0 -0
  710. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_524_block_reference_manager.py +0 -0
  711. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_525_transparency.py +0 -0
  712. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_526_explode.py +0 -0
  713. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_527_gfxattribs.py +0 -0
  714. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_528_difftags.py +0 -0
  715. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_529_acis_sat.py +0 -0
  716. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_530_acis_sab.py +0 -0
  717. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_532_acis_mesh.py +0 -0
  718. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_533_shapefiles.py +0 -0
  719. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_534_dwg_info.py +0 -0
  720. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_535_xref_basic.py +0 -0
  721. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_536_xref_conflict.py +0 -0
  722. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_538_scale_mtext_inline_commands.py +0 -0
  723. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_539_npshapes.py +0 -0
  724. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_540_lff_parser.py +0 -0
  725. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_542_itertools.py +0 -0
  726. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/conftest.py +0 -0
  727. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_600_base.py +0 -0
  728. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_601_bulge.py +0 -0
  729. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_602_vec3.py +0 -0
  730. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_603_vec2.py +0 -0
  731. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_604_banded_matrix.py +0 -0
  732. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_604_linalg.py +0 -0
  733. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_605_matrix44.py +0 -0
  734. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_606_convexhull.py +0 -0
  735. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_607_perlin_noise.py +0 -0
  736. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_608_intersection_line_line_2d.py +0 -0
  737. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_609_point_on_line.py +0 -0
  738. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_610_ocs.py +0 -0
  739. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_611_ucs.py +0 -0
  740. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_612_ucs_pass_trough.py +0 -0
  741. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_614_construct_3d.py +0 -0
  742. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_615_rytz_axis.py +0 -0
  743. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_616_plane.py +0 -0
  744. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_617_clockwise_orientation.py +0 -0
  745. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_618_clipping.py +0 -0
  746. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_619_greiner_hormann.py +0 -0
  747. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_620_knot.py +0 -0
  748. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_621_bspline.py +0 -0
  749. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_622_bsplineu.py +0 -0
  750. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_623_rbspline.py +0 -0
  751. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_624_global_bspline_interpolation.py +0 -0
  752. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_626_local_bspline_interpolation.py +0 -0
  753. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_627_bspline_basis.py +0 -0
  754. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_629_bezier.py +0 -0
  755. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_630a_bezier4p_base.py +0 -0
  756. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_630b_bezier4p_functions.py +0 -0
  757. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_631_euler_spiral.py +0 -0
  758. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_632_bezier3p.py +0 -0
  759. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_640_bbox.py +0 -0
  760. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_641_construction_ray.py +0 -0
  761. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_642_construction_line.py +0 -0
  762. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_643_construction_box.py +0 -0
  763. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_644_construction_circle.py +0 -0
  764. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_645_construction_arc.py +0 -0
  765. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_646_offset_vertices_2d.py +0 -0
  766. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_647_transform_tools.py +0 -0
  767. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_648_construction_ellipse.py +0 -0
  768. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_650_elliptic_arc_span.py +0 -0
  769. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_651_construction_polyline.py +0 -0
  770. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_652_approx_param_t.py +0 -0
  771. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_653_polyline_intersection.py +0 -0
  772. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_654_rtree.py +0 -0
  773. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_655_dbscan.py +0 -0
  774. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_656_k_means.py +0 -0
  775. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_657_mapbox_earcut.py +0 -0
  776. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_658_bevel_tools.py +0 -0
  777. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_659_intersection_line_polygon_3d.py +0 -0
  778. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_660_intersection_ray_polygon_3d.py +0 -0
  779. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_661_is_face_normal_pointing_outwards.py +0 -0
  780. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_662_is_convex_polygon_2d.py +0 -0
  781. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_663_is_axes_aligned_rectange.py +0 -0
  782. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_664_concave_clipping_polygon.py +0 -0
  783. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_665_inverted_clipping_polygon.py +0 -0
  784. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_701_arrows.py +0 -0
  785. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_702_render_forms.py +0 -0
  786. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_703_mesh_builder.py +0 -0
  787. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_704_render_linear_dimension.py +0 -0
  788. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_705_shape.py +0 -0
  789. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_706_random_path.py +0 -0
  790. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_707_trace.py +0 -0
  791. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_708a_path.py +0 -0
  792. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_708c_matplotlib_path_tools.py +0 -0
  793. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_708d_qpainter_path_tools.py +0 -0
  794. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_708e_path_shapes.py +0 -0
  795. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_708f_path_nesting.py +0 -0
  796. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_709_linetype_renderer.py +0 -0
  797. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_711_points.py +0 -0
  798. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_712_render_curved_dimension.py +0 -0
  799. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_713_mleader_builder.py +0 -0
  800. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_714_mleader_render_engine.py +0 -0
  801. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_715_hatching.py +0 -0
  802. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_715_issue_747_explode_3d_dim.py +0 -0
  803. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_800_mtext_surrogate.py +0 -0
  804. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_801_r12spline.py +0 -0
  805. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_802_table_painter.py +0 -0
  806. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_804_importer.py +0 -0
  807. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_805_pycsg.py +0 -0
  808. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_807_dwg_loader_basics.py +0 -0
  809. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_811b_drawing_recorder.py +0 -0
  810. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_811c_viewport_processing.py +0 -0
  811. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_812_drawing_graphic_proxy.py +0 -0
  812. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_813_geo_interface.py +0 -0
  813. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_814_text2path.py +0 -0
  814. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_815_dxf_browser.py +0 -0
  815. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_816_bin_packing.py +0 -0
  816. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_817_genetic_algorithm.py +0 -0
  817. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_818_meshex.py +0 -0
  818. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_819_menger_sponge.py +0 -0
  819. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_820_openscad.py +0 -0
  820. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_821_hpgl2.py +0 -0
  821. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_821_hpgl2_polygon_encoded.py +0 -0
  822. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_823_drawing_layout.py +0 -0
  823. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_824_svg_drawing_backend.py +0 -0
  824. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_825_hpgl2_drawing_backend.py +0 -0
  825. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_09_cython_acceleration/test_901_acc_vec2.py +0 -0
  826. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_09_cython_acceleration/test_902_acc_vec3.py +0 -0
  827. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_09_cython_acceleration/test_903_acc_matrix44.py +0 -0
  828. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_09_cython_acceleration/test_904_acc_bezier4p.py +0 -0
  829. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_09_cython_acceleration/test_905_acc_bezier3p.py +0 -0
  830. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_09_cython_acceleration/test_906_acc_bspline.py +0 -0
  831. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_10_issues/test_issue_414_bbox_calculation.py +0 -0
  832. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_10_issues/test_issue_557_reload_dimension_text_style.py +0 -0
  833. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_10_issues/test_issue_574_flattening_error.py +0 -0
  834. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_10_issues/test_issue_589_incorrect_virtual_face3d.py +0 -0
  835. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_10_issues/test_issue_749_text_layout.py +0 -0
  836. {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_10_issues/test_issue_873_circle_inverted_normal.py +0 -0
@@ -1,6 +1,7 @@
1
1
  include README.md LICENSE
2
2
  include requirements.txt
3
3
  include src/ezdxf/py.typed
4
+ include src/ezdxf/resources/*.png
4
5
  recursive-include src/ezdxf/acc *.hpp *.cpp *.h *.c *.pxd *.pyx
5
6
  recursive-include tests *.py
6
7
  recursive-include tests/data *
@@ -1,14 +1,16 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ezdxf
3
- Version: 1.2.0b3
3
+ Version: 1.3.0
4
4
  Summary: A Python package to create/manipulate DXF drawings.
5
- Home-page: https://ezdxf.mozman.at
6
- Download-URL: https://pypi.org/project/ezdxf/
7
- Author: Manfred Moitzi
8
- Author-email: me@mozman.at
9
- License: MIT License
5
+ Author-email: Manfred Moitzi <me@mozman.at>
6
+ Project-URL: Repository, https://github.com/mozman/ezdxf
7
+ Project-URL: Documentation, https://ezdxf.readthedocs.io
8
+ Project-URL: Changelog, https://ezdxf.mozman.at/notes/#/page/changelog
9
+ Project-URL: Forum, https://github.com/mozman/ezdxf/discussions
10
+ Project-URL: Issues, https://github.com/mozman/ezdxf/issues
11
+ Project-URL: Website, https://ezdxf.mozman.at
12
+ Project-URL: Download, https://pypi.org/project/ezdxf
10
13
  Keywords: DXF,CAD
11
- Platform: OS Independent
12
14
  Classifier: Development Status :: 5 - Production/Stable
13
15
  Classifier: License :: OSI Approved :: MIT License
14
16
  Classifier: Operating System :: OS Independent
@@ -25,11 +27,39 @@ Classifier: Typing :: Typed
25
27
  Provides: ezdxf
26
28
  Requires-Python: >=3.9
27
29
  Description-Content-Type: text/markdown
30
+ License-File: LICENSE
31
+ Requires-Dist: pyparsing>=2.0.1
32
+ Requires-Dist: typing_extensions>=4.6.0
33
+ Requires-Dist: numpy
34
+ Requires-Dist: fonttools
28
35
  Provides-Extra: draw
36
+ Requires-Dist: PySide6; extra == "draw"
37
+ Requires-Dist: matplotlib; extra == "draw"
38
+ Requires-Dist: PyMuPDF>=1.20.0; extra == "draw"
39
+ Requires-Dist: Pillow; extra == "draw"
29
40
  Provides-Extra: draw5
41
+ Requires-Dist: PyQt5; extra == "draw5"
42
+ Requires-Dist: matplotlib; extra == "draw5"
43
+ Requires-Dist: PyMuPDF>=1.20.0; extra == "draw5"
44
+ Requires-Dist: Pillow; extra == "draw5"
30
45
  Provides-Extra: dev
46
+ Requires-Dist: PySide6; extra == "dev"
47
+ Requires-Dist: setuptools; extra == "dev"
48
+ Requires-Dist: wheel; extra == "dev"
49
+ Requires-Dist: Cython; extra == "dev"
50
+ Requires-Dist: pytest; extra == "dev"
51
+ Requires-Dist: Pillow; extra == "dev"
52
+ Requires-Dist: matplotlib; extra == "dev"
53
+ Requires-Dist: PyMuPDF>=1.20.0; extra == "dev"
31
54
  Provides-Extra: dev5
32
- License-File: LICENSE
55
+ Requires-Dist: PyQt5; extra == "dev5"
56
+ Requires-Dist: setuptools; extra == "dev5"
57
+ Requires-Dist: wheel; extra == "dev5"
58
+ Requires-Dist: Cython; extra == "dev5"
59
+ Requires-Dist: pytest; extra == "dev5"
60
+ Requires-Dist: Pillow; extra == "dev5"
61
+ Requires-Dist: matplotlib; extra == "dev5"
62
+ Requires-Dist: PyMuPDF>=1.20.0; extra == "dev5"
33
63
 
34
64
 
35
65
  # ezdxf
@@ -0,0 +1,48 @@
1
+ # Copyright (c) 2024, Manfred Moitzi
2
+ # License: MIT License
3
+ import pytest
4
+ import ezdxf
5
+
6
+ from ezdxf.document import Drawing
7
+ from ezdxf.math import Matrix44
8
+ from ezdxf.render.forms import cube
9
+ from ezdxf.acis.api import body_from_mesh, export_sab
10
+
11
+ FILENAME = "3dsolid.dxf"
12
+
13
+
14
+ @pytest.fixture
15
+ def doc():
16
+ acis_body = body_from_mesh(cube())
17
+ _doc = ezdxf.new()
18
+ msp = _doc.modelspace()
19
+ dxf_3dsolid = msp.add_3dsolid()
20
+ dxf_3dsolid.sab = export_sab([acis_body])
21
+ dxf_3dsolid.transform(Matrix44.translate(10, 11, 12))
22
+ return _doc
23
+
24
+
25
+ def test_apply_transformations_to_acis_entities(doc: Drawing):
26
+ # this is done automatically when exporting the DXF document
27
+ try:
28
+ doc.commit_pending_changes()
29
+ except Exception as e:
30
+ pytest.fail(f"commit_pending_changes() raises unexpected exception: {str(e)}")
31
+
32
+
33
+ def test_export_and_reload_transformed_acis_entities(tmp_path, doc: Drawing):
34
+ file_path = tmp_path / FILENAME
35
+ doc.saveas(file_path)
36
+ del doc
37
+
38
+ doc2 = ezdxf.readfile(file_path)
39
+ # Do not test the current implementation, this may change in the future:
40
+ solids = doc2.query("3DSOLID")
41
+ assert len(solids) == 1
42
+
43
+ dxf_3dsolid = solids[0]
44
+ assert len(dxf_3dsolid.sab) > 16
45
+
46
+
47
+ if __name__ == "__main__":
48
+ pytest.main([__file__])
@@ -0,0 +1,85 @@
1
+ # Copyright (c) 2024, Manfred Moitzi
2
+ # License: MIT License
3
+ import pytest
4
+
5
+ import ezdxf
6
+ import ezdxf.xref
7
+ from ezdxf.document import Drawing
8
+ from ezdxf.entities import Solid3d
9
+ from ezdxf.render import forms
10
+
11
+
12
+ def source_doc_R2007() -> Drawing:
13
+ doc = ezdxf.new("R2007")
14
+ msp = doc.modelspace()
15
+ forms.cube().render_3dsolid(msp)
16
+ return doc
17
+
18
+
19
+ def source_doc_R2013() -> Drawing:
20
+ doc = ezdxf.new("R2013")
21
+ msp = doc.modelspace()
22
+ forms.cube().render_3dsolid(msp)
23
+ return doc
24
+
25
+
26
+ def test_load_acis_from_R2007():
27
+ target_doc = ezdxf.new("R2007")
28
+ source_doc = source_doc_R2007()
29
+ source_msp = source_doc.modelspace()
30
+ source_cube = source_msp[0]
31
+ assert isinstance(source_cube, Solid3d)
32
+
33
+ ezdxf.xref.load_modelspace(source_doc, target_doc)
34
+
35
+ target_msp = target_doc.modelspace()
36
+ loaded_cube = target_msp[0]
37
+ assert isinstance(loaded_cube, Solid3d)
38
+ assert loaded_cube.sat == source_cube.sat
39
+
40
+
41
+ def test_load_acis_from_R2013():
42
+ target_doc = ezdxf.new("R2013")
43
+ source_doc = source_doc_R2013()
44
+ source_msp = source_doc.modelspace()
45
+ source_cube = source_msp[0]
46
+ assert isinstance(source_cube, Solid3d)
47
+
48
+ ezdxf.xref.load_modelspace(source_doc, target_doc)
49
+
50
+ target_msp = target_doc.modelspace()
51
+ loaded_cube = target_msp[0]
52
+ assert isinstance(loaded_cube, Solid3d)
53
+ sab = loaded_cube.sab
54
+ assert len(sab) > 1
55
+ assert sab == source_cube.sab
56
+
57
+
58
+ def test_load_acis_from_2007_into_2013():
59
+ target_doc = ezdxf.new("R2013") # SAB
60
+
61
+ source_doc = source_doc_R2007()
62
+ ezdxf.xref.load_modelspace(source_doc, target_doc)
63
+
64
+ target_msp = target_doc.modelspace()
65
+ loaded_cube = target_msp[0]
66
+ assert isinstance(loaded_cube, Solid3d)
67
+ assert len(loaded_cube.sat) == 0, "SAT data removed"
68
+ assert len(loaded_cube.sab) == 0
69
+
70
+
71
+ def test_load_acis_from_2013_into_2007():
72
+ target_doc = ezdxf.new("R2007") # SAT
73
+
74
+ source_doc = source_doc_R2013()
75
+ ezdxf.xref.load_modelspace(source_doc, target_doc)
76
+
77
+ target_msp = target_doc.modelspace()
78
+ loaded_cube = target_msp[0]
79
+ assert isinstance(loaded_cube, Solid3d)
80
+ assert len(loaded_cube.sat) == 0
81
+ assert len(loaded_cube.sab) == 0, "SAB data removed"
82
+
83
+
84
+ if __name__ == "__main__":
85
+ pytest.main([__file__])
@@ -0,0 +1,91 @@
1
+ # Documentation:
2
+ # https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
3
+ # https://setuptools.pypa.io/en/latest/index.html
4
+
5
+ [build-system]
6
+ requires = ["setuptools", "wheel", "cython"]
7
+ build-backend = "setuptools.build_meta"
8
+
9
+ [tool.setuptools]
10
+ package-dir = {"" = "src"}
11
+ zip-safe = false
12
+ provides = ["ezdxf"]
13
+
14
+ [tool.setuptools.packages.find]
15
+ where = ["src"]
16
+ namespaces = false
17
+
18
+ [project]
19
+ name = "ezdxf"
20
+ dynamic = ["version"]
21
+ description = "A Python package to create/manipulate DXF drawings."
22
+ authors = [
23
+ {name = "Manfred Moitzi", email = "me@mozman.at"},
24
+ ]
25
+
26
+ readme = {file = "README.md", content-type = "text/markdown"}
27
+ requires-python = ">= 3.9"
28
+ dependencies=[
29
+ "pyparsing>=2.0.1",
30
+ "typing_extensions>=4.6.0",
31
+ "numpy",
32
+ "fonttools",
33
+ ]
34
+
35
+ keywords = ["DXF", "CAD"]
36
+ license = {file = "LICENCE"}
37
+
38
+ # full list of classifiers: https://pypi.org/classifiers/
39
+ classifiers=[
40
+ "Development Status :: 5 - Production/Stable",
41
+ "License :: OSI Approved :: MIT License",
42
+ "Operating System :: OS Independent",
43
+ "Programming Language :: Python :: 3",
44
+ "Programming Language :: Python :: 3.9",
45
+ "Programming Language :: Python :: 3.10",
46
+ "Programming Language :: Python :: 3.11",
47
+ "Programming Language :: Python :: 3.12",
48
+ "Programming Language :: Python :: Implementation :: CPython",
49
+ "Programming Language :: Python :: Implementation :: PyPy",
50
+ "Intended Audience :: Developers",
51
+ "Topic :: Software Development :: Libraries :: Python Modules",
52
+ "Typing :: Typed",
53
+ ]
54
+
55
+
56
+ [project.optional-dependencies]
57
+ # use PyQt5 (draw5/dev5) only when PySide6 is not available
58
+ draw = ["PySide6", "matplotlib", "PyMuPDF>=1.20.0", "Pillow"]
59
+ draw5 = ["PyQt5", "matplotlib", "PyMuPDF>=1.20.0", "Pillow"]
60
+ dev = [
61
+ "PySide6",
62
+ "setuptools",
63
+ "wheel",
64
+ "Cython",
65
+ "pytest",
66
+ "Pillow",
67
+ "matplotlib",
68
+ "PyMuPDF>=1.20.0",
69
+ ]
70
+ dev5 = [
71
+ "PyQt5",
72
+ "setuptools",
73
+ "wheel",
74
+ "Cython",
75
+ "pytest",
76
+ "Pillow",
77
+ "matplotlib",
78
+ "PyMuPDF>=1.20.0"
79
+ ]
80
+
81
+ [project.scripts]
82
+ ezdxf = "ezdxf.__main__:main"
83
+
84
+ [project.urls]
85
+ Repository = "https://github.com/mozman/ezdxf"
86
+ Documentation = "https://ezdxf.readthedocs.io"
87
+ Changelog = "https://ezdxf.mozman.at/notes/#/page/changelog"
88
+ Forum = "https://github.com/mozman/ezdxf/discussions"
89
+ Issues = "https://github.com/mozman/ezdxf/issues"
90
+ Website = "https://ezdxf.mozman.at"
91
+ Download = "https://pypi.org/project/ezdxf"
@@ -1,6 +1,3 @@
1
- [bdist_wheel]
2
- universal = 0
3
-
4
1
  [egg_info]
5
2
  tag_build =
6
3
  tag_date = 0
ezdxf-1.3.0/setup.py ADDED
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env python3
2
+ # Copyright (c) 2011-2024 Manfred Moitzi
3
+ # License: MIT License
4
+ import sys
5
+ from setuptools import setup
6
+ from setuptools import Extension
7
+
8
+ # setuptools docs: https://setuptools.pypa.io/en/latest/index.html
9
+ # build source distribution
10
+ #
11
+ # python setup.py sdist --formats=zip,gztar
12
+ #
13
+ # build wheels:
14
+ #
15
+ # python setup.py bdist_wheel
16
+ #
17
+ # All Cython modules are optional:
18
+ ext_modules = [
19
+ Extension("ezdxf.acc.vector", ["src/ezdxf/acc/vector.pyx"], optional=True),
20
+ Extension("ezdxf.acc.matrix44", ["src/ezdxf/acc/matrix44.pyx"], optional=True),
21
+ Extension("ezdxf.acc.bezier4p", ["src/ezdxf/acc/bezier4p.pyx"], optional=True),
22
+ Extension("ezdxf.acc.bezier3p", ["src/ezdxf/acc/bezier3p.pyx"], optional=True),
23
+ Extension("ezdxf.acc.bspline", ["src/ezdxf/acc/bspline.pyx"], optional=True),
24
+ Extension("ezdxf.acc.construct", ["src/ezdxf/acc/construct.pyx"], optional=True),
25
+ Extension(
26
+ "ezdxf.acc.mapbox_earcut", ["src/ezdxf/acc/mapbox_earcut.pyx"], optional=True
27
+ ),
28
+ Extension("ezdxf.acc.linetypes", ["src/ezdxf/acc/linetypes.pyx"], optional=True),
29
+ Extension("ezdxf.acc.np_support", ["src/ezdxf/acc/np_support.pyx"], optional=True),
30
+ ]
31
+ commands = {}
32
+ try:
33
+ from Cython.Distutils import build_ext
34
+
35
+ commands = {"build_ext": build_ext}
36
+ except ImportError:
37
+ ext_modules = []
38
+
39
+
40
+ PYPY = hasattr(sys, "pypy_version_info")
41
+ if PYPY:
42
+ print(
43
+ "C-extensions are disabled for pypy, because JIT compiled Python code "
44
+ "is much faster!"
45
+ )
46
+ ext_modules = []
47
+ commands = {}
48
+
49
+
50
+ def get_version() -> str:
51
+ v = {}
52
+ for line in open("./src/ezdxf/version.py").readlines():
53
+ if line.strip().startswith("__version__"):
54
+ exec(line, v)
55
+ return v["__version__"]
56
+ raise IOError("__version__ string not found")
57
+
58
+
59
+ # static attributes are stored in pyproject.toml
60
+ # https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
61
+ # https://setuptools.pypa.io/en/latest/index.html
62
+ setup(
63
+ version=get_version(),
64
+ cmdclass=commands,
65
+ ext_modules=ext_modules,
66
+ )
@@ -2,7 +2,7 @@
2
2
  # Copyright (c) 2020-2024, Manfred Moitzi
3
3
  # License: MIT License
4
4
  from typing import Iterable, TYPE_CHECKING, Sequence, Optional
5
- from libc.math cimport fabs
5
+ from libc.math cimport fabs, M_PI, M_PI_2, M_PI_4, M_E, sin, tan, pow, atan, log
6
6
  from .vector cimport (
7
7
  isclose,
8
8
  Vec2,
@@ -285,4 +285,75 @@ def is_point_in_polygon_2d(
285
285
  return 1 # inside polygon
286
286
  else:
287
287
  return -1 # outside polygon
288
-
288
+
289
+ cdef double WGS84_SEMI_MAJOR_AXIS = 6378137
290
+ cdef double WGS84_SEMI_MINOR_AXIS = 6356752.3142
291
+ cdef double WGS84_ELLIPSOID_ECCENTRIC = 0.08181919092890624
292
+ cdef double RADIANS = M_PI / 180.0
293
+ cdef double DEGREES = 180.0 / M_PI
294
+
295
+
296
+ def gps_to_world_mercator(double longitude, double latitude) -> tuple[float, float]:
297
+ """Transform GPS (long/lat) to World Mercator.
298
+
299
+ Transform WGS84 `EPSG:4326 <https://epsg.io/4326>`_ location given as
300
+ latitude and longitude in decimal degrees as used by GPS into World Mercator
301
+ cartesian 2D coordinates in meters `EPSG:3395 <https://epsg.io/3395>`_.
302
+
303
+ Args:
304
+ longitude: represents the longitude value (East-West) in decimal degrees
305
+ latitude: represents the latitude value (North-South) in decimal degrees.
306
+
307
+ """
308
+ # From: https://epsg.io/4326
309
+ # EPSG:4326 WGS84 - World Geodetic System 1984, used in GPS
310
+ # To: https://epsg.io/3395
311
+ # EPSG:3395 - World Mercator
312
+ # Source: https://gis.stackexchange.com/questions/259121/transformation-functions-for-epsg3395-projection-vs-epsg3857
313
+ longitude = longitude * RADIANS # east
314
+ latitude = latitude * RADIANS # north
315
+ cdef double e_sin_lat = sin(latitude) * WGS84_ELLIPSOID_ECCENTRIC
316
+ cdef double c = pow(
317
+ (1.0 - e_sin_lat) / (1.0 + e_sin_lat), WGS84_ELLIPSOID_ECCENTRIC / 2.0
318
+ ) # 7-7 p.44
319
+ y = WGS84_SEMI_MAJOR_AXIS * log(tan(M_PI_4 + latitude / 2.0) * c) # 7-7 p.44
320
+ x = WGS84_SEMI_MAJOR_AXIS * longitude
321
+ return x, y
322
+
323
+
324
+ def world_mercator_to_gps(double x, double y, double tol = 1e-6) -> tuple[float, float]:
325
+ """Transform World Mercator to GPS.
326
+
327
+ Transform WGS84 World Mercator `EPSG:3395 <https://epsg.io/3395>`_
328
+ location given as cartesian 2D coordinates x, y in meters into WGS84 decimal
329
+ degrees as longitude and latitude `EPSG:4326 <https://epsg.io/4326>`_ as
330
+ used by GPS.
331
+
332
+ Args:
333
+ x: coordinate WGS84 World Mercator
334
+ y: coordinate WGS84 World Mercator
335
+ tol: accuracy for latitude calculation
336
+
337
+ """
338
+ # From: https://epsg.io/3395
339
+ # EPSG:3395 - World Mercator
340
+ # To: https://epsg.io/4326
341
+ # EPSG:4326 WGS84 - World Geodetic System 1984, used in GPS
342
+ # Source: Map Projections - A Working Manual
343
+ # https://pubs.usgs.gov/pp/1395/report.pdf
344
+ cdef double eccentric_2 = WGS84_ELLIPSOID_ECCENTRIC / 2.0
345
+ cdef double t = pow(M_E, (-y / WGS84_SEMI_MAJOR_AXIS)) # 7-10 p.44
346
+ cdef double e_sin_lat, latitude, latitude_prev
347
+
348
+ latitude_prev = M_PI_2 - 2.0 * atan(t) # 7-11 p.45
349
+ while True:
350
+ e_sin_lat = sin(latitude_prev) * WGS84_ELLIPSOID_ECCENTRIC
351
+ latitude = M_PI_2 - 2.0 * atan(
352
+ t * pow(((1.0 - e_sin_lat) / (1.0 + e_sin_lat)), eccentric_2)
353
+ ) # 7-9 p.44
354
+ if fabs(latitude - latitude_prev) < tol:
355
+ break
356
+ latitude_prev = latitude
357
+
358
+ longitude = x / WGS84_SEMI_MAJOR_AXIS # 7-12 p.45
359
+ return longitude * DEGREES, latitude * DEGREES
@@ -119,9 +119,7 @@ class AcisEntity(NoneEntity):
119
119
  self.restore_common(loader, entity_factory)
120
120
  self.restore_data(loader)
121
121
 
122
- def restore_common(
123
- self, loader: DataLoader, entity_factory: Factory
124
- ) -> None:
122
+ def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
125
123
  """Load the common part of an ACIS entity."""
126
124
  pass
127
125
 
@@ -149,7 +147,7 @@ class AcisEntity(NoneEntity):
149
147
  pass
150
148
 
151
149
  def entities(self) -> Iterator[AcisEntity]:
152
- """Yield all attributes of this entity of type AcisEntity. """
150
+ """Yield all attributes of this entity of type AcisEntity."""
153
151
  for e in vars(self).values():
154
152
  if isinstance(e, AcisEntity):
155
153
  yield e
@@ -210,9 +208,7 @@ class AsmHeader(AcisEntity):
210
208
  def __init__(self, version: str = ""):
211
209
  self.version = version
212
210
 
213
- def restore_common(
214
- self, loader: DataLoader, entity_factory: Factory
215
- ) -> None:
211
+ def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
216
212
  self.version = loader.read_str()
217
213
 
218
214
  def write_common(self, exporter: DataExporter) -> None:
@@ -222,9 +218,7 @@ class AsmHeader(AcisEntity):
222
218
  class SupportsPattern(AcisEntity):
223
219
  pattern: Pattern = NONE_REF
224
220
 
225
- def restore_common(
226
- self, loader: DataLoader, entity_factory: Factory
227
- ) -> None:
221
+ def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
228
222
  if loader.version >= Features.PATTERN:
229
223
  self.pattern = restore_entity("pattern", loader, entity_factory)
230
224
 
@@ -238,11 +232,9 @@ class Body(SupportsPattern):
238
232
  pattern: Pattern = NONE_REF
239
233
  lump: Lump = NONE_REF
240
234
  wire: Wire = NONE_REF
241
- transform: "Transform" = NONE_REF
235
+ transform: Transform = NONE_REF
242
236
 
243
- def restore_common(
244
- self, loader: DataLoader, entity_factory: Factory
245
- ) -> None:
237
+ def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
246
238
  super().restore_common(loader, entity_factory)
247
239
  self.lump = restore_entity("lump", loader, entity_factory)
248
240
  self.wire = restore_entity("wire", loader, entity_factory)
@@ -292,9 +284,7 @@ class Lump(SupportsPattern):
292
284
  shell: Shell = NONE_REF
293
285
  body: Body = NONE_REF
294
286
 
295
- def restore_common(
296
- self, loader: DataLoader, entity_factory: Factory
297
- ) -> None:
287
+ def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
298
288
  super().restore_common(loader, entity_factory)
299
289
  self.next_lump = restore_entity("lump", loader, entity_factory)
300
290
  self.shell = restore_entity("shell", loader, entity_factory)
@@ -336,9 +326,7 @@ class Shell(SupportsPattern):
336
326
  wire: Wire = NONE_REF
337
327
  lump: Lump = NONE_REF
338
328
 
339
- def restore_common(
340
- self, loader: DataLoader, entity_factory: Factory
341
- ) -> None:
329
+ def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
342
330
  super().restore_common(loader, entity_factory)
343
331
  self.next_shell = restore_entity("next_shell", loader, entity_factory)
344
332
  self.subshell = restore_entity("subshell", loader, entity_factory)
@@ -390,14 +378,10 @@ class Face(SupportsPattern):
390
378
  surface: Surface = NONE_REF
391
379
  # sense: face normal with respect to the surface
392
380
  sense = False # True = reversed; False = forward
393
- double_sided = (
394
- False # True = double (hollow body); False = single (solid body)
395
- )
381
+ double_sided = False # True = double (hollow body); False = single (solid body)
396
382
  containment = False # if double_sided: True = in, False = out
397
383
 
398
- def restore_common(
399
- self, loader: DataLoader, entity_factory: Factory
400
- ) -> None:
384
+ def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
401
385
  super().restore_common(loader, entity_factory)
402
386
  self.next_face = restore_entity("face", loader, entity_factory)
403
387
  self.loop = restore_entity("loop", loader, entity_factory)
@@ -479,9 +463,7 @@ class Plane(Surface):
479
463
  # False: "forward_v" - the normal vector follows right-hand rule
480
464
  reverse_v = False
481
465
 
482
- def restore_common(
483
- self, loader: DataLoader, entity_factory: Factory
484
- ) -> None:
466
+ def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
485
467
  super().restore_common(loader, entity_factory)
486
468
  self.origin = Vec3(loader.read_vec3())
487
469
  self.normal = Vec3(loader.read_vec3())
@@ -514,9 +496,7 @@ class Loop(SupportsPattern):
514
496
  coedge: Coedge = NONE_REF
515
497
  face: Face = NONE_REF # parent/owner
516
498
 
517
- def restore_common(
518
- self, loader: DataLoader, entity_factory: Factory
519
- ) -> None:
499
+ def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
520
500
  super().restore_common(loader, entity_factory)
521
501
  self.next_loop = restore_entity("loop", loader, entity_factory)
522
502
  self.coedge = restore_entity("coedge", loader, entity_factory)
@@ -577,9 +557,7 @@ class Coedge(SupportsPattern):
577
557
  unknown: int = 0 # only in SAB file!?
578
558
  pcurve: PCurve = NONE_REF
579
559
 
580
- def restore_common(
581
- self, loader: DataLoader, entity_factory: Factory
582
- ) -> None:
560
+ def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
583
561
  super().restore_common(loader, entity_factory)
584
562
  self.next_coedge = restore_entity("coedge", loader, entity_factory)
585
563
  self.prev_coedge = restore_entity("coedge", loader, entity_factory)
@@ -618,7 +596,7 @@ class Coedge(SupportsPattern):
618
596
  pass
619
597
 
620
598
  def partner_coedges(self) -> list[Coedge]:
621
- """Returns all partner coedges of this coedge without `self`. """
599
+ """Returns all partner coedges of this coedge without `self`."""
622
600
  coedges: list[Coedge] = []
623
601
  partner_coedge = self.partner_coedge
624
602
  if partner_coedge.is_none:
@@ -649,9 +627,7 @@ class Edge(SupportsPattern):
649
627
  sense: bool = False
650
628
  convexity: str = "unknown"
651
629
 
652
- def restore_common(
653
- self, loader: DataLoader, entity_factory: Factory
654
- ) -> None:
630
+ def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
655
631
  super().restore_common(loader, entity_factory)
656
632
  self.start_vertex = restore_entity("vertex", loader, entity_factory)
657
633
  if loader.version >= Features.TOL_MODELING:
@@ -690,9 +666,7 @@ class Vertex(SupportsPattern):
690
666
  ref_count: int = 0 # only in SAB files
691
667
  point: Point = NONE_REF
692
668
 
693
- def restore_common(
694
- self, loader: DataLoader, entity_factory: Factory
695
- ) -> None:
669
+ def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
696
670
  super().restore_common(loader, entity_factory)
697
671
  self.edge = restore_entity("edge", loader, entity_factory)
698
672
  self.ref_count = loader.read_int(skip_sat=0)
@@ -725,7 +725,7 @@ class PlotStyleFileParser:
725
725
  return get_mapping()
726
726
  else: # it's a simple name=value line
727
727
  value: str = line.split("=", 1)[1]
728
- value = value.lstrip('"') # strings look like this: name="value
728
+ value = sanitized_value(value)
729
729
  line_index += 1
730
730
  return value
731
731
 
@@ -745,6 +745,18 @@ class PlotStyleFileParser:
745
745
  return self.data.get(name, default)
746
746
 
747
747
 
748
+ def sanitized_value(value: str) -> str:
749
+ value = value.strip()
750
+ if value.startswith('"'): # strings: <name>="string
751
+ return value[1:]
752
+
753
+ # remove unknown appendix like this: "0.0076200000000 (+7.Z+"8V?S_LC )"
754
+ # the pattern is "<float|int> (<some data>)", see issue #1069
755
+ if value.endswith(")"):
756
+ return value.split(" ")[0]
757
+ return value
758
+
759
+
748
760
  def int2color(color: int) -> tuple[int, int, int, int]:
749
761
  """Convert color integer value from CTB-file to ``(r, g, b, color_type)
750
762
  tuple.
@@ -25,7 +25,7 @@ import ezdxf
25
25
  from ezdxf.lldxf.const import DXFStructureError, DXFValueError
26
26
  from ezdxf.lldxf.types import DXFTag, is_pointer_code
27
27
  from ezdxf.lldxf.tags import Tags
28
- from ezdxf.pp.reflinks import get_reference_link
28
+ from ezdxf.addons.browser.reflinks import get_reference_link
29
29
 
30
30
  from .model import (
31
31
  DXFStructureModel,