ezdxf 1.3.4rc0__zip → 1.3.5b0__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 (838) hide show
  1. {ezdxf-1.3.4rc0/src/ezdxf.egg-info → ezdxf-1.3.5b0}/PKG-INFO +1 -1
  2. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/odafc.py +16 -5
  3. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/openscad.py +12 -14
  4. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/audit.py +26 -1
  5. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/blkrefs.py +33 -2
  6. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/__init__.py +5 -1
  7. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/attrib.py +32 -5
  8. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/dictionary.py +1 -1
  9. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/dimension.py +5 -6
  10. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/insert.py +28 -4
  11. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/layouts/base.py +3 -4
  12. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/layouts/blocklayout.py +1 -1
  13. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/layouts/layouts.py +10 -13
  14. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/const.py +4 -0
  15. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/bulge.py +6 -0
  16. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/rtree.py +2 -1
  17. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/sections/blocks.py +30 -11
  18. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/sections/table.py +2 -1
  19. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/version.py +2 -2
  20. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0/src/ezdxf.egg-info}/PKG-INFO +1 -1
  21. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_208_attrib.py +23 -2
  22. ezdxf-1.3.5b0/tests/test_03_dxf_layouts/test_303_auto_block_references.py +188 -0
  23. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_406_blocks_section.py +12 -4
  24. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_424_audit.py +40 -5
  25. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_524_block_reference_manager.py +28 -10
  26. ezdxf-1.3.4rc0/tests/test_03_dxf_layouts/test_303_auto_block_references.py +0 -97
  27. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/LICENSE +0 -0
  28. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/MANIFEST.in +0 -0
  29. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/README.md +0 -0
  30. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/check_disable_c_ext_by_config_file.py +0 -0
  31. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/check_disable_c_ext_by_env_var.py +0 -0
  32. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/conftest.py +0 -0
  33. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/AC1003_LINE_Example.dxf +0 -0
  34. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/ASCII_R12.dxf +0 -0
  35. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/Leica_Disto_S910.dxf +0 -0
  36. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/MODEL.dxf +0 -0
  37. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/PLOTFILE.plt +0 -0
  38. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/POLI-ALL210_12.DXF +0 -0
  39. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/R12_with_trash_beyond_EOF.dxf +0 -0
  40. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/XRECORD_0.bin +0 -0
  41. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/XRECORD_1.bin +0 -0
  42. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/XRECORD_2.bin +0 -0
  43. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/acad_table_with_blk_ref.dxf +0 -0
  44. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/bin_dxf_r12.dxf +0 -0
  45. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/bin_dxf_r13.dxf +0 -0
  46. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/bin_dxf_r14.dxf +0 -0
  47. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/bin_dxf_r2000.dxf +0 -0
  48. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/cc_dxflib.dxf +0 -0
  49. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/custom_blocks.dxf +0 -0
  50. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/duplicate_handles.dxf +0 -0
  51. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/dxf_unicode.dxf +0 -0
  52. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/dynblks.zip +0 -0
  53. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/empty_handles.dxf +0 -0
  54. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/groups.dxf +0 -0
  55. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/issue1106.dxf +0 -0
  56. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/layout_broken_links.dxf +0 -0
  57. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/layout_broken_links_2.dxf +0 -0
  58. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/layout_missing_block_definition.dxf +0 -0
  59. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/layout_missing_block_record.dxf +0 -0
  60. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/mtext_columns_R2007.dxf +0 -0
  61. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/mtext_columns_R2018.dxf +0 -0
  62. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/mtext_framed_columns.dxf +0 -0
  63. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/mtext_text_frame.dxf +0 -0
  64. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/no_layouts.dxf +0 -0
  65. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/r12_blocks_with_no_names.dxf +0 -0
  66. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/r2000_blocks_with_no_name_and_no_block_record.dxf +0 -0
  67. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/r2000_blocks_with_no_names.dxf +0 -0
  68. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/recover01.dxf +0 -0
  69. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/recover02.dxf +0 -0
  70. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/small_r13.dxf +0 -0
  71. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/data/small_r14.dxf +0 -0
  72. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_acad_table.py +0 -0
  73. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_acis_entites.py +0 -0
  74. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_all_dimline_styles.py +0 -0
  75. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_all_ellipse_transformations.py +0 -0
  76. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_anonymous_blocks.py +0 -0
  77. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_appsettings.py +0 -0
  78. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_audit_critical_dxf_files.py +0 -0
  79. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_audit_layouts.py +0 -0
  80. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_complex_line_type_2.py +0 -0
  81. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_create_basic_graphics.py +0 -0
  82. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_document_guid.py +0 -0
  83. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_document_page_setup.py +0 -0
  84. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_dxf_info_scanning.py +0 -0
  85. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_dynblkhelper.py +0 -0
  86. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_entities_iterator.py +0 -0
  87. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_fix_dulicate_handles.py +0 -0
  88. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_geo.py +0 -0
  89. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_groups.py +0 -0
  90. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_hpgl2_addon.py +0 -0
  91. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_ignore_junk_beyond_EOF.py +0 -0
  92. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_launcher.py +0 -0
  93. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_load_dxf_unicode_notation.py +0 -0
  94. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_mapbox_earcut.py +0 -0
  95. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_missing_block_names.py +0 -0
  96. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_mtext_columns.py +0 -0
  97. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_mtext_explode_addon.py +0 -0
  98. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_mtext_text_frame.py +0 -0
  99. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_new_table_entries.py +0 -0
  100. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_none_ascii_read_write.py +0 -0
  101. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_odafc.py +0 -0
  102. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_open_R13_R14.py +0 -0
  103. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_open_binary_DXF_files.py +0 -0
  104. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_open_coord_order_issue.py +0 -0
  105. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_open_exotic_dxf_files.py +0 -0
  106. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_polyline_entity.py +0 -0
  107. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_preserve_binary_data_in_xrecords.py +0 -0
  108. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_r12_with_subclass_markers.py +0 -0
  109. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_r12export.py +0 -0
  110. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_r12strict.py +0 -0
  111. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_r12writer.py +0 -0
  112. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_read_file_without_handles.py +0 -0
  113. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_read_write_modern_entites.py +0 -0
  114. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_recover.py +0 -0
  115. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_redraw_order.py +0 -0
  116. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_rotated_block_attributes.py +0 -0
  117. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_surface_entities.py +0 -0
  118. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_write_fixed_meta_data.py +0 -0
  119. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_write_without_handles.py +0 -0
  120. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_xref_detach.py +0 -0
  121. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/integration_tests/test_xref_load_acis.py +0 -0
  122. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/pyproject.toml +0 -0
  123. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/requirements.txt +0 -0
  124. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/setup.cfg +0 -0
  125. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/setup.py +0 -0
  126. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/__init__.py +0 -0
  127. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/__main__.py +0 -0
  128. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/_options.py +0 -0
  129. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/__init__.py +0 -0
  130. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/bezier3p.pyx +0 -0
  131. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/bezier4p.pyx +0 -0
  132. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/bspline.pyx +0 -0
  133. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/constants.h +0 -0
  134. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/construct.pyx +0 -0
  135. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/linetypes.pyx +0 -0
  136. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/mapbox_earcut.pyx +0 -0
  137. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/matrix44.pxd +0 -0
  138. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/matrix44.pyx +0 -0
  139. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/np_support.pyx +0 -0
  140. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/vector.pxd +0 -0
  141. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acc/vector.pyx +0 -0
  142. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/__init__.py +0 -0
  143. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/abstract.py +0 -0
  144. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/api.py +0 -0
  145. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/cache.py +0 -0
  146. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/const.py +0 -0
  147. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/dbg.py +0 -0
  148. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/dxf.py +0 -0
  149. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/entities.py +0 -0
  150. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/hdr.py +0 -0
  151. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/mesh.py +0 -0
  152. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/sab.py +0 -0
  153. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/sat.py +0 -0
  154. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/acis/type_hints.py +0 -0
  155. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/__init__.py +0 -0
  156. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/acadctb.py +0 -0
  157. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/acisbrowser/__init__.py +0 -0
  158. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/acisbrowser/browser.py +0 -0
  159. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/acisbrowser/data.py +0 -0
  160. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/binpacking.py +0 -0
  161. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/browser/__init__.py +0 -0
  162. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/browser/bookmarks.py +0 -0
  163. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/browser/browser.py +0 -0
  164. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/browser/data.py +0 -0
  165. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/browser/find_dialog.py +0 -0
  166. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/browser/loader.py +0 -0
  167. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/browser/model.py +0 -0
  168. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/browser/reflinks.py +0 -0
  169. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/browser/tags.py +0 -0
  170. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/browser/views.py +0 -0
  171. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/dimlines.py +0 -0
  172. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/__init__.py +0 -0
  173. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/backend.py +0 -0
  174. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/config.py +0 -0
  175. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/debug_backend.py +0 -0
  176. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/debug_utils.py +0 -0
  177. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/dxf.py +0 -0
  178. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/file_output.py +0 -0
  179. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/frontend.py +0 -0
  180. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/gfxproxy.py +0 -0
  181. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/hpgl2.py +0 -0
  182. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/json.py +0 -0
  183. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/layout.py +0 -0
  184. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/matplotlib.py +0 -0
  185. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/mtext_complex.py +0 -0
  186. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/pipeline.py +0 -0
  187. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/properties.py +0 -0
  188. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/pymupdf.py +0 -0
  189. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/pyqt.py +0 -0
  190. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/qtviewer.py +0 -0
  191. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/recorder.py +0 -0
  192. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/svg.py +0 -0
  193. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/text.py +0 -0
  194. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/text_renderer.py +0 -0
  195. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/type_hints.py +0 -0
  196. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/drawing/unified_text_renderer.py +0 -0
  197. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/dwg/__init__.py +0 -0
  198. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/dwg/classes_section.py +0 -0
  199. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/dwg/const.py +0 -0
  200. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/dwg/crc.py +0 -0
  201. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/dwg/fileheader.py +0 -0
  202. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/dwg/header_section.py +0 -0
  203. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/dwg/loader.py +0 -0
  204. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/dxf2code.py +0 -0
  205. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/genetic_algorithm.py +0 -0
  206. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/geo.py +0 -0
  207. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/gerber_D6673.py +0 -0
  208. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/hpgl2/__init__.py +0 -0
  209. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/hpgl2/api.py +0 -0
  210. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/hpgl2/backend.py +0 -0
  211. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/hpgl2/deps.py +0 -0
  212. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/hpgl2/interpreter.py +0 -0
  213. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/hpgl2/page.py +0 -0
  214. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/hpgl2/plotter.py +0 -0
  215. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/hpgl2/polygon_buffer.py +0 -0
  216. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/hpgl2/properties.py +0 -0
  217. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/hpgl2/tokenizer.py +0 -0
  218. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/hpgl2/viewer.py +0 -0
  219. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/importer.py +0 -0
  220. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/iterdxf.py +0 -0
  221. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/menger_sponge.py +0 -0
  222. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/meshex.py +0 -0
  223. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/mixins.py +0 -0
  224. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/mtextsurrogate.py +0 -0
  225. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/mtxpl.py +0 -0
  226. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/pycsg.py +0 -0
  227. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/r12export.py +0 -0
  228. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/r12writer.py +0 -0
  229. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/sierpinski_pyramid.py +0 -0
  230. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/tablepainter.py +0 -0
  231. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/text2path.py +0 -0
  232. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/xplayer.py +0 -0
  233. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/addons/xqt.py +0 -0
  234. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/appsettings.py +0 -0
  235. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/bbox.py +0 -0
  236. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/colors.py +0 -0
  237. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/commands.py +0 -0
  238. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/comments.py +0 -0
  239. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/disassemble.py +0 -0
  240. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/document.py +0 -0
  241. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/dwginfo.py +0 -0
  242. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/dynblkhelper.py +0 -0
  243. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/edgeminer.py +0 -0
  244. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/edgesmith.py +0 -0
  245. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/acad_proxy_entity.py +0 -0
  246. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/acad_table.py +0 -0
  247. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/acad_xrec_roundtrip.py +0 -0
  248. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/acis.py +0 -0
  249. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/appdata.py +0 -0
  250. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/appid.py +0 -0
  251. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/arc.py +0 -0
  252. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/block.py +0 -0
  253. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/blockrecord.py +0 -0
  254. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/boundary_paths.py +0 -0
  255. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/circle.py +0 -0
  256. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/copy.py +0 -0
  257. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/dimstyle.py +0 -0
  258. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/dimstyleoverride.py +0 -0
  259. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/dxfclass.py +0 -0
  260. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/dxfentity.py +0 -0
  261. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/dxfgfx.py +0 -0
  262. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/dxfgroups.py +0 -0
  263. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/dxfns.py +0 -0
  264. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/dxfobj.py +0 -0
  265. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/ellipse.py +0 -0
  266. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/factory.py +0 -0
  267. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/geodata.py +0 -0
  268. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/gradient.py +0 -0
  269. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/hatch.py +0 -0
  270. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/helix.py +0 -0
  271. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/idbuffer.py +0 -0
  272. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/image.py +0 -0
  273. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/layer.py +0 -0
  274. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/layout.py +0 -0
  275. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/leader.py +0 -0
  276. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/light.py +0 -0
  277. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/line.py +0 -0
  278. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/ltype.py +0 -0
  279. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/lwpolyline.py +0 -0
  280. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/material.py +0 -0
  281. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/mesh.py +0 -0
  282. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/mleader.py +0 -0
  283. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/mline.py +0 -0
  284. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/mpolygon.py +0 -0
  285. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/mtext.py +0 -0
  286. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/mtext_columns.py +0 -0
  287. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/objectcollection.py +0 -0
  288. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/oleframe.py +0 -0
  289. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/pattern.py +0 -0
  290. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/point.py +0 -0
  291. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/polygon.py +0 -0
  292. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/polyline.py +0 -0
  293. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/shape.py +0 -0
  294. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/solid.py +0 -0
  295. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/spatial_filter.py +0 -0
  296. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/spline.py +0 -0
  297. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/subentity.py +0 -0
  298. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/sun.py +0 -0
  299. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/table.py +0 -0
  300. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/temporary_transform.py +0 -0
  301. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/text.py +0 -0
  302. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/textstyle.py +0 -0
  303. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/tolerance.py +0 -0
  304. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/ucs.py +0 -0
  305. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/underlay.py +0 -0
  306. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/view.py +0 -0
  307. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/viewport.py +0 -0
  308. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/visualstyle.py +0 -0
  309. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/vport.py +0 -0
  310. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/xdata.py +0 -0
  311. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/xdict.py +0 -0
  312. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entities/xline.py +0 -0
  313. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/entitydb.py +0 -0
  314. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/enums.py +0 -0
  315. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/explode.py +0 -0
  316. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/eztypes.py +0 -0
  317. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/filemanagement.py +0 -0
  318. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/fonts/__init__.py +0 -0
  319. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/fonts/font_face.py +0 -0
  320. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/fonts/font_manager.py +0 -0
  321. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/fonts/font_measurements.py +0 -0
  322. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/fonts/font_synonyms.py +0 -0
  323. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/fonts/fonts.py +0 -0
  324. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/fonts/glyphs.py +0 -0
  325. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/fonts/lff.py +0 -0
  326. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/fonts/shapefile.py +0 -0
  327. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/fonts/ttfonts.py +0 -0
  328. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/gfxattribs.py +0 -0
  329. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/graphicsfactory.py +0 -0
  330. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/groupby.py +0 -0
  331. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/layouts/__init__.py +0 -0
  332. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/layouts/layout.py +0 -0
  333. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/__init__.py +0 -0
  334. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/attributes.py +0 -0
  335. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/encoding.py +0 -0
  336. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/extendedtags.py +0 -0
  337. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/fileindex.py +0 -0
  338. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/hdrvars.py +0 -0
  339. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/loader.py +0 -0
  340. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/packedtags.py +0 -0
  341. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/repair.py +0 -0
  342. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/tagger.py +0 -0
  343. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/tags.py +0 -0
  344. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/tagwriter.py +0 -0
  345. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/types.py +0 -0
  346. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/lldxf/validator.py +0 -0
  347. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/__init__.py +0 -0
  348. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/_bezier3p.py +0 -0
  349. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/_bezier4p.py +0 -0
  350. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/_bspline.py +0 -0
  351. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/_construct.py +0 -0
  352. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/_ctypes.py +0 -0
  353. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/_mapbox_earcut.py +0 -0
  354. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/_matrix44.py +0 -0
  355. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/_vector.py +0 -0
  356. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/arc.py +0 -0
  357. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/bbox.py +0 -0
  358. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/bezier.py +0 -0
  359. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/bezier_interpolation.py +0 -0
  360. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/box.py +0 -0
  361. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/bspline.py +0 -0
  362. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/circle.py +0 -0
  363. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/clipping.py +0 -0
  364. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/clustering.py +0 -0
  365. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/construct2d.py +0 -0
  366. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/construct3d.py +0 -0
  367. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/cspline.py +0 -0
  368. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/curvetools.py +0 -0
  369. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/ellipse.py +0 -0
  370. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/eulerspiral.py +0 -0
  371. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/legacy.py +0 -0
  372. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/linalg.py +0 -0
  373. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/line.py +0 -0
  374. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/offset2d.py +0 -0
  375. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/parametrize.py +0 -0
  376. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/perlin.py +0 -0
  377. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/polyline.py +0 -0
  378. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/shape.py +0 -0
  379. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/transformtools.py +0 -0
  380. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/triangulation.py +0 -0
  381. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/math/ucs.py +0 -0
  382. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/messenger.py +0 -0
  383. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/msgtypes.py +0 -0
  384. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/npshapes.py +0 -0
  385. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/path/__init__.py +0 -0
  386. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/path/commands.py +0 -0
  387. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/path/converter.py +0 -0
  388. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/path/nesting.py +0 -0
  389. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/path/path.py +0 -0
  390. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/path/shapes.py +0 -0
  391. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/path/tools.py +0 -0
  392. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/protocols.py +0 -0
  393. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/proxygraphic.py +0 -0
  394. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/py.typed +0 -0
  395. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/query.py +0 -0
  396. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/queryparser.py +0 -0
  397. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/r12strict.py +0 -0
  398. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/recover.py +0 -0
  399. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/__init__.py +0 -0
  400. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/_linetypes.py +0 -0
  401. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/abstract_mtext_renderer.py +0 -0
  402. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/arrows.py +0 -0
  403. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/curves.py +0 -0
  404. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/dim_base.py +0 -0
  405. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/dim_curved.py +0 -0
  406. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/dim_diameter.py +0 -0
  407. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/dim_linear.py +0 -0
  408. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/dim_ordinate.py +0 -0
  409. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/dim_radius.py +0 -0
  410. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/dimension.py +0 -0
  411. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/forms.py +0 -0
  412. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/hatching.py +0 -0
  413. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/leader.py +0 -0
  414. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/linetypes.py +0 -0
  415. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/mesh.py +0 -0
  416. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/mleader.py +0 -0
  417. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/mline.py +0 -0
  418. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/point.py +0 -0
  419. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/polyline.py +0 -0
  420. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/r12spline.py +0 -0
  421. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/render/trace.py +0 -0
  422. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/reorder.py +0 -0
  423. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/16x16.png +0 -0
  424. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/24x24.png +0 -0
  425. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/256x256.png +0 -0
  426. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/32x32.png +0 -0
  427. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/48x48.png +0 -0
  428. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/64x64.png +0 -0
  429. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/icon-copy-64px.png +0 -0
  430. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/icon-find-64px.png +0 -0
  431. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/icon-goto-bookmark-64px.png +0 -0
  432. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/icon-goto-handle-64px.png +0 -0
  433. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/icon-goto-line-64px.png +0 -0
  434. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/icon-left-arrow-64px.png +0 -0
  435. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/icon-next-entity-64px.png +0 -0
  436. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/icon-prev-entity-64px.png +0 -0
  437. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/icon-right-arrow-64px.png +0 -0
  438. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/icon-show-in-tree-64px.png +0 -0
  439. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/resources/icon-store-bookmark-64px.png +0 -0
  440. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/revcloud.py +0 -0
  441. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/sections/__init__.py +0 -0
  442. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/sections/acdsdata.py +0 -0
  443. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/sections/classes.py +0 -0
  444. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/sections/entities.py +0 -0
  445. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/sections/header.py +0 -0
  446. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/sections/headervars.py +0 -0
  447. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/sections/objects.py +0 -0
  448. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/sections/tables.py +0 -0
  449. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/select.py +0 -0
  450. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/__init__.py +0 -0
  451. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/_iso_pattern.py +0 -0
  452. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/analyze.py +0 -0
  453. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/binarydata.py +0 -0
  454. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/clipping_portal.py +0 -0
  455. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/codepage.py +0 -0
  456. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/complex_ltype.py +0 -0
  457. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/crypt.py +0 -0
  458. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/debug.py +0 -0
  459. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/difftags.py +0 -0
  460. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/handle.py +0 -0
  461. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/indexing.py +0 -0
  462. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/juliandate.py +0 -0
  463. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/pattern.py +0 -0
  464. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/rawloader.py +0 -0
  465. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/standards.py +0 -0
  466. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/strip.py +0 -0
  467. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/test.py +0 -0
  468. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/text.py +0 -0
  469. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/text_layout.py +0 -0
  470. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/text_size.py +0 -0
  471. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/tools/zipmanager.py +0 -0
  472. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/transform.py +0 -0
  473. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/units.py +0 -0
  474. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/upright.py +0 -0
  475. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/urecord.py +0 -0
  476. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/xclip.py +0 -0
  477. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/xref.py +0 -0
  478. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf/zoom.py +0 -0
  479. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf.egg-info/SOURCES.txt +0 -0
  480. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf.egg-info/dependency_links.txt +0 -0
  481. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf.egg-info/entry_points.txt +0 -0
  482. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf.egg-info/not-zip-safe +0 -0
  483. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf.egg-info/requires.txt +0 -0
  484. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/src/ezdxf.egg-info/top_level.txt +0 -0
  485. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/conftest.py +0 -0
  486. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_001_dxf_types.py +0 -0
  487. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py +0 -0
  488. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py +0 -0
  489. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_004_dxf_value.py +0 -0
  490. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_005_packed_tags.py +0 -0
  491. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_010_binary_data.py +0 -0
  492. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_011_codepage.py +0 -0
  493. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_012_crypt.py +0 -0
  494. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_013_juliandate.py +0 -0
  495. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_014_multi_tags_text.py +0 -0
  496. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py +0 -0
  497. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_016_encoding.py +0 -0
  498. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_018_handle.py +0 -0
  499. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py +0 -0
  500. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py +0 -0
  501. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py +0 -0
  502. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_022_set_flag_state.py +0 -0
  503. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_023_fix_invalid_located_group_codes.py +0 -0
  504. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_024_render_tag.py +0 -0
  505. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_040_tags.py +0 -0
  506. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_041_group_tags.py +0 -0
  507. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_042_tags_loader.py +0 -0
  508. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py +0 -0
  509. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_050_extended_tags.py +0 -0
  510. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py +0 -0
  511. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_052_tag_writer.py +0 -0
  512. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py +0 -0
  513. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_054_dxfattr.py +0 -0
  514. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_055_recover_loader.py +0 -0
  515. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py +0 -0
  516. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_057_group_code_mapping.py +0 -0
  517. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_00_dxf_low_level_structs/test_058_json_tags.py +0 -0
  518. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_101_dxfnamespace.py +0 -0
  519. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_102_appdata.py +0 -0
  520. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_103_reactors.py +0 -0
  521. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_104_extension_dict.py +0 -0
  522. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_105_xdata.py +0 -0
  523. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_110_dxfentity.py +0 -0
  524. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py +0 -0
  525. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_112a_dxfgfx.py +0 -0
  526. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_112b_dxfobj.py +0 -0
  527. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_113_dxfclass.py +0 -0
  528. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_114_factory.py +0 -0
  529. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_115_new_empty_drawing.py +0 -0
  530. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_116_dictionary.py +0 -0
  531. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_117_layer_table_entry.py +0 -0
  532. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_118_appid_table_entry.py +0 -0
  533. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_119_ucs_table_entry.py +0 -0
  534. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_120_style_table_entry.py +0 -0
  535. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_121_ltype_table_entry.py +0 -0
  536. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_122_vport_table_entry.py +0 -0
  537. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_123_view_table_entry.py +0 -0
  538. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py +0 -0
  539. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_125_image_def.py +0 -0
  540. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_126_image_def_reactor.py +0 -0
  541. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_127_raster_variables.py +0 -0
  542. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_128_pdf_definition.py +0 -0
  543. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_129_xrecord.py +0 -0
  544. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_130_id_buffer.py +0 -0
  545. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_131_field_list.py +0 -0
  546. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_132_layer_filter.py +0 -0
  547. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_133_sun.py +0 -0
  548. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_134_material.py +0 -0
  549. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_135_geo_data.py +0 -0
  550. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_136_vba_project.py +0 -0
  551. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_137_sortentstable.py +0 -0
  552. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_138_setup_visual_styles.py +0 -0
  553. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_139_user_record.py +0 -0
  554. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_140_block_record.py +0 -0
  555. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_141_layer_vp_override.py +0 -0
  556. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_142_copy_strategy.py +0 -0
  557. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_143_spatial_filter.py +0 -0
  558. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py +0 -0
  559. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/conftest.py +0 -0
  560. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_200_line.py +0 -0
  561. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_201_point.py +0 -0
  562. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_202_circle.py +0 -0
  563. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_203_arc.py +0 -0
  564. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_204_shape.py +0 -0
  565. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_205_solid.py +0 -0
  566. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_206_text.py +0 -0
  567. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_207_attdef.py +0 -0
  568. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_209_vertex.py +0 -0
  569. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_210_polyline_1.py +0 -0
  570. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_210_polyline_2.py +0 -0
  571. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_210_polyline_explode.py +0 -0
  572. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py +0 -0
  573. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_211_viewport.py +0 -0
  574. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_212_insert.py +0 -0
  575. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_213_minsert.py +0 -0
  576. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_214_block.py +0 -0
  577. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_215_dimension.py +0 -0
  578. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_216_dimlines_R12.py +0 -0
  579. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_217_dimlines_R2000.py +0 -0
  580. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py +0 -0
  581. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py +0 -0
  582. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_220_lwpolyline_1.py +0 -0
  583. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_220_lwpolyline_2.py +0 -0
  584. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_220_lwpolyline_3.py +0 -0
  585. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py +0 -0
  586. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_221_ellipse.py +0 -0
  587. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_222_xline.py +0 -0
  588. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_223_ray.py +0 -0
  589. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_224_group.py +0 -0
  590. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_225_mtext.py +0 -0
  591. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_226_spline.py +0 -0
  592. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_226_spline_with_linear_segments.py +0 -0
  593. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_227_mesh_packed_data.py +0 -0
  594. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_228_mesh.py +0 -0
  595. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py +0 -0
  596. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_229b_hatch_extended.py +0 -0
  597. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_229c_hatch_transformations.py +0 -0
  598. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py +0 -0
  599. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py +0 -0
  600. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_231_underlay.py +0 -0
  601. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_231_underlay_2.py +0 -0
  602. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_232a_add_acis.py +0 -0
  603. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_232b_acis_export.py +0 -0
  604. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_232c_acis_surface.py +0 -0
  605. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_232d_acis_copy.py +0 -0
  606. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_232e_acis_transform.py +0 -0
  607. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_233_helix.py +0 -0
  608. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_234_light.py +0 -0
  609. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_235_leader.py +0 -0
  610. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_236_multileader.py +0 -0
  611. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_237_mline.py +0 -0
  612. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_238_tolerance.py +0 -0
  613. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_239_proxy_graphic.py +0 -0
  614. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_240_arc_dimension.py +0 -0
  615. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_241_hyperlink.py +0 -0
  616. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_242_random_transform.py +0 -0
  617. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_243_replace_entity.py +0 -0
  618. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_244_large_radial_dimension.py +0 -0
  619. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_245_wipeout.py +0 -0
  620. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_246_spline_audit.py +0 -0
  621. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py +0 -0
  622. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_248_mpolygon.py +0 -0
  623. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py +0 -0
  624. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_249_boundary_paths.py +0 -0
  625. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py +0 -0
  626. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_251_upright.py +0 -0
  627. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py +0 -0
  628. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_253_ole2frame.py +0 -0
  629. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_02_dxf_graphics/test_254_get_font_name.py +0 -0
  630. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_03_dxf_layouts/test_300_layout.py +0 -0
  631. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py +0 -0
  632. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_03_dxf_layouts/test_302_block_references.py +0 -0
  633. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_03_dxf_layouts/test_304_new_entity_space.py +0 -0
  634. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py +0 -0
  635. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_03_dxf_layouts/test_306_copy_linked_entities.py +0 -0
  636. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_03_dxf_layouts/test_307_groupby.py +0 -0
  637. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_03_dxf_layouts/test_308_query.py +0 -0
  638. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_03_dxf_layouts/test_309_query_parser.py +0 -0
  639. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_03_dxf_layouts/test_311_add_foreign_entity.py +0 -0
  640. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_03_dxf_layouts/test_312_virtual_layout.py +0 -0
  641. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_03_dxf_layouts/test_313_redraw_order.py +0 -0
  642. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_401_headersection.py +0 -0
  643. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_402_classessection.py +0 -0
  644. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_403_entity_database.py +0 -0
  645. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_404a_tables.py +0 -0
  646. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_404b_object_collections.py +0 -0
  647. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_405_classes.py +0 -0
  648. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_407_entity_section.py +0 -0
  649. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_408_objects_section.py +0 -0
  650. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_409_create_objects.py +0 -0
  651. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_410_table.py +0 -0
  652. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_411_acds_data.py +0 -0
  653. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_412_rename_layer.py +0 -0
  654. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py +0 -0
  655. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py +0 -0
  656. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_415_layout_management.py +0 -0
  657. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_416a_disassemble.py +0 -0
  658. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py +0 -0
  659. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_417_bbox.py +0 -0
  660. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_418_copy_entities.py +0 -0
  661. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_420_load_dxf_file.py +0 -0
  662. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_421_new_drawings.py +0 -0
  663. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_422_drawing_object.py +0 -0
  664. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_423_read_proe_r2004.py +0 -0
  665. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py +0 -0
  666. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py +0 -0
  667. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_427_appsettings.py +0 -0
  668. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py +0 -0
  669. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_04_dxf_high_level_structs/test_429_xclip.py +0 -0
  670. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/conftest.py +0 -0
  671. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_500_units.py +0 -0
  672. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_501_truecolor.py +0 -0
  673. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_502_raw_color.py +0 -0
  674. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_503_indexing.py +0 -0
  675. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_504_suppress_zeros.py +0 -0
  676. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_506_version.py +0 -0
  677. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_508_read_zip.py +0 -0
  678. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_509_comments.py +0 -0
  679. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_510_byte_stream.py +0 -0
  680. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_511_bit_stream.py +0 -0
  681. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_512_pattern.py +0 -0
  682. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_513_reorder_entities.py +0 -0
  683. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_514_text.py +0 -0
  684. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_515a_fonts_truetype.py +0 -0
  685. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_515b_fonts_shapefiles.py +0 -0
  686. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_515c_fonts_lff.py +0 -0
  687. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_516_zoom.py +0 -0
  688. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_517_text_layout.py +0 -0
  689. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_518_header_guid.py +0 -0
  690. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_519_mtext_editor.py +0 -0
  691. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_520_mtext_context.py +0 -0
  692. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_521_mtext_parser.py +0 -0
  693. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_522_text_scanner.py +0 -0
  694. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_523_text_size.py +0 -0
  695. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_525_transparency.py +0 -0
  696. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_526_explode.py +0 -0
  697. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_527_gfxattribs.py +0 -0
  698. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_528_difftags.py +0 -0
  699. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_529_acis_sat.py +0 -0
  700. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_530_acis_sab.py +0 -0
  701. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_531_acis_entities.py +0 -0
  702. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_532_acis_mesh.py +0 -0
  703. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_533_shapefiles.py +0 -0
  704. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_534_dwg_info.py +0 -0
  705. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_535_xref_basic.py +0 -0
  706. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_536_xref_conflict.py +0 -0
  707. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_537_transform.py +0 -0
  708. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_538_scale_mtext_inline_commands.py +0 -0
  709. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_539_npshapes.py +0 -0
  710. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_540_lff_parser.py +0 -0
  711. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_541_clipping_portal.py +0 -0
  712. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_542_itertools.py +0 -0
  713. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_543_select.py +0 -0
  714. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_544_revcloud.py +0 -0
  715. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_545_acis_cache.py +0 -0
  716. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_546_edgeminer.py +0 -0
  717. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_05_tools/test_547_edgesmith.py +0 -0
  718. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/conftest.py +0 -0
  719. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_600_base.py +0 -0
  720. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_601_bulge.py +0 -0
  721. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_602_vec3.py +0 -0
  722. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_603_vec2.py +0 -0
  723. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_604_banded_matrix.py +0 -0
  724. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_604_linalg.py +0 -0
  725. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_605_matrix44.py +0 -0
  726. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_606_convexhull.py +0 -0
  727. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_607_perlin_noise.py +0 -0
  728. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_608_intersection_line_line_2d.py +0 -0
  729. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_609_point_on_line.py +0 -0
  730. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_610_ocs.py +0 -0
  731. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_611_ucs.py +0 -0
  732. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_612_ucs_pass_trough.py +0 -0
  733. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_613_is_point_in_polygon_2d.py +0 -0
  734. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_614_construct_3d.py +0 -0
  735. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_615_rytz_axis.py +0 -0
  736. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_616_plane.py +0 -0
  737. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_617_clockwise_orientation.py +0 -0
  738. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_618_clipping.py +0 -0
  739. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_619_greiner_hormann.py +0 -0
  740. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_620_knot.py +0 -0
  741. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_621_bspline.py +0 -0
  742. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_622_bsplineu.py +0 -0
  743. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_623_rbspline.py +0 -0
  744. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_624_global_bspline_interpolation.py +0 -0
  745. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_626_local_bspline_interpolation.py +0 -0
  746. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_627_bspline_basis.py +0 -0
  747. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_629_bezier.py +0 -0
  748. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_630a_bezier4p_base.py +0 -0
  749. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_630b_bezier4p_functions.py +0 -0
  750. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_631_euler_spiral.py +0 -0
  751. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_632_bezier3p.py +0 -0
  752. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_640_bbox.py +0 -0
  753. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_641_construction_ray.py +0 -0
  754. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_642_construction_line.py +0 -0
  755. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_643_construction_box.py +0 -0
  756. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_644_construction_circle.py +0 -0
  757. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_645_construction_arc.py +0 -0
  758. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_646_offset_vertices_2d.py +0 -0
  759. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_647_transform_tools.py +0 -0
  760. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_648_construction_ellipse.py +0 -0
  761. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_650_elliptic_arc_span.py +0 -0
  762. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_651_construction_polyline.py +0 -0
  763. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_652_approx_param_t.py +0 -0
  764. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_653_polyline_intersection.py +0 -0
  765. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_654_rtree.py +0 -0
  766. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_655_dbscan.py +0 -0
  767. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_656_k_means.py +0 -0
  768. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_657_mapbox_earcut.py +0 -0
  769. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_658_bevel_tools.py +0 -0
  770. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_659_intersection_line_polygon_3d.py +0 -0
  771. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_660_intersection_ray_polygon_3d.py +0 -0
  772. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_661_is_face_normal_pointing_outwards.py +0 -0
  773. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_662_is_convex_polygon_2d.py +0 -0
  774. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_663_is_axes_aligned_rectange.py +0 -0
  775. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_664_concave_clipping_polygon.py +0 -0
  776. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_665_inverted_clipping_polygon.py +0 -0
  777. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_06_math/test_666_wgs84_transform.py +0 -0
  778. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_701_arrows.py +0 -0
  779. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_702_render_forms.py +0 -0
  780. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_703_mesh_builder.py +0 -0
  781. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_704_render_linear_dimension.py +0 -0
  782. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_705_shape.py +0 -0
  783. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_706_random_path.py +0 -0
  784. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_707_trace.py +0 -0
  785. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_708a_path.py +0 -0
  786. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_708b_path_tools.py +0 -0
  787. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_708c_matplotlib_path_tools.py +0 -0
  788. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_708d_qpainter_path_tools.py +0 -0
  789. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_708e_path_shapes.py +0 -0
  790. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_708f_path_nesting.py +0 -0
  791. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_709_linetype_renderer.py +0 -0
  792. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_711_points.py +0 -0
  793. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_712_render_curved_dimension.py +0 -0
  794. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_713_mleader_builder.py +0 -0
  795. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_714_mleader_render_engine.py +0 -0
  796. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_715_hatching.py +0 -0
  797. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_07_render/test_715_issue_747_explode_3d_dim.py +0 -0
  798. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_800_mtext_surrogate.py +0 -0
  799. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_801_r12spline.py +0 -0
  800. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_802_table_painter.py +0 -0
  801. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_803_entities_to_code.py +0 -0
  802. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_804_importer.py +0 -0
  803. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_805_pycsg.py +0 -0
  804. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_806_acadctb.py +0 -0
  805. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_807_dwg_loader_basics.py +0 -0
  806. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_810_drawing_properties.py +0 -0
  807. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_811a_drawing_frontend.py +0 -0
  808. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_811b_drawing_recorder.py +0 -0
  809. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_811c_viewport_processing.py +0 -0
  810. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_812_drawing_graphic_proxy.py +0 -0
  811. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_813_geo_interface.py +0 -0
  812. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_814_text2path.py +0 -0
  813. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_815_dxf_browser.py +0 -0
  814. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_816_bin_packing.py +0 -0
  815. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_817_genetic_algorithm.py +0 -0
  816. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_818_meshex.py +0 -0
  817. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_819_menger_sponge.py +0 -0
  818. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_820_openscad.py +0 -0
  819. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_821_hpgl2.py +0 -0
  820. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_821_hpgl2_polygon_encoded.py +0 -0
  821. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_823_drawing_layout.py +0 -0
  822. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_824_svg_drawing_backend.py +0 -0
  823. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_825_hpgl2_drawing_backend.py +0 -0
  824. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_826_custom_json_backend.py +0 -0
  825. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_08_addons/test_827_geojson_backend.py +0 -0
  826. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_09_cython_acceleration/test_901_acc_vec2.py +0 -0
  827. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_09_cython_acceleration/test_902_acc_vec3.py +0 -0
  828. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_09_cython_acceleration/test_903_acc_matrix44.py +0 -0
  829. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_09_cython_acceleration/test_904_acc_bezier4p.py +0 -0
  830. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_09_cython_acceleration/test_905_acc_bezier3p.py +0 -0
  831. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_09_cython_acceleration/test_906_acc_bspline.py +0 -0
  832. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_10_issues/test_issue_1078_bbox_calculation.py +0 -0
  833. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_10_issues/test_issue_414_bbox_calculation.py +0 -0
  834. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_10_issues/test_issue_557_reload_dimension_text_style.py +0 -0
  835. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_10_issues/test_issue_574_flattening_error.py +0 -0
  836. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_10_issues/test_issue_589_incorrect_virtual_face3d.py +0 -0
  837. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_10_issues/test_issue_749_text_layout.py +0 -0
  838. {ezdxf-1.3.4rc0 → ezdxf-1.3.5b0}/tests/test_10_issues/test_issue_873_circle_inverted_normal.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ezdxf
3
- Version: 1.3.4rc0
3
+ Version: 1.3.5b0
4
4
  Summary: A Python package to create/manipulate DXF drawings.
5
5
  Author-email: Manfred Moitzi <me@mozman.at>
6
6
  Project-URL: Repository, https://github.com/mozman/ezdxf
@@ -23,8 +23,6 @@ from ezdxf.lldxf.validator import (
23
23
  )
24
24
 
25
25
  logger = logging.getLogger("ezdxf")
26
- win_exec_path = ezdxf.options.get("odafc-addon", "win_exec_path").strip('"')
27
- unix_exec_path = ezdxf.options.get("odafc-addon", "unix_exec_path").strip('"')
28
26
 
29
27
 
30
28
  class ODAFCError(IOError):
@@ -93,14 +91,23 @@ LINUX = "Linux"
93
91
  DARWIN = "Darwin"
94
92
 
95
93
 
94
+ def get_win_exec_path() -> str:
95
+ return ezdxf.options.get("odafc-addon", "win_exec_path").strip('"')
96
+
97
+
98
+ def get_unix_exec_path() -> str:
99
+ return ezdxf.options.get("odafc-addon", "unix_exec_path").strip('"')
100
+
101
+
96
102
  def is_installed() -> bool:
97
103
  """Returns ``True`` if the ODAFileConverter is installed."""
98
104
  if platform.system() in (LINUX, DARWIN):
105
+ unix_exec_path = get_unix_exec_path()
99
106
  if unix_exec_path and Path(unix_exec_path).is_file():
100
107
  return True
101
108
  return shutil.which("ODAFileConverter") is not None
102
109
  # Windows:
103
- return os.path.exists(win_exec_path)
110
+ return os.path.exists(get_win_exec_path())
104
111
 
105
112
 
106
113
  def map_version(version: str) -> str:
@@ -371,6 +378,8 @@ def _get_odafc_path(system: str) -> str:
371
378
  # return this path as exec path.
372
379
  # This may help if the "which" command can not find the "ODAFileConverter"
373
380
  # command and also adds support for AppImages provided by ODA.
381
+ unix_exec_path = get_unix_exec_path()
382
+
374
383
  if system != WINDOWS and unix_exec_path:
375
384
  if Path(unix_exec_path).is_file():
376
385
  return unix_exec_path
@@ -381,7 +390,7 @@ def _get_odafc_path(system: str) -> str:
381
390
 
382
391
  path = shutil.which("ODAFileConverter")
383
392
  if not path and system == WINDOWS:
384
- path = win_exec_path
393
+ path = get_win_exec_path()
385
394
  if not Path(path).is_file():
386
395
  path = None
387
396
 
@@ -434,7 +443,9 @@ def _run_with_no_gui(
434
443
  with _linux_dummy_display() as display:
435
444
  env = os.environ.copy()
436
445
  env["DISPLAY"] = display
437
- proc = subprocess.run([command] + arguments, text=True, capture_output=True, env=env)
446
+ proc = subprocess.run(
447
+ [command] + arguments, text=True, capture_output=True, env=env
448
+ )
438
449
 
439
450
  elif system == DARWIN:
440
451
  # TODO: unknown how to prevent the GUI from appearing on macOS
@@ -16,18 +16,13 @@ from ezdxf.render import MeshBuilder, MeshTransformer
16
16
  from ezdxf.addons import meshex
17
17
 
18
18
 
19
- DEFAULT_WIN_OPENSCAD_PATH = ezdxf.options.get(
20
- "openscad-addon", "win_exec_path"
21
- ).strip('"')
22
- CMD = "openscad"
23
-
24
-
25
19
  class Operation(enum.Enum):
26
20
  union = 0
27
21
  difference = 1
28
22
  intersection = 2
29
23
 
30
24
 
25
+ CMD = "openscad"
31
26
  UNION = Operation.union
32
27
  DIFFERENCE = Operation.difference
33
28
  INTERSECTION = Operation.intersection
@@ -37,16 +32,21 @@ def get_openscad_path() -> str:
37
32
  if platform.system() in ("Linux", "Darwin"):
38
33
  return CMD
39
34
  else:
40
- return DEFAULT_WIN_OPENSCAD_PATH
35
+ return ezdxf.options.get("openscad-addon", "win_exec_path").strip('"')
41
36
 
42
37
 
43
38
  def is_installed() -> bool:
44
- r"""Returns ``True`` if OpenSCAD is installed. On Windows only the
45
- default install path 'C:\\Program Files\\OpenSCAD\\openscad.exe' is checked.
39
+ """Returns ``True`` if OpenSCAD is installed.
40
+
41
+ Searches on Windows the path stored in the options as "win_exec_path" in section
42
+ "[openscad-addon]" which is "C:\\Program Files\\OpenSCAD\\openscad.exe" by default.
43
+
44
+ Searches the "openscad" command on Linux and macOS.
45
+
46
46
  """
47
47
  if platform.system() in ("Linux", "Darwin"):
48
48
  return shutil.which(CMD) is not None
49
- return Path(DEFAULT_WIN_OPENSCAD_PATH).exists()
49
+ return Path(get_openscad_path()).exists()
50
50
 
51
51
 
52
52
  def run(script: str, exec_path: Optional[str] = None) -> MeshTransformer:
@@ -94,7 +94,7 @@ def run(script: str, exec_path: Optional[str] = None) -> MeshTransformer:
94
94
  def str_matrix44(m: Matrix44) -> str:
95
95
  # OpenSCAD uses column major order!
96
96
  import numpy as np
97
-
97
+
98
98
  def cleanup(values: Iterable) -> Iterable:
99
99
  for value in values:
100
100
  if isinstance(value, np.float64):
@@ -295,9 +295,7 @@ class Script:
295
295
  return "\n".join(self.data)
296
296
 
297
297
 
298
- def boolean_operation(
299
- op: Operation, mesh1: MeshBuilder, mesh2: MeshBuilder
300
- ) -> str:
298
+ def boolean_operation(op: Operation, mesh1: MeshBuilder, mesh2: MeshBuilder) -> str:
301
299
  """Returns an `OpenSCAD`_ script to apply the given boolean operation to the
302
300
  given meshes.
303
301
 
@@ -42,6 +42,8 @@ class AuditError(IntEnum):
42
42
  MISPLACED_ROOT_DICT = 14
43
43
  ROOT_DICT_NOT_FOUND = 15
44
44
  REMOVED_ENTITY_WITH_INVALID_OWNER_HANDLE = 16
45
+ MODELSPACE_NOT_FOUND = 17
46
+ ACTIVE_PAPERSPACE_LAYOUT_NOT_FOUND = 18
45
47
 
46
48
  UNDEFINED_LINETYPE = 100
47
49
  UNDEFINED_DIMENSION_STYLE = 101
@@ -91,6 +93,7 @@ class AuditError(IntEnum):
91
93
  INVALID_CREASE_VALUE_COUNT = 224
92
94
  INVALID_ELLIPSE_RATIO = 225
93
95
  INVALID_HATCH_BOUNDARY_PATH = 226
96
+ TAG_ATTRIBUTE_MISSING = 227
94
97
 
95
98
 
96
99
  REQUIRED_ROOT_DICT_ENTRIES = ("ACAD_GROUP", "ACAD_PLOTSTYLENAME")
@@ -109,7 +112,7 @@ class ErrorEntry:
109
112
  self.message: str = message # error message
110
113
  self.data: Any = data # additional data as an arbitrary object
111
114
 
112
- # pylint: disable=too-many-public-methods
115
+
113
116
  class Auditor:
114
117
  def __init__(self, doc: Drawing) -> None:
115
118
  assert doc is not None and doc.rootdict is not None and doc.entitydb is not None
@@ -237,6 +240,8 @@ class Auditor:
237
240
  return self.errors
238
241
  self.doc.entitydb.audit(self)
239
242
  self.check_root_dict_entries()
243
+ self.check_modelspace_exist()
244
+ self.check_active_layout_exist()
240
245
  self.check_tables()
241
246
  self.doc.objects.audit(self)
242
247
  self.doc.blocks.audit(self)
@@ -296,6 +301,26 @@ class Auditor:
296
301
  dxf_entity=rootdict,
297
302
  )
298
303
 
304
+ def check_modelspace_exist(self) -> None:
305
+ msp = self.doc.modelspace()
306
+ if not msp.is_alive:
307
+ self.add_error(
308
+ code=AuditError.MODELSPACE_NOT_FOUND,
309
+ message=f"Required modelspace layout not found.",
310
+ )
311
+
312
+ def check_active_layout_exist(self) -> None:
313
+ try:
314
+ layout = self.doc.active_layout()
315
+ except const.DXFStructureError:
316
+ layout = None # type: ignore
317
+
318
+ if layout is None or layout.is_alive is False:
319
+ self.add_error(
320
+ code=AuditError.ACTIVE_PAPERSPACE_LAYOUT_NOT_FOUND,
321
+ message=f"Required active paperspace layout not found.",
322
+ )
323
+
299
324
  def check_tables(self) -> None:
300
325
  table_section = self.doc.tables
301
326
  table_section.viewports.audit(self)
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2022, Manfred Moitzi
1
+ # Copyright (c) 2021-2024, Manfred Moitzi
2
2
  # License: MIT License
3
3
  from __future__ import annotations
4
4
  from typing import TYPE_CHECKING, Iterable, Optional, Iterator
@@ -12,7 +12,7 @@ if TYPE_CHECKING:
12
12
  from ezdxf.lldxf.tags import Tags
13
13
  from ezdxf.entities import DXFEntity, BlockRecord
14
14
 
15
- __all__ = ["BlockDefinitionIndex", "BlockReferenceCounter"]
15
+ __all__ = ["BlockDefinitionIndex", "BlockReferenceCounter", "find_unreferenced_blocks"]
16
16
 
17
17
  """
18
18
  Where are block references located:
@@ -207,3 +207,34 @@ def header_section_handles(doc: "Drawing") -> Iterable[str]:
207
207
  block = doc.blocks.get(blk_name, None)
208
208
  if block is not None:
209
209
  yield block.block_record.dxf.handle
210
+
211
+
212
+ def find_unreferenced_blocks(doc: Drawing) -> set[str]:
213
+ """Returns the names of all block definitions without references.
214
+
215
+ .. warning::
216
+
217
+ The DXF reference does not document all uses of blocks. The INSERT entity is
218
+ just one explicit use case, but there are also many indirect block references
219
+ and the customizability of DXF allows you to store block names and handles in
220
+ many places.
221
+
222
+ There are some rules for storing names and handles and this module checks all of
223
+ these known rules, but there is no guarantee that everyone follows these rules.
224
+
225
+ Therefore, it is still possible to destroy a DXF document by deleting an
226
+ absolutely necessary block definition.
227
+
228
+ .. versionadded:: 1.3.5
229
+
230
+ """
231
+ ref_counter = BlockReferenceCounter(doc)
232
+ unreferenced_blocks: set[str] = set()
233
+
234
+ for block in doc.blocks:
235
+ if not block.is_alive or block.is_any_layout:
236
+ continue
237
+ count = ref_counter.by_name(block.name)
238
+ if count == 0:
239
+ unreferenced_blocks.add(block.name)
240
+ return unreferenced_blocks
@@ -100,7 +100,11 @@ from .mleader import MLeader, MLeaderStyle, MLeaderStyleCollection, MultiLeader
100
100
  # register graphical entities R2007
101
101
 
102
102
  from .light import Light
103
- from .acad_table import AcadTableBlockContent, acad_table_to_block
103
+ from .acad_table import (
104
+ AcadTableBlockContent,
105
+ acad_table_to_block,
106
+ read_acad_table_content,
107
+ )
104
108
 
105
109
  # register graphical entities R2010
106
110
 
@@ -4,6 +4,8 @@ from __future__ import annotations
4
4
  from typing import TYPE_CHECKING, Optional
5
5
  from typing_extensions import Self
6
6
  import copy
7
+
8
+ from ezdxf.audit import Auditor, AuditError
7
9
  from ezdxf.lldxf import validator
8
10
  from ezdxf.math import NULLVEC, Vec3, Z_AXIS, OCS, Matrix44
9
11
  from ezdxf.lldxf.attributes import (
@@ -40,7 +42,6 @@ from .copy import default_copy
40
42
  if TYPE_CHECKING:
41
43
  from ezdxf.lldxf.tagwriter import AbstractTagWriter
42
44
  from ezdxf.lldxf.tags import Tags
43
- from ezdxf.entities import DXFEntity
44
45
  from ezdxf import xref
45
46
 
46
47
 
@@ -81,6 +82,7 @@ attrib_fields = {
81
82
  # ezdxf stores the last group code 280 as "lock_position" attribute and does
82
83
  # not export a version tag for any DXF version.
83
84
  # Tag string (cannot contain spaces):
85
+ # Mandatory by AutoCAD!
84
86
  "tag": DXFAttr(
85
87
  2,
86
88
  default="",
@@ -118,7 +120,7 @@ attrib_fields = {
118
120
  # 4 = multiline ATTDEF
119
121
  "attribute_type": DXFAttr(
120
122
  71,
121
- default=1,
123
+ default=const.ATTRIB_TYPE_SINGLE_LINE,
122
124
  dxfversion=const.DXF2018,
123
125
  optional=True,
124
126
  validator=validator.is_one_of({1, 2, 4}),
@@ -345,6 +347,14 @@ class BaseAttrib(Text):
345
347
  self._embedded_mtext.set_mtext(mtext)
346
348
  _update_content_from_mtext(self, mtext)
347
349
  _update_location_from_mtext(self, mtext)
350
+
351
+ # set attribute type:
352
+ if isinstance(self, Attrib):
353
+ attribute_type = const.ATTRIB_TYPE_MULTI_LINE
354
+ else:
355
+ attribute_type = const.ATTDEF_TYPE_MULTI_LINE
356
+ self.dxf.attribute_type = attribute_type
357
+
348
358
  # misc properties
349
359
  self.dxf.style = mtext.dxf.style
350
360
  self.dxf.height = mtext.dxf.char_height
@@ -356,7 +366,7 @@ class BaseAttrib(Text):
356
366
 
357
367
  def embed_mtext(self, mtext: MText, graphic_properties=True) -> None:
358
368
  """Set multi-line properties from a :class:`MText` entity and destroy the
359
- source entity afterwards.
369
+ source entity afterward.
360
370
 
361
371
  The multi-line ATTRIB/ATTDEF entity requires DXF R2018, otherwise an
362
372
  ordinary single line ATTRIB/ATTDEF entity will be exported.
@@ -370,6 +380,15 @@ class BaseAttrib(Text):
370
380
  self.set_mtext(mtext, graphic_properties)
371
381
  mtext.destroy()
372
382
 
383
+ def discard_mtext(self) -> None:
384
+ """Discard multi-line feature.
385
+
386
+ The embedded MTEXT will be removed and the ATTRIB/ATTDEF will be converted to a
387
+ single-line attribute.
388
+ """
389
+ self._embedded_mtext = None
390
+ self.dxf.attribute_type = const.ATTRIB_TYPE_SINGLE_LINE
391
+
373
392
  def register_resources(self, registry: xref.Registry) -> None:
374
393
  """Register required resources to the resource registry."""
375
394
  super().register_resources(registry)
@@ -394,6 +413,16 @@ class BaseAttrib(Text):
394
413
  self.post_transform(m)
395
414
  return self
396
415
 
416
+ def audit(self, auditor: Auditor) -> None:
417
+ """Validity check."""
418
+ super().audit(auditor)
419
+ if not self.dxf.hasattr("tag"):
420
+ auditor.fixed_error(
421
+ code=AuditError.TAG_ATTRIBUTE_MISSING,
422
+ message=f'Missing mandatory "tag" attribute, entity {str(self)} deleted.',
423
+ )
424
+ auditor.trash(self)
425
+
397
426
 
398
427
  def _update_content_from_mtext(text: Text, mtext: MText) -> None:
399
428
  content = mtext.plain_text(split=True, fast=True)
@@ -457,7 +486,6 @@ class AttDef(BaseAttrib):
457
486
  self.export_acdb_text(tagwriter)
458
487
  self.export_acdb_attdef(tagwriter)
459
488
  if tagwriter.dxfversion >= const.DXF2018:
460
- self.dxf.attribute_type = 4 if self.has_embedded_mtext_entity else 1
461
489
  self.export_dxf_r2018_features(tagwriter)
462
490
 
463
491
  def export_acdb_attdef(self, tagwriter: AbstractTagWriter) -> None:
@@ -508,7 +536,6 @@ class Attrib(BaseAttrib):
508
536
  self.export_acdb_attrib_text(tagwriter)
509
537
  self.export_acdb_attrib(tagwriter)
510
538
  if tagwriter.dxfversion >= const.DXF2018:
511
- self.dxf.attribute_type = 2 if self.has_embedded_mtext_entity else 1
512
539
  self.export_dxf_r2018_features(tagwriter)
513
540
 
514
541
  def export_acdb_attrib_text(self, tagwriter: AbstractTagWriter) -> None:
@@ -48,7 +48,7 @@ acdb_dictionary = DefSubclass(
48
48
  "hard_owned": DXFAttr(
49
49
  280,
50
50
  default=1,
51
- optional=True,
51
+ optional=False, # 2024-11-18: changed to False because of issue #1203
52
52
  validator=validator.is_integer_bool,
53
53
  fixer=RETURN_DEFAULT,
54
54
  ),
@@ -414,7 +414,7 @@ class OverrideMixin:
414
414
 
415
415
  # transform block record handles into block names
416
416
  for attrib_name in ("dimblk", "dimblk1", "dimblk2", "dimldrblk"):
417
- blkrec_handle = data.pop(attrib_name + "_handle", None)
417
+ blkrec_handle = data.pop(attrib_name + "_handle", "")
418
418
  if blkrec_handle:
419
419
  set_arrow_name(attrib_name, blkrec_handle)
420
420
 
@@ -433,7 +433,7 @@ class OverrideMixin:
433
433
 
434
434
  # transform linetype handles into LTYPE entry names
435
435
  for attrib_name in ("dimltype", "dimltex1", "dimltex2"):
436
- handle = data.pop(attrib_name + "_handle", None)
436
+ handle = data.pop(attrib_name + "_handle", "")
437
437
  if handle:
438
438
  set_ltype_name(attrib_name, handle)
439
439
  return data
@@ -487,7 +487,7 @@ class Dimension(DXFGraphic, OverrideMixin):
487
487
  self.virtual_block_content: Optional[EntitySpace] = None
488
488
 
489
489
  def copy(self, copy_strategy=default_copy) -> Dimension:
490
- virtual_copy = super().copy(copy_strategy=copy_strategy)
490
+ virtual_copy: Dimension = super().copy(copy_strategy=copy_strategy) # type: ignore
491
491
  # The new virtual copy can not reference the same geometry block as the
492
492
  # original dimension entity:
493
493
  virtual_copy.dxf.discard("geometry")
@@ -804,10 +804,9 @@ class Dimension(DXFGraphic, OverrideMixin):
804
804
 
805
805
  ocs = self.ocs()
806
806
  dim_elevation = self.dxf.text_midpoint.z
807
- transform = False
807
+ m: Matrix44 | None = None
808
808
  insert = self.dxf.get("insert", None)
809
809
  if insert:
810
- transform = True
811
810
  insert = Vec3(ocs.to_wcs(insert))
812
811
  m = Matrix44.translate(insert.x, insert.y, insert.z)
813
812
 
@@ -823,7 +822,7 @@ class Dimension(DXFGraphic, OverrideMixin):
823
822
  # POINT:
824
823
  ocs_to_wcs(copy, dim_elevation)
825
824
 
826
- if transform:
825
+ if m is not None:
827
826
  copy.transform(m)
828
827
  yield copy
829
828
 
@@ -12,6 +12,8 @@ from typing import (
12
12
  )
13
13
  from typing_extensions import Self
14
14
  import math
15
+ import logging
16
+
15
17
  from ezdxf.lldxf import validator
16
18
  from ezdxf.lldxf.attributes import (
17
19
  DXFAttr,
@@ -69,6 +71,7 @@ if TYPE_CHECKING:
69
71
 
70
72
  __all__ = ["Insert"]
71
73
 
74
+ logger = logging.getLogger("ezdxf")
72
75
  ABS_TOL = 1e-9
73
76
 
74
77
  # DXF files as XREF:
@@ -628,8 +631,8 @@ class Insert(LinkedEntities):
628
631
  if the property :attr:`Insert.mcount` > 1, use the :meth:`Insert.multi_insert`
629
632
  method to resolve the MINSERT entity into multiple INSERT entities.
630
633
 
631
- This method does not apply the clipping path created by the XCLIP command.
632
- The method returns all entities and ignores the clipping path polygon and no
634
+ This method does not apply the clipping path created by the XCLIP command.
635
+ The method returns all entities and ignores the clipping path polygon and no
633
636
  entity is clipped.
634
637
 
635
638
  The `skipped_entity_callback()` will be called for all entities which are not
@@ -718,18 +721,39 @@ class Insert(LinkedEntities):
718
721
  pairs
719
722
 
720
723
  """
721
-
722
724
  def unpack(dxfattribs) -> tuple[str, str, UVec]:
723
725
  tag = dxfattribs.pop("tag")
724
- text = values.get(tag, "")
726
+ text = values.get(tag, None)
727
+ if text is None: # get default value from ATTDEF
728
+ text = dxfattribs.get("text", "")
725
729
  location = dxfattribs.pop("insert")
726
730
  return tag, text, location
727
731
 
728
732
  def autofill() -> None:
729
733
  for attdef in block_layout.attdefs(): # type: ignore
730
734
  dxfattribs = attdef.dxfattribs(drop={"prompt", "handle"})
735
+
736
+ # Caution! Some mandatory values may not exist!
737
+ # These are DXF structure errors, but loaded DXF files may have errors!
738
+ if "tag" not in dxfattribs:
739
+ # ATTRIB without "tag" makes no sense!
740
+ logger.warning(
741
+ f"Skipping {str(attdef)}: missing mandatory 'tag' attribute"
742
+ )
743
+ continue
744
+ if "insert" not in dxfattribs:
745
+ # Don't know where to place the ATTRIB entity.
746
+ logger.warning(
747
+ f"Skipping {str(attdef)}: missing mandatory 'insert' attribute"
748
+ )
749
+ continue
750
+
731
751
  tag, text, location = unpack(dxfattribs)
732
752
  attrib = self.add_attrib(tag, text, location, dxfattribs)
753
+ if attdef.has_embedded_mtext_entity:
754
+ mtext = attdef.virtual_mtext_entity()
755
+ mtext.text = text
756
+ attrib.embed_mtext(mtext)
733
757
  attrib.transform(m)
734
758
 
735
759
  block_layout = self.block()
@@ -51,9 +51,6 @@ class _AbstractLayout(CreatorInterface):
51
51
  """Returns drawing entity database. (internal API)"""
52
52
  return self.doc.entitydb
53
53
 
54
- def rename(self, name) -> None:
55
- pass
56
-
57
54
  def __len__(self) -> int:
58
55
  """Returns count of entities owned by the layout."""
59
56
  return len(self.entity_space)
@@ -134,7 +131,9 @@ class BaseLayout(_AbstractLayout):
134
131
  @property
135
132
  def is_active_paperspace(self) -> bool:
136
133
  """``True`` if is active layout."""
137
- return self.block_record.is_active_paperspace
134
+ if self.block_record.is_alive:
135
+ return self.block_record.is_active_paperspace
136
+ return False
138
137
 
139
138
  @property
140
139
  def is_any_paperspace(self) -> bool:
@@ -93,7 +93,7 @@ class BlockLayout(BaseLayout):
93
93
  """
94
94
  return self.get_attdef(tag) is not None
95
95
 
96
- def get_attdef(self, tag: str) -> Optional[DXFGraphic]:
96
+ def get_attdef(self, tag: str) -> Optional[AttDef]:
97
97
  """Returns attached :class:`~ezdxf.entities.attrib.Attdef` entity by
98
98
  `tag` name.
99
99
  """
@@ -1,9 +1,9 @@
1
- # Copyright (c) 2011-2022, Manfred Moitzi
1
+ # Copyright (c) 2011-2024, Manfred Moitzi
2
2
  # License: MIT License
3
3
  from __future__ import annotations
4
4
  from typing import TYPE_CHECKING, Iterator, cast, Optional
5
5
  import logging
6
- from ezdxf.lldxf.const import DXFKeyError, DXFValueError, DXFInternalEzdxfError
6
+ from ezdxf.lldxf.const import DXFKeyError, DXFValueError, DXFStructureError
7
7
  from ezdxf.lldxf.const import (
8
8
  MODEL_SPACE_R2000,
9
9
  PAPER_SPACE_R2000,
@@ -22,8 +22,7 @@ logger = logging.getLogger("ezdxf")
22
22
 
23
23
 
24
24
  def key(name: str) -> str:
25
- """AutoCAD uses case insensitive layout names, but stores the name case
26
- sensitive."""
25
+ """AutoCAD uses case-insensitive layout names, but stores the name case-sensitive."""
27
26
  return name.upper()
28
27
 
29
28
 
@@ -205,12 +204,11 @@ class Layouts:
205
204
  return cast(Modelspace, self.get("Model"))
206
205
 
207
206
  def names(self) -> list[str]:
208
- """Returns a list of all layout names, all names in original case
209
- sensitive form."""
207
+ """Returns a list of all layout names, all names in original case-sensitive form."""
210
208
  return [layout.name for layout in self._layouts.values()]
211
209
 
212
210
  def get(self, name: Optional[str]) -> Layout:
213
- """Returns :class:`~ezdxf.layouts.Layout` by `name`, case insensitive
211
+ """Returns :class:`~ezdxf.layouts.Layout` by `name`, case-insensitive
214
212
  "Model" == "MODEL".
215
213
 
216
214
  Args:
@@ -226,8 +224,8 @@ class Layouts:
226
224
  not exist.
227
225
 
228
226
  Args:
229
- old_name: actual layout name, case insensitive
230
- new_name: new layout name, case insensitive
227
+ old_name: actual layout name, case-insensitive
228
+ new_name: new layout name, case-insensitive
231
229
 
232
230
  Raises:
233
231
  DXFValueError: try to rename ``'Model'``
@@ -245,7 +243,6 @@ class Layouts:
245
243
 
246
244
  layout = self.get(old_name)
247
245
  self._discard(layout)
248
- layout.rename(new_name)
249
246
  self._add_layout(new_name, layout)
250
247
 
251
248
  def names_in_taborder(self) -> list[str]:
@@ -311,7 +308,7 @@ class Layouts:
311
308
  name (str): layout name as shown in tabs
312
309
 
313
310
  Raises:
314
- DXFKeyError: if layout `name` do not exists
311
+ DXFKeyError: if layout `name` do not exist
315
312
  DXFValueError: deleting modelspace layout is not possible
316
313
  DXFValueError: deleting last paperspace layout is not possible
317
314
 
@@ -338,7 +335,7 @@ class Layouts:
338
335
  for layout in self:
339
336
  if layout.is_active_paperspace:
340
337
  return cast(Paperspace, layout)
341
- raise DXFInternalEzdxfError("No active paperspace layout found.")
338
+ raise DXFStructureError("No active paperspace layout found.")
342
339
 
343
340
  def audit(self, auditor: Auditor):
344
341
  from ezdxf.audit import AuditError
@@ -377,7 +374,7 @@ class Layouts:
377
374
  message=f'Removed orphaned layout {str(br)} "{name}"',
378
375
  )
379
376
  if name in doc.blocks:
380
- doc.blocks.delete_block(name)
377
+ doc.blocks.delete_block(name, safe=False)
381
378
  else:
382
379
  doc.block_records.remove(name)
383
380
  # Does not check the LAYOUT content this is done in the BlockSection,
@@ -570,6 +570,10 @@ ATTRIB_CONST = 2 # This is a constant attribute
570
570
  ATTRIB_VERIFY = 4 # Verification is required on input of this attribute
571
571
  ATTRIB_IS_PRESET = 8 # no prompt during insertion
572
572
 
573
+ ATTRIB_TYPE_SINGLE_LINE = 1
574
+ ATTRIB_TYPE_MULTI_LINE = 2
575
+ ATTDEF_TYPE_MULTI_LINE = 4
576
+
573
577
  # '|' is allowed in layer name, as ltype name ...
574
578
  INVALID_NAME_CHARACTERS = '<>/\\":;?*=`'
575
579
  INVALID_LAYER_NAME_CHARACTERS = set(INVALID_NAME_CHARACTERS)
@@ -89,6 +89,12 @@ def bulge_to_arc(
89
89
  and 2D :class:`~ezdxf.entities.Polyline` entities start at the vertex which
90
90
  includes the bulge value and ends at the following vertex.
91
91
 
92
+ .. important::
93
+
94
+ The return values always describe a counter-clockwise oriented arc, so for
95
+ clockwise arcs (negative bulge values) the start and end angles are swapped and
96
+ the arc starts at the `end_point` and ends at the `start_point`.
97
+
92
98
  Based on Bulge to Arc by `Lee Mac`_.
93
99
 
94
100
  Args:
@@ -8,6 +8,7 @@
8
8
  # - Research paper of Antonin Guttman:
9
9
  # http://www-db.deis.unibo.it/courses/SI-LS/papers/Gut84.pdf
10
10
  from __future__ import annotations
11
+ from operator import itemgetter
11
12
  import statistics
12
13
  from typing import Iterator, Callable, Sequence, Iterable, TypeVar, Generic
13
14
  import abc
@@ -260,7 +261,7 @@ def box_split(points: list[T], max_size: int) -> Sequence[Node[T]]:
260
261
  n = len(points)
261
262
  size: tuple[float, float, float] = BoundingBox(points).size.xyz
262
263
  dim = size.index(max(size))
263
- points.sort(key=lambda vec: vec[dim])
264
+ points.sort(key=itemgetter(dim))
264
265
  k = math.ceil(n / max_size)
265
266
  return tuple(
266
267
  make_node(points[i : i + k], max_size, box_split) for i in range(0, n, k)