ezdxf 1.2.0b3__zip → 1.3.0__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/MANIFEST.in +1 -0
- {ezdxf-1.2.0b3/src/ezdxf.egg-info → ezdxf-1.3.0}/PKG-INFO +38 -8
- ezdxf-1.3.0/integration_tests/test_acis_entites.py +48 -0
- ezdxf-1.3.0/integration_tests/test_xref_load_acis.py +85 -0
- ezdxf-1.3.0/pyproject.toml +91 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/setup.cfg +0 -3
- ezdxf-1.3.0/setup.py +66 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/construct.pyx +73 -2
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/entities.py +16 -42
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/acadctb.py +13 -1
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/browser.py +1 -1
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/frontend.py +102 -54
- ezdxf-1.3.0/src/ezdxf/addons/drawing/json.py +590 -0
- ezdxf-1.2.0b3/src/ezdxf/addons/drawing/designer.py → ezdxf-1.3.0/src/ezdxf/addons/drawing/pipeline.py +405 -234
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/properties.py +39 -27
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dxf2code.py +3 -1
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/geo.py +10 -40
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/commands.py +1 -59
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/document.py +73 -10
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/acad_proxy_entity.py +0 -1
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/acad_table.py +56 -4
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/acis.py +148 -33
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/attrib.py +3 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/block.py +3 -2
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/blockrecord.py +3 -2
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dictionary.py +5 -4
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dimension.py +3 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dimstyle.py +3 -2
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dxfentity.py +12 -8
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dxfgfx.py +5 -4
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dxfobj.py +6 -5
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/idbuffer.py +2 -1
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/image.py +4 -4
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/insert.py +3 -2
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/layer.py +2 -1
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/layout.py +4 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/leader.py +4 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/ltype.py +4 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/lwpolyline.py +5 -5
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/material.py +2 -1
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/mesh.py +4 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/mleader.py +4 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/mline.py +5 -5
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/mtext.py +4 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/polygon.py +4 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/solid.py +5 -5
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/spatial_filter.py +3 -2
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/spline.py +4 -5
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/subentity.py +4 -3
- ezdxf-1.3.0/src/ezdxf/entities/temporary_transform.py +49 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/text.py +3 -2
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/tolerance.py +4 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/underlay.py +4 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/viewport.py +4 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/visualstyle.py +2 -1
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/packedtags.py +75 -97
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/tagger.py +45 -11
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/tagwriter.py +62 -7
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_construct.py +87 -1
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_ctypes.py +7 -0
- ezdxf-1.3.0/src/ezdxf/messenger.py +19 -0
- ezdxf-1.3.0/src/ezdxf/msgtypes.py +9 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/converter.py +3 -3
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/protocols.py +17 -11
- ezdxf-1.3.0/src/ezdxf/revcloud.py +115 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/headervars.py +18 -1
- ezdxf-1.3.0/src/ezdxf/select.py +342 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/clipping_portal.py +48 -73
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/transform.py +100 -5
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/version.py +2 -2
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/xref.py +1 -1
- {ezdxf-1.2.0b3 → ezdxf-1.3.0/src/ezdxf.egg-info}/PKG-INFO +38 -8
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf.egg-info/SOURCES.txt +22 -16
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_005_packed_tags.py +28 -28
- ezdxf-1.3.0/tests/test_00_dxf_low_level_structs/test_058_json_tags.py +73 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_205_solid.py +6 -5
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_220_lwpolyline_2.py +26 -27
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_226_spline.py +11 -9
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_228_mesh.py +1 -1
- ezdxf-1.2.0b3/tests/test_02_dxf_graphics/test_232_acis.py → ezdxf-1.3.0/tests/test_02_dxf_graphics/test_232a_add_acis.py +1 -1
- ezdxf-1.2.0b3/tests/test_02_dxf_graphics/test_232_acis_2.py → ezdxf-1.3.0/tests/test_02_dxf_graphics/test_232b_acis_export.py +33 -12
- ezdxf-1.2.0b3/tests/test_02_dxf_graphics/test_232_surface.py → ezdxf-1.3.0/tests/test_02_dxf_graphics/test_232c_acis_surface.py +1 -1
- ezdxf-1.3.0/tests/test_02_dxf_graphics/test_232d_acis_copy.py +121 -0
- ezdxf-1.3.0/tests/test_02_dxf_graphics/test_232e_acis_transform.py +75 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_531_acis_entities.py +1 -2
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_537_transform.py +13 -4
- ezdxf-1.3.0/tests/test_05_tools/test_541_clipping_portal.py +37 -0
- ezdxf-1.3.0/tests/test_05_tools/test_543_select.py +322 -0
- ezdxf-1.3.0/tests/test_05_tools/test_544_revcloud.py +43 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_613_is_point_in_polygon_2d.py +7 -5
- ezdxf-1.3.0/tests/test_06_math/test_666_wgs84_transform.py +43 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_708b_path_tools.py +2 -2
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_803_entities_to_code.py +8 -5
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_806_acadctb.py +28 -8
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_810_drawing_properties.py +18 -14
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_811a_drawing_frontend.py +57 -26
- ezdxf-1.3.0/tests/test_08_addons/test_826_custom_json_backend.py +98 -0
- ezdxf-1.3.0/tests/test_08_addons/test_827_geojson_backend.py +98 -0
- ezdxf-1.2.0b3/setup.py +0 -186
- ezdxf-1.2.0b3/src/ezdxf/pp/__init__.py +0 -4
- ezdxf-1.2.0b3/src/ezdxf/pp/dxfpp.css +0 -181
- ezdxf-1.2.0b3/src/ezdxf/pp/dxfpp.html +0 -30
- ezdxf-1.2.0b3/src/ezdxf/pp/dxfpp.js +0 -172
- ezdxf-1.2.0b3/src/ezdxf/pp/dxfpp.py +0 -460
- ezdxf-1.2.0b3/src/ezdxf/pp/pprint.py +0 -123
- ezdxf-1.2.0b3/src/ezdxf/pp/rawpp.css +0 -53
- ezdxf-1.2.0b3/src/ezdxf/pp/rawpp.html +0 -17
- ezdxf-1.2.0b3/src/ezdxf/pp/rawpp.py +0 -67
- ezdxf-1.2.0b3/tests/test_05_tools/test_507_dxf_pretty_printer.py +0 -21
- ezdxf-1.2.0b3/tests/test_05_tools/test_541_clipping_portal.py +0 -85
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/LICENSE +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/README.md +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/check_disable_c_ext_by_config_file.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/check_disable_c_ext_by_env_var.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/conftest.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/AC1003_LINE_Example.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/ASCII_R12.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/Leica_Disto_S910.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/MODEL.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/PLOTFILE.plt +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/POLI-ALL210_12.DXF +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/R12_with_trash_beyond_EOF.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/XRECORD_0.bin +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/XRECORD_1.bin +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/XRECORD_2.bin +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/acad_table_with_blk_ref.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/bin_dxf_r12.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/bin_dxf_r13.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/bin_dxf_r14.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/bin_dxf_r2000.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/cc_dxflib.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/custom_blocks.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/duplicate_handles.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/dxf_unicode.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/dynblks.zip +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/empty_handles.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/groups.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/layout_broken_links.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/layout_broken_links_2.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/layout_missing_block_definition.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/layout_missing_block_record.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/mtext_columns_R2007.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/mtext_columns_R2018.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/mtext_framed_columns.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/mtext_text_frame.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/no_layouts.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/recover01.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/recover02.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/small_r13.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/data/small_r14.dxf +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_acad_table.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_all_dimline_styles.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_all_ellipse_transformations.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_anonymous_blocks.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_appsettings.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_audit_critical_dxf_files.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_audit_layouts.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_complex_line_type_2.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_create_basic_graphics.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_document_guid.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_document_page_setup.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_dxf_info_scanning.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_dynblkhelper.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_entities_iterator.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_fix_dulicate_handles.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_geo.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_groups.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_hpgl2_addon.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_ignore_junk_beyond_EOF.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_launcher.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_leica_disto_r12.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_load_dxf_unicode_notation.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_mapbox_earcut.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_mtext_columns.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_mtext_explode_addon.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_mtext_text_frame.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_new_table_entries.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_none_ascii_read_write.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_odafc.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_open_R13_R14.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_open_binary_DXF_files.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_open_coord_order_issue.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_open_exotic_dxf_files.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_polyline_entity.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_preserve_binary_data_in_xrecords.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_r12export.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_r12strict.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_r12writer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_read_file_without_handles.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_read_write_modern_entites.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_recover.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_redraw_order.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_rotated_block_attributes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_surface_entities.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_write_fixed_meta_data.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_write_without_handles.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/integration_tests/test_xref_detach.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/requirements.txt +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/__main__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/_options.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/bezier3p.pyx +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/bezier4p.pyx +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/bspline.pyx +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/constants.h +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/linetypes.pyx +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/mapbox_earcut.pyx +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/matrix44.pxd +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/matrix44.pyx +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/np_support.pyx +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/vector.pxd +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acc/vector.pyx +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/abstract.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/api.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/const.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/dbg.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/dxf.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/hdr.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/mesh.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/sab.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/acis/sat.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/acisbrowser/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/acisbrowser/browser.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/acisbrowser/data.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/binpacking.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/bookmarks.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/data.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/find_dialog.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/loader.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/model.py +0 -0
- {ezdxf-1.2.0b3/src/ezdxf/pp → ezdxf-1.3.0/src/ezdxf/addons/browser}/reflinks.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/tags.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/browser/views.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dimlines.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/backend.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/config.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/debug_backend.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/debug_utils.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/dxf.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/file_output.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/gfxproxy.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/hpgl2.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/layout.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/matplotlib.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/mtext_complex.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/pymupdf.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/pyqt.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/qtviewer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/recorder.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/svg.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/text.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/text_renderer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/type_hints.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/drawing/unified_text_renderer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/classes_section.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/const.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/crc.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/fileheader.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/header_section.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/dwg/loader.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/genetic_algorithm.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/gerber_D6673.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/api.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/backend.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/deps.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/interpreter.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/page.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/plotter.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/polygon_buffer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/properties.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/tokenizer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/hpgl2/viewer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/importer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/iterdxf.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/menger_sponge.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/meshex.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/mixins.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/mtextsurrogate.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/mtxpl.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/odafc.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/openscad.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/pycsg.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/r12export.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/r12writer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/sierpinski_pyramid.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/tablepainter.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/text2path.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/xplayer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/addons/xqt.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/appsettings.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/audit.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/bbox.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/blkrefs.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/colors.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/comments.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/disassemble.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/dwginfo.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/dynblkhelper.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/acad_xrec_roundtrip.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/appdata.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/appid.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/arc.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/boundary_paths.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/circle.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/copy.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dimstyleoverride.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dxfclass.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dxfgroups.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/dxfns.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/ellipse.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/factory.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/geodata.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/gradient.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/hatch.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/helix.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/light.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/line.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/mpolygon.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/mtext_columns.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/objectcollection.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/oleframe.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/pattern.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/point.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/polyline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/shape.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/sun.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/table.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/textstyle.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/ucs.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/view.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/vport.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/xdata.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/xdict.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entities/xline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/entitydb.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/enums.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/explode.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/eztypes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/filemanagement.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/font_face.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/font_manager.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/font_measurements.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/font_synonyms.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/fonts.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/glyphs.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/lff.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/shapefile.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/fonts/ttfonts.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/gfxattribs.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/graphicsfactory.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/groupby.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/layouts/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/layouts/base.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/layouts/blocklayout.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/layouts/layout.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/layouts/layouts.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/attributes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/const.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/encoding.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/extendedtags.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/fileindex.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/hdrvars.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/loader.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/repair.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/tags.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/types.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/lldxf/validator.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_bezier3p.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_bezier4p.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_bspline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_mapbox_earcut.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_matrix44.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/_vector.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/arc.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/bbox.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/bezier.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/bezier_interpolation.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/box.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/bspline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/bulge.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/circle.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/clipping.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/clustering.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/construct2d.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/construct3d.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/cspline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/curvetools.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/ellipse.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/eulerspiral.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/legacy.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/linalg.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/line.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/offset2d.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/parametrize.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/perlin.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/polyline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/rtree.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/shape.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/transformtools.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/triangulation.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/math/ucs.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/npshapes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/commands.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/nesting.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/path.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/shapes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/path/tools.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/proxygraphic.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/py.typed +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/query.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/queryparser.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/r12strict.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/recover.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/_linetypes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/abstract_mtext_renderer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/arrows.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/curves.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dim_base.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dim_curved.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dim_diameter.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dim_linear.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dim_ordinate.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dim_radius.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/dimension.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/forms.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/hatching.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/leader.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/linetypes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/mesh.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/mleader.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/mline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/point.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/polyline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/r12spline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/render/trace.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/reorder.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/16x16.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/24x24.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/256x256.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/32x32.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/48x48.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/64x64.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-copy-64px.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-find-64px.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-goto-bookmark-64px.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-goto-handle-64px.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-goto-line-64px.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-left-arrow-64px.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-next-entity-64px.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-prev-entity-64px.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-right-arrow-64px.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-show-in-tree-64px.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/resources/icon-store-bookmark-64px.png +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/acdsdata.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/blocks.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/classes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/entities.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/header.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/objects.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/table.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/sections/tables.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/__init__.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/_iso_pattern.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/analyze.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/binarydata.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/codepage.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/complex_ltype.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/crypt.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/debug.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/difftags.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/handle.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/indexing.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/juliandate.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/pattern.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/rawloader.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/standards.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/strip.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/test.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/text.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/text_layout.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/text_size.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/tools/zipmanager.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/units.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/upright.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/urecord.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/xclip.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf/zoom.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf.egg-info/dependency_links.txt +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf.egg-info/entry_points.txt +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf.egg-info/not-zip-safe +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf.egg-info/requires.txt +10 -10
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/src/ezdxf.egg-info/top_level.txt +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/conftest.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_001_dxf_types.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_002_dxf_vertex.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_003_dxf_binary_tag.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_004_dxf_value.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_010_binary_data.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_011_codepage.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_012_crypt.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_013_juliandate.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_014_multi_tags_text.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_015_entity_structure_validator.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_016_encoding.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_018_handle.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_019_complex_line_type.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_020_validators_and_fixer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_021_fix_line_coordinates.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_022_set_flag_state.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_023_fix_invalid_located_group_codes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_024_render_tag.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_040_tags.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_041_group_tags.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_042_tags_loader.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_043_filter_invalid_point_codes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_050_extended_tags.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_051_load_dxf_structure.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_052_tag_writer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_053_embedded_object_tags.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_054_dxfattr.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_055_recover_loader.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_056_special_string_decoding.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_00_dxf_low_level_structs/test_057_group_code_mapping.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_101_dxfnamespace.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_102_appdata.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_103_reactors.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_104_extension_dict.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_105_xdata.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_110_dxfentity.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_111_unknown_dxf_entity.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_112a_dxfgfx.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_112b_dxfobj.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_113_dxfclass.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_114_factory.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_115_new_empty_drawing.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_116_dictionary.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_117_layer_table_entry.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_118_appid_table_entry.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_119_ucs_table_entry.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_120_style_table_entry.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_121_ltype_table_entry.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_122_vport_table_entry.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_123_view_table_entry.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_124_dimstyle_table_entry.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_125_image_def.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_126_image_def_reactor.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_127_raster_variables.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_128_pdf_definition.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_129_xrecord.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_130_id_buffer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_131_field_list.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_132_layer_filter.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_133_sun.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_134_material.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_135_geo_data.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_136_vba_project.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_137_sortentstable.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_138_setup_visual_styles.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_139_user_record.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_140_block_record.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_141_layer_vp_override.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_142_copy_strategy.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_143_spatial_filter.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_01_dxf_entities/test_144_roundtrip_xrecord.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/conftest.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_200_line.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_201_point.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_202_circle.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_203_arc.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_204_shape.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_206_text.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_207_attdef.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_208_attrib.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_209_vertex.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_210_polyline_1.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_210_polyline_2.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_210_polyline_explode.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_210_polyline_vertex_attributes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_211_viewport.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_212_insert.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_213_minsert.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_214_block.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_215_dimension.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_216_dimlines_R12.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_217_dimlines_R2000.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_218_poly_line_mesh_face.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_219_dxf_r2000_generics.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_220_lwpolyline_1.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_220_lwpolyline_3.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_220_lwpolyline_explode.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_221_ellipse.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_222_xline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_223_ray.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_224_group.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_225_mtext.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_226_spline_with_linear_segments.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_227_mesh_packed_data.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_229a_hatch_dxf_interface.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_229b_hatch_extended.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_229c_hatch_transformations.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_230a_image_as_virtual_entity.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_230b_image_in_layout_context.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_231_underlay.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_231_underlay_2.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_233_helix.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_234_light.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_235_leader.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_236_multileader.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_237_mline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_238_tolerance.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_239_proxy_graphic.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_240_arc_dimension.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_241_hyperlink.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_242_random_transform.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_243_replace_entity.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_244_large_radial_dimension.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_245_wipeout.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_246_spline_audit.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_247_mtext_columns_R2018.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_248_mpolygon.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_248_mtext_linked_columns_R2000_to_R2013.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_249_boundary_paths.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_250_virtual_boundary_path_entities.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_251_upright.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_252_acad_proxy_entity.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_253_ole2frame.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_02_dxf_graphics/test_254_get_font_name.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_300_layout.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_301_add_gfx_to_layout.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_302_block_references.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_303_auto_block_references.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_304_new_entity_space.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_305_copy_and_move_entity_to_layout.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_306_copy_linked_entities.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_307_groupby.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_308_query.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_309_query_parser.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_311_add_foreign_entity.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_312_virtual_layout.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_03_dxf_layouts/test_313_redraw_order.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_401_headersection.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_402_classessection.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_403_entity_database.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_404a_tables.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_404b_object_collections.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_405_classes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_406_blocks_section.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_407_entity_section.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_408_objects_section.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_409_create_objects.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_410_table.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_411_acds_data.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_412_rename_layer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_413_dxfgroups.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_414_block_reference_content.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_415_layout_management.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_416a_disassemble.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_416b_recursive_decompose.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_417_bbox.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_418_copy_entities.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_420_load_dxf_file.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_421_new_drawings.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_422_drawing_object.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_423_read_proe_r2004.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_424_audit.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_425_limits_and_extents.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_426_ezdxf_metadata.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_427_appsettings.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_428_r12_name_translator.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_04_dxf_high_level_structs/test_429_xclip.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/conftest.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_500_units.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_501_truecolor.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_502_raw_color.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_503_indexing.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_504_suppress_zeros.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_506_version.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_508_read_zip.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_509_comments.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_510_byte_stream.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_511_bit_stream.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_512_pattern.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_513_reorder_entities.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_514_text.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_515a_fonts_truetype.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_515b_fonts_shapefiles.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_515c_fonts_lff.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_516_zoom.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_517_text_layout.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_518_header_guid.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_519_mtext_editor.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_520_mtext_context.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_521_mtext_parser.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_522_text_scanner.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_523_text_size.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_524_block_reference_manager.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_525_transparency.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_526_explode.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_527_gfxattribs.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_528_difftags.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_529_acis_sat.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_530_acis_sab.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_532_acis_mesh.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_533_shapefiles.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_534_dwg_info.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_535_xref_basic.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_536_xref_conflict.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_538_scale_mtext_inline_commands.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_539_npshapes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_540_lff_parser.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_05_tools/test_542_itertools.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/conftest.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_600_base.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_601_bulge.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_602_vec3.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_603_vec2.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_604_banded_matrix.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_604_linalg.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_605_matrix44.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_606_convexhull.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_607_perlin_noise.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_608_intersection_line_line_2d.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_609_point_on_line.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_610_ocs.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_611_ucs.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_612_ucs_pass_trough.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_614_construct_3d.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_615_rytz_axis.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_616_plane.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_617_clockwise_orientation.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_618_clipping.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_619_greiner_hormann.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_620_knot.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_621_bspline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_622_bsplineu.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_623_rbspline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_624_global_bspline_interpolation.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_626_local_bspline_interpolation.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_627_bspline_basis.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_629_bezier.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_630a_bezier4p_base.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_630b_bezier4p_functions.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_631_euler_spiral.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_632_bezier3p.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_640_bbox.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_641_construction_ray.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_642_construction_line.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_643_construction_box.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_644_construction_circle.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_645_construction_arc.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_646_offset_vertices_2d.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_647_transform_tools.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_648_construction_ellipse.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_650_elliptic_arc_span.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_651_construction_polyline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_652_approx_param_t.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_653_polyline_intersection.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_654_rtree.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_655_dbscan.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_656_k_means.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_657_mapbox_earcut.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_658_bevel_tools.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_659_intersection_line_polygon_3d.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_660_intersection_ray_polygon_3d.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_661_is_face_normal_pointing_outwards.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_662_is_convex_polygon_2d.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_663_is_axes_aligned_rectange.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_664_concave_clipping_polygon.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_06_math/test_665_inverted_clipping_polygon.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_701_arrows.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_702_render_forms.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_703_mesh_builder.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_704_render_linear_dimension.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_705_shape.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_706_random_path.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_707_trace.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_708a_path.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_708c_matplotlib_path_tools.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_708d_qpainter_path_tools.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_708e_path_shapes.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_708f_path_nesting.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_709_linetype_renderer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_711_points.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_712_render_curved_dimension.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_713_mleader_builder.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_714_mleader_render_engine.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_715_hatching.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_07_render/test_715_issue_747_explode_3d_dim.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_800_mtext_surrogate.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_801_r12spline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_802_table_painter.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_804_importer.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_805_pycsg.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_807_dwg_loader_basics.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_811b_drawing_recorder.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_811c_viewport_processing.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_812_drawing_graphic_proxy.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_813_geo_interface.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_814_text2path.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_815_dxf_browser.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_816_bin_packing.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_817_genetic_algorithm.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_818_meshex.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_819_menger_sponge.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_820_openscad.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_821_hpgl2.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_821_hpgl2_polygon_encoded.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_823_drawing_layout.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_824_svg_drawing_backend.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_08_addons/test_825_hpgl2_drawing_backend.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_09_cython_acceleration/test_901_acc_vec2.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_09_cython_acceleration/test_902_acc_vec3.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_09_cython_acceleration/test_903_acc_matrix44.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_09_cython_acceleration/test_904_acc_bezier4p.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_09_cython_acceleration/test_905_acc_bezier3p.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_09_cython_acceleration/test_906_acc_bspline.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_10_issues/test_issue_414_bbox_calculation.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_10_issues/test_issue_557_reload_dimension_text_style.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_10_issues/test_issue_574_flattening_error.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_10_issues/test_issue_589_incorrect_virtual_face3d.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_10_issues/test_issue_749_text_layout.py +0 -0
- {ezdxf-1.2.0b3 → ezdxf-1.3.0}/tests/test_10_issues/test_issue_873_circle_inverted_normal.py +0 -0
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ezdxf
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: A Python package to create/manipulate DXF drawings.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
Author-email: Manfred Moitzi <me@mozman.at>
|
|
6
|
+
Project-URL: Repository, https://github.com/mozman/ezdxf
|
|
7
|
+
Project-URL: Documentation, https://ezdxf.readthedocs.io
|
|
8
|
+
Project-URL: Changelog, https://ezdxf.mozman.at/notes/#/page/changelog
|
|
9
|
+
Project-URL: Forum, https://github.com/mozman/ezdxf/discussions
|
|
10
|
+
Project-URL: Issues, https://github.com/mozman/ezdxf/issues
|
|
11
|
+
Project-URL: Website, https://ezdxf.mozman.at
|
|
12
|
+
Project-URL: Download, https://pypi.org/project/ezdxf
|
|
10
13
|
Keywords: DXF,CAD
|
|
11
|
-
Platform: OS Independent
|
|
12
14
|
Classifier: Development Status :: 5 - Production/Stable
|
|
13
15
|
Classifier: License :: OSI Approved :: MIT License
|
|
14
16
|
Classifier: Operating System :: OS Independent
|
|
@@ -25,11 +27,39 @@ Classifier: Typing :: Typed
|
|
|
25
27
|
Provides: ezdxf
|
|
26
28
|
Requires-Python: >=3.9
|
|
27
29
|
Description-Content-Type: text/markdown
|
|
30
|
+
License-File: LICENSE
|
|
31
|
+
Requires-Dist: pyparsing>=2.0.1
|
|
32
|
+
Requires-Dist: typing_extensions>=4.6.0
|
|
33
|
+
Requires-Dist: numpy
|
|
34
|
+
Requires-Dist: fonttools
|
|
28
35
|
Provides-Extra: draw
|
|
36
|
+
Requires-Dist: PySide6; extra == "draw"
|
|
37
|
+
Requires-Dist: matplotlib; extra == "draw"
|
|
38
|
+
Requires-Dist: PyMuPDF>=1.20.0; extra == "draw"
|
|
39
|
+
Requires-Dist: Pillow; extra == "draw"
|
|
29
40
|
Provides-Extra: draw5
|
|
41
|
+
Requires-Dist: PyQt5; extra == "draw5"
|
|
42
|
+
Requires-Dist: matplotlib; extra == "draw5"
|
|
43
|
+
Requires-Dist: PyMuPDF>=1.20.0; extra == "draw5"
|
|
44
|
+
Requires-Dist: Pillow; extra == "draw5"
|
|
30
45
|
Provides-Extra: dev
|
|
46
|
+
Requires-Dist: PySide6; extra == "dev"
|
|
47
|
+
Requires-Dist: setuptools; extra == "dev"
|
|
48
|
+
Requires-Dist: wheel; extra == "dev"
|
|
49
|
+
Requires-Dist: Cython; extra == "dev"
|
|
50
|
+
Requires-Dist: pytest; extra == "dev"
|
|
51
|
+
Requires-Dist: Pillow; extra == "dev"
|
|
52
|
+
Requires-Dist: matplotlib; extra == "dev"
|
|
53
|
+
Requires-Dist: PyMuPDF>=1.20.0; extra == "dev"
|
|
31
54
|
Provides-Extra: dev5
|
|
32
|
-
|
|
55
|
+
Requires-Dist: PyQt5; extra == "dev5"
|
|
56
|
+
Requires-Dist: setuptools; extra == "dev5"
|
|
57
|
+
Requires-Dist: wheel; extra == "dev5"
|
|
58
|
+
Requires-Dist: Cython; extra == "dev5"
|
|
59
|
+
Requires-Dist: pytest; extra == "dev5"
|
|
60
|
+
Requires-Dist: Pillow; extra == "dev5"
|
|
61
|
+
Requires-Dist: matplotlib; extra == "dev5"
|
|
62
|
+
Requires-Dist: PyMuPDF>=1.20.0; extra == "dev5"
|
|
33
63
|
|
|
34
64
|
|
|
35
65
|
# ezdxf
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Copyright (c) 2024, Manfred Moitzi
|
|
2
|
+
# License: MIT License
|
|
3
|
+
import pytest
|
|
4
|
+
import ezdxf
|
|
5
|
+
|
|
6
|
+
from ezdxf.document import Drawing
|
|
7
|
+
from ezdxf.math import Matrix44
|
|
8
|
+
from ezdxf.render.forms import cube
|
|
9
|
+
from ezdxf.acis.api import body_from_mesh, export_sab
|
|
10
|
+
|
|
11
|
+
FILENAME = "3dsolid.dxf"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@pytest.fixture
|
|
15
|
+
def doc():
|
|
16
|
+
acis_body = body_from_mesh(cube())
|
|
17
|
+
_doc = ezdxf.new()
|
|
18
|
+
msp = _doc.modelspace()
|
|
19
|
+
dxf_3dsolid = msp.add_3dsolid()
|
|
20
|
+
dxf_3dsolid.sab = export_sab([acis_body])
|
|
21
|
+
dxf_3dsolid.transform(Matrix44.translate(10, 11, 12))
|
|
22
|
+
return _doc
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def test_apply_transformations_to_acis_entities(doc: Drawing):
|
|
26
|
+
# this is done automatically when exporting the DXF document
|
|
27
|
+
try:
|
|
28
|
+
doc.commit_pending_changes()
|
|
29
|
+
except Exception as e:
|
|
30
|
+
pytest.fail(f"commit_pending_changes() raises unexpected exception: {str(e)}")
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def test_export_and_reload_transformed_acis_entities(tmp_path, doc: Drawing):
|
|
34
|
+
file_path = tmp_path / FILENAME
|
|
35
|
+
doc.saveas(file_path)
|
|
36
|
+
del doc
|
|
37
|
+
|
|
38
|
+
doc2 = ezdxf.readfile(file_path)
|
|
39
|
+
# Do not test the current implementation, this may change in the future:
|
|
40
|
+
solids = doc2.query("3DSOLID")
|
|
41
|
+
assert len(solids) == 1
|
|
42
|
+
|
|
43
|
+
dxf_3dsolid = solids[0]
|
|
44
|
+
assert len(dxf_3dsolid.sab) > 16
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
if __name__ == "__main__":
|
|
48
|
+
pytest.main([__file__])
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Copyright (c) 2024, Manfred Moitzi
|
|
2
|
+
# License: MIT License
|
|
3
|
+
import pytest
|
|
4
|
+
|
|
5
|
+
import ezdxf
|
|
6
|
+
import ezdxf.xref
|
|
7
|
+
from ezdxf.document import Drawing
|
|
8
|
+
from ezdxf.entities import Solid3d
|
|
9
|
+
from ezdxf.render import forms
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def source_doc_R2007() -> Drawing:
|
|
13
|
+
doc = ezdxf.new("R2007")
|
|
14
|
+
msp = doc.modelspace()
|
|
15
|
+
forms.cube().render_3dsolid(msp)
|
|
16
|
+
return doc
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def source_doc_R2013() -> Drawing:
|
|
20
|
+
doc = ezdxf.new("R2013")
|
|
21
|
+
msp = doc.modelspace()
|
|
22
|
+
forms.cube().render_3dsolid(msp)
|
|
23
|
+
return doc
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def test_load_acis_from_R2007():
|
|
27
|
+
target_doc = ezdxf.new("R2007")
|
|
28
|
+
source_doc = source_doc_R2007()
|
|
29
|
+
source_msp = source_doc.modelspace()
|
|
30
|
+
source_cube = source_msp[0]
|
|
31
|
+
assert isinstance(source_cube, Solid3d)
|
|
32
|
+
|
|
33
|
+
ezdxf.xref.load_modelspace(source_doc, target_doc)
|
|
34
|
+
|
|
35
|
+
target_msp = target_doc.modelspace()
|
|
36
|
+
loaded_cube = target_msp[0]
|
|
37
|
+
assert isinstance(loaded_cube, Solid3d)
|
|
38
|
+
assert loaded_cube.sat == source_cube.sat
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def test_load_acis_from_R2013():
|
|
42
|
+
target_doc = ezdxf.new("R2013")
|
|
43
|
+
source_doc = source_doc_R2013()
|
|
44
|
+
source_msp = source_doc.modelspace()
|
|
45
|
+
source_cube = source_msp[0]
|
|
46
|
+
assert isinstance(source_cube, Solid3d)
|
|
47
|
+
|
|
48
|
+
ezdxf.xref.load_modelspace(source_doc, target_doc)
|
|
49
|
+
|
|
50
|
+
target_msp = target_doc.modelspace()
|
|
51
|
+
loaded_cube = target_msp[0]
|
|
52
|
+
assert isinstance(loaded_cube, Solid3d)
|
|
53
|
+
sab = loaded_cube.sab
|
|
54
|
+
assert len(sab) > 1
|
|
55
|
+
assert sab == source_cube.sab
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def test_load_acis_from_2007_into_2013():
|
|
59
|
+
target_doc = ezdxf.new("R2013") # SAB
|
|
60
|
+
|
|
61
|
+
source_doc = source_doc_R2007()
|
|
62
|
+
ezdxf.xref.load_modelspace(source_doc, target_doc)
|
|
63
|
+
|
|
64
|
+
target_msp = target_doc.modelspace()
|
|
65
|
+
loaded_cube = target_msp[0]
|
|
66
|
+
assert isinstance(loaded_cube, Solid3d)
|
|
67
|
+
assert len(loaded_cube.sat) == 0, "SAT data removed"
|
|
68
|
+
assert len(loaded_cube.sab) == 0
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def test_load_acis_from_2013_into_2007():
|
|
72
|
+
target_doc = ezdxf.new("R2007") # SAT
|
|
73
|
+
|
|
74
|
+
source_doc = source_doc_R2013()
|
|
75
|
+
ezdxf.xref.load_modelspace(source_doc, target_doc)
|
|
76
|
+
|
|
77
|
+
target_msp = target_doc.modelspace()
|
|
78
|
+
loaded_cube = target_msp[0]
|
|
79
|
+
assert isinstance(loaded_cube, Solid3d)
|
|
80
|
+
assert len(loaded_cube.sat) == 0
|
|
81
|
+
assert len(loaded_cube.sab) == 0, "SAB data removed"
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
if __name__ == "__main__":
|
|
85
|
+
pytest.main([__file__])
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Documentation:
|
|
2
|
+
# https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
|
|
3
|
+
# https://setuptools.pypa.io/en/latest/index.html
|
|
4
|
+
|
|
5
|
+
[build-system]
|
|
6
|
+
requires = ["setuptools", "wheel", "cython"]
|
|
7
|
+
build-backend = "setuptools.build_meta"
|
|
8
|
+
|
|
9
|
+
[tool.setuptools]
|
|
10
|
+
package-dir = {"" = "src"}
|
|
11
|
+
zip-safe = false
|
|
12
|
+
provides = ["ezdxf"]
|
|
13
|
+
|
|
14
|
+
[tool.setuptools.packages.find]
|
|
15
|
+
where = ["src"]
|
|
16
|
+
namespaces = false
|
|
17
|
+
|
|
18
|
+
[project]
|
|
19
|
+
name = "ezdxf"
|
|
20
|
+
dynamic = ["version"]
|
|
21
|
+
description = "A Python package to create/manipulate DXF drawings."
|
|
22
|
+
authors = [
|
|
23
|
+
{name = "Manfred Moitzi", email = "me@mozman.at"},
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
readme = {file = "README.md", content-type = "text/markdown"}
|
|
27
|
+
requires-python = ">= 3.9"
|
|
28
|
+
dependencies=[
|
|
29
|
+
"pyparsing>=2.0.1",
|
|
30
|
+
"typing_extensions>=4.6.0",
|
|
31
|
+
"numpy",
|
|
32
|
+
"fonttools",
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
keywords = ["DXF", "CAD"]
|
|
36
|
+
license = {file = "LICENCE"}
|
|
37
|
+
|
|
38
|
+
# full list of classifiers: https://pypi.org/classifiers/
|
|
39
|
+
classifiers=[
|
|
40
|
+
"Development Status :: 5 - Production/Stable",
|
|
41
|
+
"License :: OSI Approved :: MIT License",
|
|
42
|
+
"Operating System :: OS Independent",
|
|
43
|
+
"Programming Language :: Python :: 3",
|
|
44
|
+
"Programming Language :: Python :: 3.9",
|
|
45
|
+
"Programming Language :: Python :: 3.10",
|
|
46
|
+
"Programming Language :: Python :: 3.11",
|
|
47
|
+
"Programming Language :: Python :: 3.12",
|
|
48
|
+
"Programming Language :: Python :: Implementation :: CPython",
|
|
49
|
+
"Programming Language :: Python :: Implementation :: PyPy",
|
|
50
|
+
"Intended Audience :: Developers",
|
|
51
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
52
|
+
"Typing :: Typed",
|
|
53
|
+
]
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
[project.optional-dependencies]
|
|
57
|
+
# use PyQt5 (draw5/dev5) only when PySide6 is not available
|
|
58
|
+
draw = ["PySide6", "matplotlib", "PyMuPDF>=1.20.0", "Pillow"]
|
|
59
|
+
draw5 = ["PyQt5", "matplotlib", "PyMuPDF>=1.20.0", "Pillow"]
|
|
60
|
+
dev = [
|
|
61
|
+
"PySide6",
|
|
62
|
+
"setuptools",
|
|
63
|
+
"wheel",
|
|
64
|
+
"Cython",
|
|
65
|
+
"pytest",
|
|
66
|
+
"Pillow",
|
|
67
|
+
"matplotlib",
|
|
68
|
+
"PyMuPDF>=1.20.0",
|
|
69
|
+
]
|
|
70
|
+
dev5 = [
|
|
71
|
+
"PyQt5",
|
|
72
|
+
"setuptools",
|
|
73
|
+
"wheel",
|
|
74
|
+
"Cython",
|
|
75
|
+
"pytest",
|
|
76
|
+
"Pillow",
|
|
77
|
+
"matplotlib",
|
|
78
|
+
"PyMuPDF>=1.20.0"
|
|
79
|
+
]
|
|
80
|
+
|
|
81
|
+
[project.scripts]
|
|
82
|
+
ezdxf = "ezdxf.__main__:main"
|
|
83
|
+
|
|
84
|
+
[project.urls]
|
|
85
|
+
Repository = "https://github.com/mozman/ezdxf"
|
|
86
|
+
Documentation = "https://ezdxf.readthedocs.io"
|
|
87
|
+
Changelog = "https://ezdxf.mozman.at/notes/#/page/changelog"
|
|
88
|
+
Forum = "https://github.com/mozman/ezdxf/discussions"
|
|
89
|
+
Issues = "https://github.com/mozman/ezdxf/issues"
|
|
90
|
+
Website = "https://ezdxf.mozman.at"
|
|
91
|
+
Download = "https://pypi.org/project/ezdxf"
|
ezdxf-1.3.0/setup.py
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# Copyright (c) 2011-2024 Manfred Moitzi
|
|
3
|
+
# License: MIT License
|
|
4
|
+
import sys
|
|
5
|
+
from setuptools import setup
|
|
6
|
+
from setuptools import Extension
|
|
7
|
+
|
|
8
|
+
# setuptools docs: https://setuptools.pypa.io/en/latest/index.html
|
|
9
|
+
# build source distribution
|
|
10
|
+
#
|
|
11
|
+
# python setup.py sdist --formats=zip,gztar
|
|
12
|
+
#
|
|
13
|
+
# build wheels:
|
|
14
|
+
#
|
|
15
|
+
# python setup.py bdist_wheel
|
|
16
|
+
#
|
|
17
|
+
# All Cython modules are optional:
|
|
18
|
+
ext_modules = [
|
|
19
|
+
Extension("ezdxf.acc.vector", ["src/ezdxf/acc/vector.pyx"], optional=True),
|
|
20
|
+
Extension("ezdxf.acc.matrix44", ["src/ezdxf/acc/matrix44.pyx"], optional=True),
|
|
21
|
+
Extension("ezdxf.acc.bezier4p", ["src/ezdxf/acc/bezier4p.pyx"], optional=True),
|
|
22
|
+
Extension("ezdxf.acc.bezier3p", ["src/ezdxf/acc/bezier3p.pyx"], optional=True),
|
|
23
|
+
Extension("ezdxf.acc.bspline", ["src/ezdxf/acc/bspline.pyx"], optional=True),
|
|
24
|
+
Extension("ezdxf.acc.construct", ["src/ezdxf/acc/construct.pyx"], optional=True),
|
|
25
|
+
Extension(
|
|
26
|
+
"ezdxf.acc.mapbox_earcut", ["src/ezdxf/acc/mapbox_earcut.pyx"], optional=True
|
|
27
|
+
),
|
|
28
|
+
Extension("ezdxf.acc.linetypes", ["src/ezdxf/acc/linetypes.pyx"], optional=True),
|
|
29
|
+
Extension("ezdxf.acc.np_support", ["src/ezdxf/acc/np_support.pyx"], optional=True),
|
|
30
|
+
]
|
|
31
|
+
commands = {}
|
|
32
|
+
try:
|
|
33
|
+
from Cython.Distutils import build_ext
|
|
34
|
+
|
|
35
|
+
commands = {"build_ext": build_ext}
|
|
36
|
+
except ImportError:
|
|
37
|
+
ext_modules = []
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
PYPY = hasattr(sys, "pypy_version_info")
|
|
41
|
+
if PYPY:
|
|
42
|
+
print(
|
|
43
|
+
"C-extensions are disabled for pypy, because JIT compiled Python code "
|
|
44
|
+
"is much faster!"
|
|
45
|
+
)
|
|
46
|
+
ext_modules = []
|
|
47
|
+
commands = {}
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def get_version() -> str:
|
|
51
|
+
v = {}
|
|
52
|
+
for line in open("./src/ezdxf/version.py").readlines():
|
|
53
|
+
if line.strip().startswith("__version__"):
|
|
54
|
+
exec(line, v)
|
|
55
|
+
return v["__version__"]
|
|
56
|
+
raise IOError("__version__ string not found")
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
# static attributes are stored in pyproject.toml
|
|
60
|
+
# https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
|
|
61
|
+
# https://setuptools.pypa.io/en/latest/index.html
|
|
62
|
+
setup(
|
|
63
|
+
version=get_version(),
|
|
64
|
+
cmdclass=commands,
|
|
65
|
+
ext_modules=ext_modules,
|
|
66
|
+
)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Copyright (c) 2020-2024, Manfred Moitzi
|
|
3
3
|
# License: MIT License
|
|
4
4
|
from typing import Iterable, TYPE_CHECKING, Sequence, Optional
|
|
5
|
-
from libc.math cimport fabs
|
|
5
|
+
from libc.math cimport fabs, M_PI, M_PI_2, M_PI_4, M_E, sin, tan, pow, atan, log
|
|
6
6
|
from .vector cimport (
|
|
7
7
|
isclose,
|
|
8
8
|
Vec2,
|
|
@@ -285,4 +285,75 @@ def is_point_in_polygon_2d(
|
|
|
285
285
|
return 1 # inside polygon
|
|
286
286
|
else:
|
|
287
287
|
return -1 # outside polygon
|
|
288
|
-
|
|
288
|
+
|
|
289
|
+
cdef double WGS84_SEMI_MAJOR_AXIS = 6378137
|
|
290
|
+
cdef double WGS84_SEMI_MINOR_AXIS = 6356752.3142
|
|
291
|
+
cdef double WGS84_ELLIPSOID_ECCENTRIC = 0.08181919092890624
|
|
292
|
+
cdef double RADIANS = M_PI / 180.0
|
|
293
|
+
cdef double DEGREES = 180.0 / M_PI
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
def gps_to_world_mercator(double longitude, double latitude) -> tuple[float, float]:
|
|
297
|
+
"""Transform GPS (long/lat) to World Mercator.
|
|
298
|
+
|
|
299
|
+
Transform WGS84 `EPSG:4326 <https://epsg.io/4326>`_ location given as
|
|
300
|
+
latitude and longitude in decimal degrees as used by GPS into World Mercator
|
|
301
|
+
cartesian 2D coordinates in meters `EPSG:3395 <https://epsg.io/3395>`_.
|
|
302
|
+
|
|
303
|
+
Args:
|
|
304
|
+
longitude: represents the longitude value (East-West) in decimal degrees
|
|
305
|
+
latitude: represents the latitude value (North-South) in decimal degrees.
|
|
306
|
+
|
|
307
|
+
"""
|
|
308
|
+
# From: https://epsg.io/4326
|
|
309
|
+
# EPSG:4326 WGS84 - World Geodetic System 1984, used in GPS
|
|
310
|
+
# To: https://epsg.io/3395
|
|
311
|
+
# EPSG:3395 - World Mercator
|
|
312
|
+
# Source: https://gis.stackexchange.com/questions/259121/transformation-functions-for-epsg3395-projection-vs-epsg3857
|
|
313
|
+
longitude = longitude * RADIANS # east
|
|
314
|
+
latitude = latitude * RADIANS # north
|
|
315
|
+
cdef double e_sin_lat = sin(latitude) * WGS84_ELLIPSOID_ECCENTRIC
|
|
316
|
+
cdef double c = pow(
|
|
317
|
+
(1.0 - e_sin_lat) / (1.0 + e_sin_lat), WGS84_ELLIPSOID_ECCENTRIC / 2.0
|
|
318
|
+
) # 7-7 p.44
|
|
319
|
+
y = WGS84_SEMI_MAJOR_AXIS * log(tan(M_PI_4 + latitude / 2.0) * c) # 7-7 p.44
|
|
320
|
+
x = WGS84_SEMI_MAJOR_AXIS * longitude
|
|
321
|
+
return x, y
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
def world_mercator_to_gps(double x, double y, double tol = 1e-6) -> tuple[float, float]:
|
|
325
|
+
"""Transform World Mercator to GPS.
|
|
326
|
+
|
|
327
|
+
Transform WGS84 World Mercator `EPSG:3395 <https://epsg.io/3395>`_
|
|
328
|
+
location given as cartesian 2D coordinates x, y in meters into WGS84 decimal
|
|
329
|
+
degrees as longitude and latitude `EPSG:4326 <https://epsg.io/4326>`_ as
|
|
330
|
+
used by GPS.
|
|
331
|
+
|
|
332
|
+
Args:
|
|
333
|
+
x: coordinate WGS84 World Mercator
|
|
334
|
+
y: coordinate WGS84 World Mercator
|
|
335
|
+
tol: accuracy for latitude calculation
|
|
336
|
+
|
|
337
|
+
"""
|
|
338
|
+
# From: https://epsg.io/3395
|
|
339
|
+
# EPSG:3395 - World Mercator
|
|
340
|
+
# To: https://epsg.io/4326
|
|
341
|
+
# EPSG:4326 WGS84 - World Geodetic System 1984, used in GPS
|
|
342
|
+
# Source: Map Projections - A Working Manual
|
|
343
|
+
# https://pubs.usgs.gov/pp/1395/report.pdf
|
|
344
|
+
cdef double eccentric_2 = WGS84_ELLIPSOID_ECCENTRIC / 2.0
|
|
345
|
+
cdef double t = pow(M_E, (-y / WGS84_SEMI_MAJOR_AXIS)) # 7-10 p.44
|
|
346
|
+
cdef double e_sin_lat, latitude, latitude_prev
|
|
347
|
+
|
|
348
|
+
latitude_prev = M_PI_2 - 2.0 * atan(t) # 7-11 p.45
|
|
349
|
+
while True:
|
|
350
|
+
e_sin_lat = sin(latitude_prev) * WGS84_ELLIPSOID_ECCENTRIC
|
|
351
|
+
latitude = M_PI_2 - 2.0 * atan(
|
|
352
|
+
t * pow(((1.0 - e_sin_lat) / (1.0 + e_sin_lat)), eccentric_2)
|
|
353
|
+
) # 7-9 p.44
|
|
354
|
+
if fabs(latitude - latitude_prev) < tol:
|
|
355
|
+
break
|
|
356
|
+
latitude_prev = latitude
|
|
357
|
+
|
|
358
|
+
longitude = x / WGS84_SEMI_MAJOR_AXIS # 7-12 p.45
|
|
359
|
+
return longitude * DEGREES, latitude * DEGREES
|
|
@@ -119,9 +119,7 @@ class AcisEntity(NoneEntity):
|
|
|
119
119
|
self.restore_common(loader, entity_factory)
|
|
120
120
|
self.restore_data(loader)
|
|
121
121
|
|
|
122
|
-
def restore_common(
|
|
123
|
-
self, loader: DataLoader, entity_factory: Factory
|
|
124
|
-
) -> None:
|
|
122
|
+
def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
|
|
125
123
|
"""Load the common part of an ACIS entity."""
|
|
126
124
|
pass
|
|
127
125
|
|
|
@@ -149,7 +147,7 @@ class AcisEntity(NoneEntity):
|
|
|
149
147
|
pass
|
|
150
148
|
|
|
151
149
|
def entities(self) -> Iterator[AcisEntity]:
|
|
152
|
-
"""Yield all attributes of this entity of type AcisEntity.
|
|
150
|
+
"""Yield all attributes of this entity of type AcisEntity."""
|
|
153
151
|
for e in vars(self).values():
|
|
154
152
|
if isinstance(e, AcisEntity):
|
|
155
153
|
yield e
|
|
@@ -210,9 +208,7 @@ class AsmHeader(AcisEntity):
|
|
|
210
208
|
def __init__(self, version: str = ""):
|
|
211
209
|
self.version = version
|
|
212
210
|
|
|
213
|
-
def restore_common(
|
|
214
|
-
self, loader: DataLoader, entity_factory: Factory
|
|
215
|
-
) -> None:
|
|
211
|
+
def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
|
|
216
212
|
self.version = loader.read_str()
|
|
217
213
|
|
|
218
214
|
def write_common(self, exporter: DataExporter) -> None:
|
|
@@ -222,9 +218,7 @@ class AsmHeader(AcisEntity):
|
|
|
222
218
|
class SupportsPattern(AcisEntity):
|
|
223
219
|
pattern: Pattern = NONE_REF
|
|
224
220
|
|
|
225
|
-
def restore_common(
|
|
226
|
-
self, loader: DataLoader, entity_factory: Factory
|
|
227
|
-
) -> None:
|
|
221
|
+
def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
|
|
228
222
|
if loader.version >= Features.PATTERN:
|
|
229
223
|
self.pattern = restore_entity("pattern", loader, entity_factory)
|
|
230
224
|
|
|
@@ -238,11 +232,9 @@ class Body(SupportsPattern):
|
|
|
238
232
|
pattern: Pattern = NONE_REF
|
|
239
233
|
lump: Lump = NONE_REF
|
|
240
234
|
wire: Wire = NONE_REF
|
|
241
|
-
transform:
|
|
235
|
+
transform: Transform = NONE_REF
|
|
242
236
|
|
|
243
|
-
def restore_common(
|
|
244
|
-
self, loader: DataLoader, entity_factory: Factory
|
|
245
|
-
) -> None:
|
|
237
|
+
def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
|
|
246
238
|
super().restore_common(loader, entity_factory)
|
|
247
239
|
self.lump = restore_entity("lump", loader, entity_factory)
|
|
248
240
|
self.wire = restore_entity("wire", loader, entity_factory)
|
|
@@ -292,9 +284,7 @@ class Lump(SupportsPattern):
|
|
|
292
284
|
shell: Shell = NONE_REF
|
|
293
285
|
body: Body = NONE_REF
|
|
294
286
|
|
|
295
|
-
def restore_common(
|
|
296
|
-
self, loader: DataLoader, entity_factory: Factory
|
|
297
|
-
) -> None:
|
|
287
|
+
def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
|
|
298
288
|
super().restore_common(loader, entity_factory)
|
|
299
289
|
self.next_lump = restore_entity("lump", loader, entity_factory)
|
|
300
290
|
self.shell = restore_entity("shell", loader, entity_factory)
|
|
@@ -336,9 +326,7 @@ class Shell(SupportsPattern):
|
|
|
336
326
|
wire: Wire = NONE_REF
|
|
337
327
|
lump: Lump = NONE_REF
|
|
338
328
|
|
|
339
|
-
def restore_common(
|
|
340
|
-
self, loader: DataLoader, entity_factory: Factory
|
|
341
|
-
) -> None:
|
|
329
|
+
def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
|
|
342
330
|
super().restore_common(loader, entity_factory)
|
|
343
331
|
self.next_shell = restore_entity("next_shell", loader, entity_factory)
|
|
344
332
|
self.subshell = restore_entity("subshell", loader, entity_factory)
|
|
@@ -390,14 +378,10 @@ class Face(SupportsPattern):
|
|
|
390
378
|
surface: Surface = NONE_REF
|
|
391
379
|
# sense: face normal with respect to the surface
|
|
392
380
|
sense = False # True = reversed; False = forward
|
|
393
|
-
double_sided = (
|
|
394
|
-
False # True = double (hollow body); False = single (solid body)
|
|
395
|
-
)
|
|
381
|
+
double_sided = False # True = double (hollow body); False = single (solid body)
|
|
396
382
|
containment = False # if double_sided: True = in, False = out
|
|
397
383
|
|
|
398
|
-
def restore_common(
|
|
399
|
-
self, loader: DataLoader, entity_factory: Factory
|
|
400
|
-
) -> None:
|
|
384
|
+
def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
|
|
401
385
|
super().restore_common(loader, entity_factory)
|
|
402
386
|
self.next_face = restore_entity("face", loader, entity_factory)
|
|
403
387
|
self.loop = restore_entity("loop", loader, entity_factory)
|
|
@@ -479,9 +463,7 @@ class Plane(Surface):
|
|
|
479
463
|
# False: "forward_v" - the normal vector follows right-hand rule
|
|
480
464
|
reverse_v = False
|
|
481
465
|
|
|
482
|
-
def restore_common(
|
|
483
|
-
self, loader: DataLoader, entity_factory: Factory
|
|
484
|
-
) -> None:
|
|
466
|
+
def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
|
|
485
467
|
super().restore_common(loader, entity_factory)
|
|
486
468
|
self.origin = Vec3(loader.read_vec3())
|
|
487
469
|
self.normal = Vec3(loader.read_vec3())
|
|
@@ -514,9 +496,7 @@ class Loop(SupportsPattern):
|
|
|
514
496
|
coedge: Coedge = NONE_REF
|
|
515
497
|
face: Face = NONE_REF # parent/owner
|
|
516
498
|
|
|
517
|
-
def restore_common(
|
|
518
|
-
self, loader: DataLoader, entity_factory: Factory
|
|
519
|
-
) -> None:
|
|
499
|
+
def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
|
|
520
500
|
super().restore_common(loader, entity_factory)
|
|
521
501
|
self.next_loop = restore_entity("loop", loader, entity_factory)
|
|
522
502
|
self.coedge = restore_entity("coedge", loader, entity_factory)
|
|
@@ -577,9 +557,7 @@ class Coedge(SupportsPattern):
|
|
|
577
557
|
unknown: int = 0 # only in SAB file!?
|
|
578
558
|
pcurve: PCurve = NONE_REF
|
|
579
559
|
|
|
580
|
-
def restore_common(
|
|
581
|
-
self, loader: DataLoader, entity_factory: Factory
|
|
582
|
-
) -> None:
|
|
560
|
+
def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
|
|
583
561
|
super().restore_common(loader, entity_factory)
|
|
584
562
|
self.next_coedge = restore_entity("coedge", loader, entity_factory)
|
|
585
563
|
self.prev_coedge = restore_entity("coedge", loader, entity_factory)
|
|
@@ -618,7 +596,7 @@ class Coedge(SupportsPattern):
|
|
|
618
596
|
pass
|
|
619
597
|
|
|
620
598
|
def partner_coedges(self) -> list[Coedge]:
|
|
621
|
-
"""Returns all partner coedges of this coedge without `self`.
|
|
599
|
+
"""Returns all partner coedges of this coedge without `self`."""
|
|
622
600
|
coedges: list[Coedge] = []
|
|
623
601
|
partner_coedge = self.partner_coedge
|
|
624
602
|
if partner_coedge.is_none:
|
|
@@ -649,9 +627,7 @@ class Edge(SupportsPattern):
|
|
|
649
627
|
sense: bool = False
|
|
650
628
|
convexity: str = "unknown"
|
|
651
629
|
|
|
652
|
-
def restore_common(
|
|
653
|
-
self, loader: DataLoader, entity_factory: Factory
|
|
654
|
-
) -> None:
|
|
630
|
+
def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
|
|
655
631
|
super().restore_common(loader, entity_factory)
|
|
656
632
|
self.start_vertex = restore_entity("vertex", loader, entity_factory)
|
|
657
633
|
if loader.version >= Features.TOL_MODELING:
|
|
@@ -690,9 +666,7 @@ class Vertex(SupportsPattern):
|
|
|
690
666
|
ref_count: int = 0 # only in SAB files
|
|
691
667
|
point: Point = NONE_REF
|
|
692
668
|
|
|
693
|
-
def restore_common(
|
|
694
|
-
self, loader: DataLoader, entity_factory: Factory
|
|
695
|
-
) -> None:
|
|
669
|
+
def restore_common(self, loader: DataLoader, entity_factory: Factory) -> None:
|
|
696
670
|
super().restore_common(loader, entity_factory)
|
|
697
671
|
self.edge = restore_entity("edge", loader, entity_factory)
|
|
698
672
|
self.ref_count = loader.read_int(skip_sat=0)
|
|
@@ -725,7 +725,7 @@ class PlotStyleFileParser:
|
|
|
725
725
|
return get_mapping()
|
|
726
726
|
else: # it's a simple name=value line
|
|
727
727
|
value: str = line.split("=", 1)[1]
|
|
728
|
-
value = value
|
|
728
|
+
value = sanitized_value(value)
|
|
729
729
|
line_index += 1
|
|
730
730
|
return value
|
|
731
731
|
|
|
@@ -745,6 +745,18 @@ class PlotStyleFileParser:
|
|
|
745
745
|
return self.data.get(name, default)
|
|
746
746
|
|
|
747
747
|
|
|
748
|
+
def sanitized_value(value: str) -> str:
|
|
749
|
+
value = value.strip()
|
|
750
|
+
if value.startswith('"'): # strings: <name>="string
|
|
751
|
+
return value[1:]
|
|
752
|
+
|
|
753
|
+
# remove unknown appendix like this: "0.0076200000000 (+7.Z+"8V?S_LC )"
|
|
754
|
+
# the pattern is "<float|int> (<some data>)", see issue #1069
|
|
755
|
+
if value.endswith(")"):
|
|
756
|
+
return value.split(" ")[0]
|
|
757
|
+
return value
|
|
758
|
+
|
|
759
|
+
|
|
748
760
|
def int2color(color: int) -> tuple[int, int, int, int]:
|
|
749
761
|
"""Convert color integer value from CTB-file to ``(r, g, b, color_type)
|
|
750
762
|
tuple.
|
|
@@ -25,7 +25,7 @@ import ezdxf
|
|
|
25
25
|
from ezdxf.lldxf.const import DXFStructureError, DXFValueError
|
|
26
26
|
from ezdxf.lldxf.types import DXFTag, is_pointer_code
|
|
27
27
|
from ezdxf.lldxf.tags import Tags
|
|
28
|
-
from ezdxf.
|
|
28
|
+
from ezdxf.addons.browser.reflinks import get_reference_link
|
|
29
29
|
|
|
30
30
|
from .model import (
|
|
31
31
|
DXFStructureModel,
|