ezdxf 1.3.0rc0__zip → 1.3.1__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.
- {ezdxf-1.3.0rc0/src/ezdxf.egg-info → ezdxf-1.3.1}/PKG-INFO +1 -1
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acis/api.py +5 -4
- ezdxf-1.3.1/src/ezdxf/acis/cache.py +59 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acis/entities.py +8 -7
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acis/mesh.py +80 -0
- ezdxf-1.3.1/src/ezdxf/acis/type_hints.py +7 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/acadctb.py +13 -1
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/frontend.py +5 -2
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/dxf2code.py +1 -1
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/odafc.py +4 -1
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/audit.py +2 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/document.py +5 -6
- ezdxf-1.3.1/src/ezdxf/edgeminer.py +1166 -0
- ezdxf-1.3.1/src/ezdxf/edgesmith.py +231 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/acad_proxy_entity.py +0 -1
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/acad_table.py +12 -11
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/acis.py +30 -4
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/boundary_paths.py +44 -16
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/dxfentity.py +2 -6
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/dxfgroups.py +37 -11
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/layout.py +3 -1
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/polygon.py +12 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/graphicsfactory.py +1 -2
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/layouts/base.py +8 -2
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/clipping.py +8 -28
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/rtree.py +53 -54
- ezdxf-1.3.1/src/ezdxf/messenger.py +19 -0
- ezdxf-1.3.1/src/ezdxf/msgtypes.py +9 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/path/converter.py +16 -10
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/protocols.py +6 -1
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/trace.py +14 -40
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/sections/blocks.py +34 -20
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/clipping_portal.py +24 -18
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/version.py +2 -2
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1/src/ezdxf.egg-info}/PKG-INFO +1 -1
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf.egg-info/SOURCES.txt +10 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_224_group.py +35 -5
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_249_boundary_paths.py +36 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py +2 -1
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_424_audit.py +21 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_532_acis_mesh.py +13 -5
- ezdxf-1.3.1/tests/test_05_tools/test_545_acis_cache.py +104 -0
- ezdxf-1.3.1/tests/test_05_tools/test_546_edgeminer.py +749 -0
- ezdxf-1.3.1/tests/test_05_tools/test_547_edgesmith.py +123 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_619_greiner_hormann.py +97 -5
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_803_entities_to_code.py +21 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_806_acadctb.py +28 -8
- ezdxf-1.3.1/tests/test_10_issues/test_issue_1078_bbox_calculation.py +43 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/LICENSE +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/MANIFEST.in +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/README.md +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/check_disable_c_ext_by_config_file.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/check_disable_c_ext_by_env_var.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/conftest.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/AC1003_LINE_Example.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/ASCII_R12.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/Leica_Disto_S910.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/MODEL.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/PLOTFILE.plt +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/POLI-ALL210_12.DXF +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/R12_with_trash_beyond_EOF.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/XRECORD_0.bin +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/XRECORD_1.bin +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/XRECORD_2.bin +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/acad_table_with_blk_ref.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/bin_dxf_r12.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/bin_dxf_r13.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/bin_dxf_r14.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/bin_dxf_r2000.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/cc_dxflib.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/custom_blocks.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/duplicate_handles.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/dxf_unicode.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/dynblks.zip +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/empty_handles.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/groups.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/layout_broken_links.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/layout_broken_links_2.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/layout_missing_block_definition.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/layout_missing_block_record.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/mtext_columns_R2007.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/mtext_columns_R2018.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/mtext_framed_columns.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/mtext_text_frame.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/no_layouts.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/recover01.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/recover02.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/small_r13.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/data/small_r14.dxf +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_acad_table.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_acis_entites.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_all_dimline_styles.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_all_ellipse_transformations.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_anonymous_blocks.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_appsettings.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_audit_critical_dxf_files.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_audit_layouts.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_complex_line_type_2.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_create_basic_graphics.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_document_guid.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_document_page_setup.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_dxf_info_scanning.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_dynblkhelper.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_entities_iterator.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_fix_dulicate_handles.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_geo.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_groups.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_hpgl2_addon.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_ignore_junk_beyond_EOF.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_launcher.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_leica_disto_r12.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_load_dxf_unicode_notation.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_mapbox_earcut.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_mtext_columns.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_mtext_explode_addon.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_mtext_text_frame.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_new_table_entries.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_none_ascii_read_write.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_odafc.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_open_R13_R14.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_open_binary_DXF_files.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_open_coord_order_issue.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_open_exotic_dxf_files.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_polyline_entity.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_preserve_binary_data_in_xrecords.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_r12export.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_r12strict.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_r12writer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_read_file_without_handles.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_read_write_modern_entites.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_recover.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_redraw_order.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_rotated_block_attributes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_surface_entities.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_write_fixed_meta_data.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_write_without_handles.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_xref_detach.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/integration_tests/test_xref_load_acis.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/pyproject.toml +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/requirements.txt +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/setup.cfg +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/setup.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/__main__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/_options.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/bezier3p.pyx +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/bezier4p.pyx +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/bspline.pyx +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/constants.h +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/construct.pyx +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/linetypes.pyx +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/mapbox_earcut.pyx +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/matrix44.pxd +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/matrix44.pyx +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/np_support.pyx +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/vector.pxd +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acc/vector.pyx +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acis/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acis/abstract.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acis/const.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acis/dbg.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acis/dxf.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acis/hdr.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acis/sab.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/acis/sat.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/acisbrowser/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/acisbrowser/browser.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/acisbrowser/data.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/binpacking.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/browser/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/browser/bookmarks.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/browser/browser.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/browser/data.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/browser/find_dialog.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/browser/loader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/browser/model.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/browser/reflinks.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/browser/tags.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/browser/views.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/dimlines.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/backend.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/config.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/debug_backend.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/debug_utils.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/dxf.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/file_output.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/gfxproxy.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/hpgl2.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/json.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/layout.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/matplotlib.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/mtext_complex.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/pipeline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/properties.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/pymupdf.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/pyqt.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/qtviewer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/recorder.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/svg.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/text.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/text_renderer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/type_hints.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/drawing/unified_text_renderer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/dwg/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/dwg/classes_section.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/dwg/const.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/dwg/crc.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/dwg/fileheader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/dwg/header_section.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/dwg/loader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/genetic_algorithm.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/geo.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/gerber_D6673.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/hpgl2/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/hpgl2/api.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/hpgl2/backend.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/hpgl2/deps.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/hpgl2/interpreter.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/hpgl2/page.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/hpgl2/plotter.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/hpgl2/polygon_buffer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/hpgl2/properties.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/hpgl2/tokenizer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/hpgl2/viewer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/importer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/iterdxf.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/menger_sponge.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/meshex.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/mixins.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/mtextsurrogate.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/mtxpl.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/openscad.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/pycsg.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/r12export.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/r12writer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/sierpinski_pyramid.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/tablepainter.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/text2path.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/xplayer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/addons/xqt.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/appsettings.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/bbox.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/blkrefs.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/colors.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/commands.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/comments.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/disassemble.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/dwginfo.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/dynblkhelper.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/acad_xrec_roundtrip.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/appdata.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/appid.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/arc.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/attrib.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/block.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/blockrecord.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/circle.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/copy.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/dictionary.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/dimension.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/dimstyle.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/dimstyleoverride.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/dxfclass.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/dxfgfx.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/dxfns.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/dxfobj.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/ellipse.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/factory.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/geodata.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/gradient.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/hatch.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/helix.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/idbuffer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/image.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/insert.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/layer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/leader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/light.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/line.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/ltype.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/lwpolyline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/material.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/mesh.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/mleader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/mline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/mpolygon.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/mtext.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/mtext_columns.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/objectcollection.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/oleframe.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/pattern.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/point.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/polyline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/shape.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/solid.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/spatial_filter.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/spline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/subentity.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/sun.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/table.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/temporary_transform.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/text.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/textstyle.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/tolerance.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/ucs.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/underlay.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/view.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/viewport.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/visualstyle.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/vport.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/xdata.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/xdict.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entities/xline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/entitydb.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/enums.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/explode.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/eztypes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/filemanagement.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/fonts/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/fonts/font_face.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/fonts/font_manager.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/fonts/font_measurements.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/fonts/font_synonyms.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/fonts/fonts.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/fonts/glyphs.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/fonts/lff.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/fonts/shapefile.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/fonts/ttfonts.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/gfxattribs.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/groupby.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/layouts/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/layouts/blocklayout.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/layouts/layout.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/layouts/layouts.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/attributes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/const.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/encoding.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/extendedtags.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/fileindex.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/hdrvars.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/loader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/packedtags.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/repair.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/tagger.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/tags.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/tagwriter.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/types.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/lldxf/validator.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/_bezier3p.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/_bezier4p.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/_bspline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/_construct.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/_ctypes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/_mapbox_earcut.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/_matrix44.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/_vector.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/arc.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/bbox.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/bezier.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/bezier_interpolation.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/box.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/bspline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/bulge.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/circle.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/clustering.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/construct2d.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/construct3d.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/cspline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/curvetools.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/ellipse.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/eulerspiral.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/legacy.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/linalg.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/line.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/offset2d.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/parametrize.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/perlin.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/polyline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/shape.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/transformtools.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/triangulation.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/math/ucs.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/npshapes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/path/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/path/commands.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/path/nesting.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/path/path.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/path/shapes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/path/tools.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/proxygraphic.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/py.typed +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/query.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/queryparser.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/r12strict.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/recover.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/_linetypes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/abstract_mtext_renderer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/arrows.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/curves.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/dim_base.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/dim_curved.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/dim_diameter.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/dim_linear.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/dim_ordinate.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/dim_radius.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/dimension.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/forms.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/hatching.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/leader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/linetypes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/mesh.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/mleader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/mline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/point.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/polyline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/render/r12spline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/reorder.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/16x16.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/24x24.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/256x256.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/32x32.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/48x48.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/64x64.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/icon-copy-64px.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/icon-find-64px.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/icon-goto-bookmark-64px.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/icon-goto-handle-64px.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/icon-goto-line-64px.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/icon-left-arrow-64px.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/icon-next-entity-64px.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/icon-prev-entity-64px.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/icon-right-arrow-64px.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/icon-show-in-tree-64px.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/resources/icon-store-bookmark-64px.png +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/revcloud.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/sections/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/sections/acdsdata.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/sections/classes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/sections/entities.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/sections/header.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/sections/headervars.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/sections/objects.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/sections/table.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/sections/tables.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/select.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/__init__.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/_iso_pattern.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/analyze.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/binarydata.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/codepage.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/complex_ltype.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/crypt.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/debug.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/difftags.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/handle.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/indexing.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/juliandate.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/pattern.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/rawloader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/standards.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/strip.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/test.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/text.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/text_layout.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/text_size.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/tools/zipmanager.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/transform.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/units.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/upright.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/urecord.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/xclip.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/xref.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf/zoom.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf.egg-info/dependency_links.txt +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf.egg-info/entry_points.txt +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf.egg-info/not-zip-safe +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf.egg-info/requires.txt +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/src/ezdxf.egg-info/top_level.txt +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/conftest.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_001_dxf_types.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_004_dxf_value.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_005_packed_tags.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_010_binary_data.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_011_codepage.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_012_crypt.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_013_juliandate.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_014_multi_tags_text.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_016_encoding.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_018_handle.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_022_set_flag_state.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_023_fix_invalid_located_group_codes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_024_render_tag.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_040_tags.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_041_group_tags.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_042_tags_loader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_050_extended_tags.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_052_tag_writer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_054_dxfattr.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_055_recover_loader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_057_group_code_mapping.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_00_dxf_low_level_structs/test_058_json_tags.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_101_dxfnamespace.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_102_appdata.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_103_reactors.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_104_extension_dict.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_105_xdata.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_110_dxfentity.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_112a_dxfgfx.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_112b_dxfobj.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_113_dxfclass.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_114_factory.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_115_new_empty_drawing.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_116_dictionary.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_117_layer_table_entry.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_118_appid_table_entry.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_119_ucs_table_entry.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_120_style_table_entry.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_121_ltype_table_entry.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_122_vport_table_entry.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_123_view_table_entry.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_125_image_def.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_126_image_def_reactor.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_127_raster_variables.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_128_pdf_definition.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_129_xrecord.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_130_id_buffer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_131_field_list.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_132_layer_filter.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_133_sun.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_134_material.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_135_geo_data.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_136_vba_project.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_137_sortentstable.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_138_setup_visual_styles.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_139_user_record.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_140_block_record.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_141_layer_vp_override.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_142_copy_strategy.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_143_spatial_filter.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/conftest.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_200_line.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_201_point.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_202_circle.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_203_arc.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_204_shape.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_205_solid.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_206_text.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_207_attdef.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_208_attrib.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_209_vertex.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_210_polyline_1.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_210_polyline_2.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_210_polyline_explode.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_211_viewport.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_212_insert.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_213_minsert.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_214_block.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_215_dimension.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_216_dimlines_R12.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_217_dimlines_R2000.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_220_lwpolyline_1.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_220_lwpolyline_2.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_220_lwpolyline_3.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_221_ellipse.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_222_xline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_223_ray.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_225_mtext.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_226_spline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_226_spline_with_linear_segments.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_227_mesh_packed_data.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_228_mesh.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_229b_hatch_extended.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_229c_hatch_transformations.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_231_underlay.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_231_underlay_2.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_232a_add_acis.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_232b_acis_export.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_232c_acis_surface.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_232d_acis_copy.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_232e_acis_transform.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_233_helix.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_234_light.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_235_leader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_236_multileader.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_237_mline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_238_tolerance.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_239_proxy_graphic.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_240_arc_dimension.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_241_hyperlink.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_242_random_transform.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_243_replace_entity.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_244_large_radial_dimension.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_245_wipeout.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_246_spline_audit.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_248_mpolygon.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_251_upright.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_253_ole2frame.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_02_dxf_graphics/test_254_get_font_name.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_300_layout.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_302_block_references.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_303_auto_block_references.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_304_new_entity_space.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_306_copy_linked_entities.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_307_groupby.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_308_query.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_309_query_parser.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_311_add_foreign_entity.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_312_virtual_layout.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_03_dxf_layouts/test_313_redraw_order.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_401_headersection.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_402_classessection.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_403_entity_database.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_404a_tables.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_404b_object_collections.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_405_classes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_406_blocks_section.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_407_entity_section.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_408_objects_section.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_409_create_objects.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_410_table.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_411_acds_data.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_412_rename_layer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_415_layout_management.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_416a_disassemble.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_417_bbox.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_418_copy_entities.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_420_load_dxf_file.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_421_new_drawings.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_422_drawing_object.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_423_read_proe_r2004.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_427_appsettings.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_04_dxf_high_level_structs/test_429_xclip.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/conftest.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_500_units.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_501_truecolor.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_502_raw_color.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_503_indexing.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_504_suppress_zeros.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_506_version.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_508_read_zip.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_509_comments.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_510_byte_stream.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_511_bit_stream.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_512_pattern.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_513_reorder_entities.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_514_text.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_515a_fonts_truetype.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_515b_fonts_shapefiles.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_515c_fonts_lff.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_516_zoom.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_517_text_layout.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_518_header_guid.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_519_mtext_editor.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_520_mtext_context.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_521_mtext_parser.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_522_text_scanner.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_523_text_size.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_524_block_reference_manager.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_525_transparency.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_526_explode.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_527_gfxattribs.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_528_difftags.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_529_acis_sat.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_530_acis_sab.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_531_acis_entities.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_533_shapefiles.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_534_dwg_info.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_535_xref_basic.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_536_xref_conflict.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_537_transform.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_538_scale_mtext_inline_commands.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_539_npshapes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_540_lff_parser.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_541_clipping_portal.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_542_itertools.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_543_select.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_05_tools/test_544_revcloud.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/conftest.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_600_base.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_601_bulge.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_602_vec3.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_603_vec2.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_604_banded_matrix.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_604_linalg.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_605_matrix44.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_606_convexhull.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_607_perlin_noise.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_608_intersection_line_line_2d.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_609_point_on_line.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_610_ocs.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_611_ucs.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_612_ucs_pass_trough.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_613_is_point_in_polygon_2d.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_614_construct_3d.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_615_rytz_axis.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_616_plane.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_617_clockwise_orientation.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_618_clipping.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_620_knot.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_621_bspline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_622_bsplineu.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_623_rbspline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_624_global_bspline_interpolation.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_626_local_bspline_interpolation.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_627_bspline_basis.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_629_bezier.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_630a_bezier4p_base.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_630b_bezier4p_functions.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_631_euler_spiral.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_632_bezier3p.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_640_bbox.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_641_construction_ray.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_642_construction_line.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_643_construction_box.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_644_construction_circle.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_645_construction_arc.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_646_offset_vertices_2d.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_647_transform_tools.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_648_construction_ellipse.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_650_elliptic_arc_span.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_651_construction_polyline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_652_approx_param_t.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_653_polyline_intersection.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_654_rtree.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_655_dbscan.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_656_k_means.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_657_mapbox_earcut.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_658_bevel_tools.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_659_intersection_line_polygon_3d.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_660_intersection_ray_polygon_3d.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_661_is_face_normal_pointing_outwards.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_662_is_convex_polygon_2d.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_663_is_axes_aligned_rectange.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_664_concave_clipping_polygon.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_665_inverted_clipping_polygon.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_06_math/test_666_wgs84_transform.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_701_arrows.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_702_render_forms.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_703_mesh_builder.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_704_render_linear_dimension.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_705_shape.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_706_random_path.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_707_trace.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_708a_path.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_708b_path_tools.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_708c_matplotlib_path_tools.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_708d_qpainter_path_tools.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_708e_path_shapes.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_708f_path_nesting.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_709_linetype_renderer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_711_points.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_712_render_curved_dimension.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_713_mleader_builder.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_714_mleader_render_engine.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_715_hatching.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_07_render/test_715_issue_747_explode_3d_dim.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_800_mtext_surrogate.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_801_r12spline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_802_table_painter.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_804_importer.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_805_pycsg.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_807_dwg_loader_basics.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_810_drawing_properties.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_811a_drawing_frontend.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_811b_drawing_recorder.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_811c_viewport_processing.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_812_drawing_graphic_proxy.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_813_geo_interface.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_814_text2path.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_815_dxf_browser.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_816_bin_packing.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_817_genetic_algorithm.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_818_meshex.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_819_menger_sponge.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_820_openscad.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_821_hpgl2.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_821_hpgl2_polygon_encoded.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_823_drawing_layout.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_824_svg_drawing_backend.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_825_hpgl2_drawing_backend.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_826_custom_json_backend.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_08_addons/test_827_geojson_backend.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_09_cython_acceleration/test_901_acc_vec2.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_09_cython_acceleration/test_902_acc_vec3.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_09_cython_acceleration/test_903_acc_matrix44.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_09_cython_acceleration/test_904_acc_bezier4p.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_09_cython_acceleration/test_905_acc_bezier3p.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_09_cython_acceleration/test_906_acc_bspline.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_10_issues/test_issue_414_bbox_calculation.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_10_issues/test_issue_557_reload_dimension_text_style.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_10_issues/test_issue_574_flattening_error.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_10_issues/test_issue_589_incorrect_virtual_face3d.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_10_issues/test_issue_749_text_layout.py +0 -0
- {ezdxf-1.3.0rc0 → ezdxf-1.3.1}/tests/test_10_issues/test_issue_873_circle_inverted_normal.py +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
1
|
+
# Copyright (c) 2022-2024, Manfred Moitzi
|
|
2
|
+
# License: MIT License
|
|
3
3
|
# Public API module (interface)
|
|
4
4
|
"""
|
|
5
5
|
The main goals of this ACIS support library is:
|
|
@@ -24,7 +24,8 @@ from .const import (
|
|
|
24
24
|
InvalidLinkStructure,
|
|
25
25
|
ExportError,
|
|
26
26
|
)
|
|
27
|
-
from .mesh import mesh_from_body, body_from_mesh
|
|
27
|
+
from .mesh import mesh_from_body, body_from_mesh, vertices_from_body
|
|
28
28
|
from .entities import load, export_sat, export_sab, Body
|
|
29
29
|
from .dbg import AcisDebugger, dump_sab_as_text
|
|
30
|
-
from .dxf import export_dxf, load_dxf
|
|
30
|
+
from .dxf import export_dxf, load_dxf
|
|
31
|
+
from .cache import AcisCache
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Copyright (c) 2024, Manfred Moitzi
|
|
2
|
+
# License: MIT License
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from typing import TYPE_CHECKING, Sequence
|
|
5
|
+
from .entities import Body, load
|
|
6
|
+
from .type_hints import EncodedData
|
|
7
|
+
|
|
8
|
+
if TYPE_CHECKING:
|
|
9
|
+
from ezdxf.entities import DXFEntity
|
|
10
|
+
|
|
11
|
+
__all__ = ["AcisCache"]
|
|
12
|
+
NO_BODIES: Sequence[Body] = tuple()
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class AcisCache:
|
|
16
|
+
"""This cache manages ACIS bodies created from SAT or SAB data stored in DXF
|
|
17
|
+
entities.
|
|
18
|
+
|
|
19
|
+
Each entry is a list of ACIS bodies and is indexed by a hash calculated from the
|
|
20
|
+
source content of the SAT or SAB data.
|
|
21
|
+
|
|
22
|
+
"""
|
|
23
|
+
def __init__(self) -> None:
|
|
24
|
+
self._entries: dict[int, Sequence[Body]] = {}
|
|
25
|
+
self.hits: int = 0
|
|
26
|
+
self.misses: int = 0
|
|
27
|
+
|
|
28
|
+
@staticmethod
|
|
29
|
+
def hash_data(data: EncodedData) -> int:
|
|
30
|
+
if isinstance(data, list):
|
|
31
|
+
return hash(tuple(data))
|
|
32
|
+
elif isinstance(data, bytearray):
|
|
33
|
+
return hash(bytes(data))
|
|
34
|
+
return hash(data)
|
|
35
|
+
|
|
36
|
+
def __len__(self) -> int:
|
|
37
|
+
return len(self._entries)
|
|
38
|
+
|
|
39
|
+
def get_bodies(self, data: EncodedData) -> Sequence[Body]:
|
|
40
|
+
if not data:
|
|
41
|
+
return NO_BODIES
|
|
42
|
+
|
|
43
|
+
hash_value = AcisCache.hash_data(data)
|
|
44
|
+
bodies = self._entries.get(hash_value, NO_BODIES)
|
|
45
|
+
if bodies is not NO_BODIES:
|
|
46
|
+
self.hits += 1
|
|
47
|
+
return bodies
|
|
48
|
+
|
|
49
|
+
self.misses += 1
|
|
50
|
+
bodies = tuple(load(data))
|
|
51
|
+
self._entries[hash_value] = bodies
|
|
52
|
+
return bodies
|
|
53
|
+
|
|
54
|
+
def from_dxf_entity(self, entity: DXFEntity) -> Sequence[Body]:
|
|
55
|
+
from ezdxf.entities import Body as DxfBody
|
|
56
|
+
|
|
57
|
+
if not isinstance(entity, DxfBody):
|
|
58
|
+
return NO_BODIES
|
|
59
|
+
return self.get_bodies(entity.acis_data)
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
# Copyright (c) 2022-2024, Manfred Moitzi
|
|
2
2
|
# License: MIT License
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from typing import
|
|
4
|
+
from typing import Callable, Type, Any, Sequence, Iterator
|
|
5
5
|
import abc
|
|
6
6
|
|
|
7
7
|
from . import sab, sat, const, hdr
|
|
8
8
|
from .const import Features
|
|
9
9
|
from .abstract import DataLoader, AbstractEntity, DataExporter
|
|
10
|
+
from .type_hints import EncodedData
|
|
10
11
|
from ezdxf.math import Matrix44, Vec3, NULLVEC
|
|
11
12
|
|
|
12
13
|
Factory = Callable[[AbstractEntity], "AcisEntity"]
|
|
@@ -15,7 +16,7 @@ ENTITY_TYPES: dict[str, Type[AcisEntity]] = {}
|
|
|
15
16
|
INF = float("inf")
|
|
16
17
|
|
|
17
18
|
|
|
18
|
-
def load(data:
|
|
19
|
+
def load(data: EncodedData) -> list[Body]:
|
|
19
20
|
"""Returns a list of :class:`Body` entities from :term:`SAT` or :term:`SAB`
|
|
20
21
|
data. Accepts :term:`SAT` data as a single string or a sequence of strings
|
|
21
22
|
and :term:`SAB` data as bytes or bytearray.
|
|
@@ -733,7 +734,7 @@ class Point(SupportsPattern):
|
|
|
733
734
|
|
|
734
735
|
|
|
735
736
|
class FileLoader(abc.ABC):
|
|
736
|
-
records: Sequence[
|
|
737
|
+
records: Sequence[sat.SatEntity | sab.SabEntity]
|
|
737
738
|
|
|
738
739
|
def __init__(self, version: int):
|
|
739
740
|
self.entities: dict[int, AcisEntity] = {}
|
|
@@ -770,7 +771,7 @@ class FileLoader(abc.ABC):
|
|
|
770
771
|
|
|
771
772
|
|
|
772
773
|
class SabLoader(FileLoader):
|
|
773
|
-
def __init__(self, data:
|
|
774
|
+
def __init__(self, data: bytes | bytearray):
|
|
774
775
|
builder = sab.parse_sab(data)
|
|
775
776
|
super().__init__(builder.header.version)
|
|
776
777
|
self.records = builder.entities
|
|
@@ -779,14 +780,14 @@ class SabLoader(FileLoader):
|
|
|
779
780
|
return sab.SabDataLoader(data, self.version)
|
|
780
781
|
|
|
781
782
|
@classmethod
|
|
782
|
-
def load(cls, data:
|
|
783
|
+
def load(cls, data: bytes | bytearray) -> list[Body]:
|
|
783
784
|
loader = cls(data)
|
|
784
785
|
loader.load_entities()
|
|
785
786
|
return loader.bodies()
|
|
786
787
|
|
|
787
788
|
|
|
788
789
|
class SatLoader(FileLoader):
|
|
789
|
-
def __init__(self, data:
|
|
790
|
+
def __init__(self, data: str | Sequence[str]):
|
|
790
791
|
builder = sat.parse_sat(data)
|
|
791
792
|
super().__init__(builder.header.version)
|
|
792
793
|
self.records = builder.entities
|
|
@@ -795,7 +796,7 @@ class SatLoader(FileLoader):
|
|
|
795
796
|
return sat.SatDataLoader(data, self.version)
|
|
796
797
|
|
|
797
798
|
@classmethod
|
|
798
|
-
def load(cls, data:
|
|
799
|
+
def load(cls, data: str | Sequence[str]) -> list[Body]:
|
|
799
800
|
loader = cls(data)
|
|
800
801
|
loader.load_entities()
|
|
801
802
|
return loader.bodies()
|
|
@@ -333,3 +333,83 @@ def make_vertices(vertices: Iterable[Vec3]) -> Iterator[entities.Vertex]:
|
|
|
333
333
|
vertex = entities.Vertex()
|
|
334
334
|
vertex.point = point
|
|
335
335
|
yield vertex
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
def vertices_from_body(body: Body) -> list[Vec3]:
|
|
339
|
+
"""Returns all stored vertices in the given :class:`Body` entity.
|
|
340
|
+
The result is not optimized, meaning the vertices are in no particular order and
|
|
341
|
+
there are duplicates.
|
|
342
|
+
|
|
343
|
+
This function can be useful to determining the approximate bounding box of an
|
|
344
|
+
:term:`ACIS` entity. The result is exact for polyhedra with flat faces with
|
|
345
|
+
straight edges, but not for bodies with curved edges and faces.
|
|
346
|
+
|
|
347
|
+
Args:
|
|
348
|
+
body: ACIS entity of type :class:`Body`
|
|
349
|
+
|
|
350
|
+
Raises:
|
|
351
|
+
TypeError: given `body` entity has invalid type
|
|
352
|
+
|
|
353
|
+
"""
|
|
354
|
+
|
|
355
|
+
if not isinstance(body, Body):
|
|
356
|
+
raise TypeError(f"expected a body entity, got: {type(body)}")
|
|
357
|
+
lump = body.lump
|
|
358
|
+
transform = body.transform
|
|
359
|
+
vertices: list[Vec3] = []
|
|
360
|
+
|
|
361
|
+
m: Optional[Matrix44] = None
|
|
362
|
+
if not transform.is_none:
|
|
363
|
+
m = transform.matrix
|
|
364
|
+
while not lump.is_none:
|
|
365
|
+
vertices.extend(vertices_from_lump(lump, m))
|
|
366
|
+
lump = lump.next_lump
|
|
367
|
+
return vertices
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
def vertices_from_lump(lump: Lump, m: Matrix44 | None = None) -> list[Vec3]:
|
|
371
|
+
"""Returns all stored vertices from a given :class:`Lump` entity.
|
|
372
|
+
Applies the transformation :class:`~ezdxf.math.Matrix44` `m` to all vertices if not
|
|
373
|
+
``None``.
|
|
374
|
+
|
|
375
|
+
Args:
|
|
376
|
+
lump: :class:`Lump` entity
|
|
377
|
+
m: optional transformation matrix
|
|
378
|
+
|
|
379
|
+
Raises:
|
|
380
|
+
TypeError: `lump` has invalid ACIS type
|
|
381
|
+
|
|
382
|
+
"""
|
|
383
|
+
if not isinstance(lump, Lump):
|
|
384
|
+
raise TypeError(f"expected a lump entity, got: {type(lump)}")
|
|
385
|
+
|
|
386
|
+
vertices: list[Vec3] = []
|
|
387
|
+
shell = lump.shell
|
|
388
|
+
if shell.is_none:
|
|
389
|
+
return vertices # not a shell
|
|
390
|
+
|
|
391
|
+
face = shell.face
|
|
392
|
+
while not face.is_none:
|
|
393
|
+
first_coedge = NONE_REF
|
|
394
|
+
try:
|
|
395
|
+
first_coedge = face.loop.coedge
|
|
396
|
+
except AttributeError: # loop is a none-entity
|
|
397
|
+
pass
|
|
398
|
+
coedge = first_coedge
|
|
399
|
+
while not coedge.is_none: # invalid coedge or face is not closed
|
|
400
|
+
# the edge entity contains the vertices and the curve type
|
|
401
|
+
edge = coedge.edge
|
|
402
|
+
try:
|
|
403
|
+
vertices.append(edge.start_vertex.point.location)
|
|
404
|
+
vertices.append(edge.end_vertex.point.location)
|
|
405
|
+
except AttributeError:
|
|
406
|
+
# one of the involved entities is a none-entity or an
|
|
407
|
+
# incompatible entity type -> ignore this face!
|
|
408
|
+
break
|
|
409
|
+
coedge = coedge.next_coedge
|
|
410
|
+
if coedge is first_coedge: # a valid closed face
|
|
411
|
+
break
|
|
412
|
+
face = face.next_face
|
|
413
|
+
if m is not None:
|
|
414
|
+
return list(m.transform_vertices(vertices))
|
|
415
|
+
return vertices
|
|
@@ -725,7 +725,7 @@ class PlotStyleFileParser:
|
|
|
725
725
|
return get_mapping()
|
|
726
726
|
else: # it's a simple name=value line
|
|
727
727
|
value: str = line.split("=", 1)[1]
|
|
728
|
-
value = value
|
|
728
|
+
value = sanitized_value(value)
|
|
729
729
|
line_index += 1
|
|
730
730
|
return value
|
|
731
731
|
|
|
@@ -745,6 +745,18 @@ class PlotStyleFileParser:
|
|
|
745
745
|
return self.data.get(name, default)
|
|
746
746
|
|
|
747
747
|
|
|
748
|
+
def sanitized_value(value: str) -> str:
|
|
749
|
+
value = value.strip()
|
|
750
|
+
if value.startswith('"'): # strings: <name>="string
|
|
751
|
+
return value[1:]
|
|
752
|
+
|
|
753
|
+
# remove unknown appendix like this: "0.0076200000000 (+7.Z+"8V?S_LC )"
|
|
754
|
+
# the pattern is "<float|int> (<some data>)", see issue #1069
|
|
755
|
+
if value.endswith(")"):
|
|
756
|
+
return value.split(" ")[0]
|
|
757
|
+
return value
|
|
758
|
+
|
|
759
|
+
|
|
748
760
|
def int2color(color: int) -> tuple[int, int, int, int]:
|
|
749
761
|
"""Convert color integer value from CTB-file to ``(r, g, b, color_type)
|
|
750
762
|
tuple.
|
|
@@ -851,6 +851,8 @@ class UniversalFrontend:
|
|
|
851
851
|
entity, segments=self.config.circle_approximation_count // 2
|
|
852
852
|
)
|
|
853
853
|
for polygon in trace.polygons(): # polygon is a sequence of Vec2()
|
|
854
|
+
if len(polygon) < 3:
|
|
855
|
+
continue
|
|
854
856
|
if transform:
|
|
855
857
|
points = ocs.points_to_wcs(
|
|
856
858
|
Vec3(v.x, v.y, elevation) for v in polygon
|
|
@@ -861,8 +863,9 @@ class UniversalFrontend:
|
|
|
861
863
|
properties.filling = Filling()
|
|
862
864
|
self.pipeline.draw_filled_polygon(points, properties)
|
|
863
865
|
return
|
|
864
|
-
|
|
865
|
-
|
|
866
|
+
polyline_path = make_path(entity)
|
|
867
|
+
if len(polyline_path):
|
|
868
|
+
self.pipeline.draw_path(polyline_path, properties)
|
|
866
869
|
|
|
867
870
|
def draw_composite_entity(self, entity: DXFGraphic, properties: Properties) -> None:
|
|
868
871
|
def draw_insert(insert: Insert):
|
|
@@ -762,7 +762,7 @@ class _SourceCodeGenerator:
|
|
|
762
762
|
add_line(f"e.set_seed_points({entity.seeds})")
|
|
763
763
|
if entity.pattern:
|
|
764
764
|
self.add_list_source_code(
|
|
765
|
-
entity.pattern.lines,
|
|
765
|
+
map(str, entity.pattern.lines),
|
|
766
766
|
prolog="e.set_pattern_definition([",
|
|
767
767
|
epilog="])",
|
|
768
768
|
)
|
|
@@ -131,7 +131,10 @@ def readfile(
|
|
|
131
131
|
infile = Path(filename).absolute()
|
|
132
132
|
if not infile.is_file():
|
|
133
133
|
raise FileNotFoundError(f"No such file: '{infile}'")
|
|
134
|
-
|
|
134
|
+
if isinstance(version, str):
|
|
135
|
+
version = map_version(version)
|
|
136
|
+
else:
|
|
137
|
+
version = _detect_version(filename)
|
|
135
138
|
|
|
136
139
|
with tempfile.TemporaryDirectory(prefix="odafc_") as tmp_dir:
|
|
137
140
|
args = _odafc_arguments(
|
|
@@ -41,6 +41,7 @@ class AuditError(IntEnum):
|
|
|
41
41
|
REMOVED_STANDALONE_ATTRIB_ENTITY = 13
|
|
42
42
|
MISPLACED_ROOT_DICT = 14
|
|
43
43
|
ROOT_DICT_NOT_FOUND = 15
|
|
44
|
+
REMOVED_ENTITY_WITH_INVALID_OWNER_HANDLE = 16
|
|
44
45
|
|
|
45
46
|
UNDEFINED_LINETYPE = 100
|
|
46
47
|
UNDEFINED_DIMENSION_STYLE = 101
|
|
@@ -89,6 +90,7 @@ class AuditError(IntEnum):
|
|
|
89
90
|
INVALID_TRANSPARENCY = 223
|
|
90
91
|
INVALID_CREASE_VALUE_COUNT = 224
|
|
91
92
|
INVALID_ELLIPSE_RATIO = 225
|
|
93
|
+
INVALID_HATCH_BOUNDARY_PATH = 226
|
|
92
94
|
|
|
93
95
|
|
|
94
96
|
REQUIRED_ROOT_DICT_ENTRIES = ("ACAD_GROUP", "ACAD_PLOTSTYLENAME")
|
|
@@ -52,7 +52,6 @@ from ezdxf.lldxf.tagwriter import (
|
|
|
52
52
|
JSONTagWriter,
|
|
53
53
|
)
|
|
54
54
|
from ezdxf.query import EntityQuery
|
|
55
|
-
from ezdxf.protocols import SupportsTemporaryTransformation
|
|
56
55
|
from ezdxf.render.dimension import DimensionRenderer
|
|
57
56
|
from ezdxf.sections.acdsdata import AcDsDataSection, new_acds_data_section
|
|
58
57
|
from ezdxf.sections.blocks import BlocksSection
|
|
@@ -65,6 +64,7 @@ from ezdxf.tools import guid
|
|
|
65
64
|
from ezdxf.tools.codepage import tocodepage, toencoding
|
|
66
65
|
from ezdxf.tools.juliandate import juliandate
|
|
67
66
|
from ezdxf.tools.text import safe_string, MAX_STR_LEN
|
|
67
|
+
from ezdxf import messenger, msgtypes
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
logger = logging.getLogger("ezdxf")
|
|
@@ -111,6 +111,7 @@ def _validate_handle_seed(seed: str) -> str:
|
|
|
111
111
|
class Drawing:
|
|
112
112
|
def __init__(self, dxfversion=DXF2013) -> None:
|
|
113
113
|
self.entitydb = EntityDB()
|
|
114
|
+
self.messenger = messenger.Messenger(self)
|
|
114
115
|
target_dxfversion = dxfversion.upper()
|
|
115
116
|
self._dxfversion: str = const.acad_release_to_dxf_version.get(
|
|
116
117
|
target_dxfversion, target_dxfversion
|
|
@@ -586,8 +587,8 @@ class Drawing:
|
|
|
586
587
|
fmt: "asc" for ASCII DXF (default) or "bin" for binary DXF
|
|
587
588
|
|
|
588
589
|
"""
|
|
589
|
-
# These changes may alter the document content (create new entities, blocks ...)
|
|
590
|
-
# and have to be done before the export and the update of internal structures
|
|
590
|
+
# These changes may alter the document content (create new entities, blocks ...)
|
|
591
|
+
# and have to be done before the export and the update of internal structures
|
|
591
592
|
# can be done.
|
|
592
593
|
self.commit_pending_changes()
|
|
593
594
|
|
|
@@ -647,9 +648,7 @@ class Drawing:
|
|
|
647
648
|
tagwriter.write_tag2(0, "EOF")
|
|
648
649
|
|
|
649
650
|
def commit_pending_changes(self) -> None:
|
|
650
|
-
|
|
651
|
-
for entity in entities:
|
|
652
|
-
entity.commit_pending_changes()
|
|
651
|
+
self.messenger.broadcast(msgtypes.COMMIT_PENDING_CHANGES)
|
|
653
652
|
|
|
654
653
|
def update_all(self) -> None:
|
|
655
654
|
if self.dxfversion > DXF12:
|