пдф из векторных изображений и улучшенная инофрмация о чертеже

This commit is contained in:
Andrey 2025-04-04 15:26:13 +03:00
parent 4a69680369
commit 7eeb638ce4
18 changed files with 18992 additions and 5389 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -236,6 +236,102 @@
('PIL.features', ('PIL.features',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PIL\\features.py', 'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PIL\\features.py',
'PYMODULE'), 'PYMODULE'),
('PyPDF2',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\__init__.py',
'PYMODULE'),
('PyPDF2._cmap',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_cmap.py',
'PYMODULE'),
('PyPDF2._codecs',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_codecs\\__init__.py',
'PYMODULE'),
('PyPDF2._codecs.adobe_glyphs',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_codecs\\adobe_glyphs.py',
'PYMODULE'),
('PyPDF2._codecs.pdfdoc',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_codecs\\pdfdoc.py',
'PYMODULE'),
('PyPDF2._codecs.std',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_codecs\\std.py',
'PYMODULE'),
('PyPDF2._codecs.symbol',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_codecs\\symbol.py',
'PYMODULE'),
('PyPDF2._codecs.zapfding',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_codecs\\zapfding.py',
'PYMODULE'),
('PyPDF2._encryption',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_encryption.py',
'PYMODULE'),
('PyPDF2._merger',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_merger.py',
'PYMODULE'),
('PyPDF2._page',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_page.py',
'PYMODULE'),
('PyPDF2._protocols',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_protocols.py',
'PYMODULE'),
('PyPDF2._reader',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_reader.py',
'PYMODULE'),
('PyPDF2._security',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_security.py',
'PYMODULE'),
('PyPDF2._utils',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_utils.py',
'PYMODULE'),
('PyPDF2._version',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_version.py',
'PYMODULE'),
('PyPDF2._writer',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\_writer.py',
'PYMODULE'),
('PyPDF2.constants',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\constants.py',
'PYMODULE'),
('PyPDF2.errors',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\errors.py',
'PYMODULE'),
('PyPDF2.filters',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\filters.py',
'PYMODULE'),
('PyPDF2.generic',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\generic\\__init__.py',
'PYMODULE'),
('PyPDF2.generic._annotations',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\generic\\_annotations.py',
'PYMODULE'),
('PyPDF2.generic._base',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\generic\\_base.py',
'PYMODULE'),
('PyPDF2.generic._data_structures',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\generic\\_data_structures.py',
'PYMODULE'),
('PyPDF2.generic._fit',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\generic\\_fit.py',
'PYMODULE'),
('PyPDF2.generic._outline',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\generic\\_outline.py',
'PYMODULE'),
('PyPDF2.generic._rectangle',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\generic\\_rectangle.py',
'PYMODULE'),
('PyPDF2.generic._utils',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\generic\\_utils.py',
'PYMODULE'),
('PyPDF2.pagerange',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\pagerange.py',
'PYMODULE'),
('PyPDF2.papersizes',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\papersizes.py',
'PYMODULE'),
('PyPDF2.types',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\types.py',
'PYMODULE'),
('PyPDF2.xmp',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\PyPDF2\\xmp.py',
'PYMODULE'),
('__future__', ('__future__',
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\__future__.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\__future__.py',
@ -438,6 +534,159 @@
('certifi.core', ('certifi.core',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\certifi\\core.py', 'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\certifi\\core.py',
'PYMODULE'), 'PYMODULE'),
('chardet',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\__init__.py',
'PYMODULE'),
('chardet.big5freq',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\big5freq.py',
'PYMODULE'),
('chardet.big5prober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\big5prober.py',
'PYMODULE'),
('chardet.chardistribution',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\chardistribution.py',
'PYMODULE'),
('chardet.charsetgroupprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\charsetgroupprober.py',
'PYMODULE'),
('chardet.charsetprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\charsetprober.py',
'PYMODULE'),
('chardet.codingstatemachine',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\codingstatemachine.py',
'PYMODULE'),
('chardet.codingstatemachinedict',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\codingstatemachinedict.py',
'PYMODULE'),
('chardet.cp949prober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\cp949prober.py',
'PYMODULE'),
('chardet.enums',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\enums.py',
'PYMODULE'),
('chardet.escprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\escprober.py',
'PYMODULE'),
('chardet.escsm',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\escsm.py',
'PYMODULE'),
('chardet.eucjpprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\eucjpprober.py',
'PYMODULE'),
('chardet.euckrfreq',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\euckrfreq.py',
'PYMODULE'),
('chardet.euckrprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\euckrprober.py',
'PYMODULE'),
('chardet.euctwfreq',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\euctwfreq.py',
'PYMODULE'),
('chardet.euctwprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\euctwprober.py',
'PYMODULE'),
('chardet.gb2312freq',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\gb2312freq.py',
'PYMODULE'),
('chardet.gb2312prober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\gb2312prober.py',
'PYMODULE'),
('chardet.hebrewprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\hebrewprober.py',
'PYMODULE'),
('chardet.jisfreq',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\jisfreq.py',
'PYMODULE'),
('chardet.johabfreq',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\johabfreq.py',
'PYMODULE'),
('chardet.johabprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\johabprober.py',
'PYMODULE'),
('chardet.jpcntx',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\jpcntx.py',
'PYMODULE'),
('chardet.langbulgarianmodel',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\langbulgarianmodel.py',
'PYMODULE'),
('chardet.langgreekmodel',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\langgreekmodel.py',
'PYMODULE'),
('chardet.langhebrewmodel',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\langhebrewmodel.py',
'PYMODULE'),
('chardet.langrussianmodel',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\langrussianmodel.py',
'PYMODULE'),
('chardet.langthaimodel',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\langthaimodel.py',
'PYMODULE'),
('chardet.langturkishmodel',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\langturkishmodel.py',
'PYMODULE'),
('chardet.latin1prober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\latin1prober.py',
'PYMODULE'),
('chardet.macromanprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\macromanprober.py',
'PYMODULE'),
('chardet.mbcharsetprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\mbcharsetprober.py',
'PYMODULE'),
('chardet.mbcsgroupprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\mbcsgroupprober.py',
'PYMODULE'),
('chardet.mbcssm',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\mbcssm.py',
'PYMODULE'),
('chardet.resultdict',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\resultdict.py',
'PYMODULE'),
('chardet.sbcharsetprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\sbcharsetprober.py',
'PYMODULE'),
('chardet.sbcsgroupprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\sbcsgroupprober.py',
'PYMODULE'),
('chardet.sjisprober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\sjisprober.py',
'PYMODULE'),
('chardet.universaldetector',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\universaldetector.py',
'PYMODULE'),
('chardet.utf1632prober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\utf1632prober.py',
'PYMODULE'),
('chardet.utf8prober',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\utf8prober.py',
'PYMODULE'),
('chardet.version',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\chardet\\version.py',
'PYMODULE'),
('charset_normalizer',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\charset_normalizer\\__init__.py',
'PYMODULE'),
('charset_normalizer.api',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\charset_normalizer\\api.py',
'PYMODULE'),
('charset_normalizer.cd',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\charset_normalizer\\cd.py',
'PYMODULE'),
('charset_normalizer.constant',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\charset_normalizer\\constant.py',
'PYMODULE'),
('charset_normalizer.legacy',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\charset_normalizer\\legacy.py',
'PYMODULE'),
('charset_normalizer.models',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\charset_normalizer\\models.py',
'PYMODULE'),
('charset_normalizer.utils',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\charset_normalizer\\utils.py',
'PYMODULE'),
('charset_normalizer.version',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\charset_normalizer\\version.py',
'PYMODULE'),
('cmd', ('cmd',
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\cmd.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\cmd.py',
@ -545,6 +794,36 @@
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\decimal.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\decimal.py',
'PYMODULE'), 'PYMODULE'),
('defusedxml',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\defusedxml\\__init__.py',
'PYMODULE'),
('defusedxml.ElementTree',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\defusedxml\\ElementTree.py',
'PYMODULE'),
('defusedxml.cElementTree',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\defusedxml\\cElementTree.py',
'PYMODULE'),
('defusedxml.common',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\defusedxml\\common.py',
'PYMODULE'),
('defusedxml.expatbuilder',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\defusedxml\\expatbuilder.py',
'PYMODULE'),
('defusedxml.expatreader',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\defusedxml\\expatreader.py',
'PYMODULE'),
('defusedxml.minidom',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\defusedxml\\minidom.py',
'PYMODULE'),
('defusedxml.pulldom',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\defusedxml\\pulldom.py',
'PYMODULE'),
('defusedxml.sax',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\defusedxml\\sax.py',
'PYMODULE'),
('defusedxml.xmlrpc',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\defusedxml\\xmlrpc.py',
'PYMODULE'),
('difflib', ('difflib',
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\difflib.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\difflib.py',
@ -553,6 +832,10 @@
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\dis.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\dis.py',
'PYMODULE'), 'PYMODULE'),
('doctest',
'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\doctest.py',
'PYMODULE'),
('docutils', ('docutils',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\docutils\\__init__.py', 'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\docutils\\__init__.py',
'PYMODULE'), 'PYMODULE'),
@ -987,6 +1270,10 @@
('export_opened_to_raster', ('export_opened_to_raster',
'C:\\projects\\3knopki\\export_opened_to_raster.py', 'C:\\projects\\3knopki\\export_opened_to_raster.py',
'PYMODULE'), 'PYMODULE'),
('fileinput',
'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\fileinput.py',
'PYMODULE'),
('filetype', ('filetype',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\filetype\\__init__.py', 'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\filetype\\__init__.py',
'PYMODULE'), 'PYMODULE'),
@ -1896,6 +2183,427 @@
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\numbers.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\numbers.py',
'PYMODULE'), 'PYMODULE'),
('numpy',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\__init__.py',
'PYMODULE'),
('numpy.__config__',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\__config__.py',
'PYMODULE'),
('numpy._array_api_info',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_array_api_info.py',
'PYMODULE'),
('numpy._core',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\__init__.py',
'PYMODULE'),
('numpy._core._add_newdocs',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\_add_newdocs.py',
'PYMODULE'),
('numpy._core._add_newdocs_scalars',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\_add_newdocs_scalars.py',
'PYMODULE'),
('numpy._core._asarray',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\_asarray.py',
'PYMODULE'),
('numpy._core._dtype',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\_dtype.py',
'PYMODULE'),
('numpy._core._dtype_ctypes',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\_dtype_ctypes.py',
'PYMODULE'),
('numpy._core._exceptions',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\_exceptions.py',
'PYMODULE'),
('numpy._core._internal',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\_internal.py',
'PYMODULE'),
('numpy._core._machar',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\_machar.py',
'PYMODULE'),
('numpy._core._methods',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\_methods.py',
'PYMODULE'),
('numpy._core._string_helpers',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\_string_helpers.py',
'PYMODULE'),
('numpy._core._type_aliases',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\_type_aliases.py',
'PYMODULE'),
('numpy._core._ufunc_config',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\_ufunc_config.py',
'PYMODULE'),
('numpy._core.arrayprint',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\arrayprint.py',
'PYMODULE'),
('numpy._core.defchararray',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\defchararray.py',
'PYMODULE'),
('numpy._core.einsumfunc',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\einsumfunc.py',
'PYMODULE'),
('numpy._core.fromnumeric',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\fromnumeric.py',
'PYMODULE'),
('numpy._core.function_base',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\function_base.py',
'PYMODULE'),
('numpy._core.getlimits',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\getlimits.py',
'PYMODULE'),
('numpy._core.memmap',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\memmap.py',
'PYMODULE'),
('numpy._core.multiarray',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\multiarray.py',
'PYMODULE'),
('numpy._core.numeric',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\numeric.py',
'PYMODULE'),
('numpy._core.numerictypes',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\numerictypes.py',
'PYMODULE'),
('numpy._core.overrides',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\overrides.py',
'PYMODULE'),
('numpy._core.printoptions',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\printoptions.py',
'PYMODULE'),
('numpy._core.records',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\records.py',
'PYMODULE'),
('numpy._core.shape_base',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\shape_base.py',
'PYMODULE'),
('numpy._core.strings',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\strings.py',
'PYMODULE'),
('numpy._core.tests', '-', 'PYMODULE'),
('numpy._core.tests._natype',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\tests\\_natype.py',
'PYMODULE'),
('numpy._core.umath',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_core\\umath.py',
'PYMODULE'),
('numpy._distributor_init',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_distributor_init.py',
'PYMODULE'),
('numpy._expired_attrs_2_0',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_expired_attrs_2_0.py',
'PYMODULE'),
('numpy._globals',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_globals.py',
'PYMODULE'),
('numpy._pytesttester',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_pytesttester.py',
'PYMODULE'),
('numpy._typing',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_typing\\__init__.py',
'PYMODULE'),
('numpy._typing._add_docstring',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_typing\\_add_docstring.py',
'PYMODULE'),
('numpy._typing._array_like',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_typing\\_array_like.py',
'PYMODULE'),
('numpy._typing._char_codes',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_typing\\_char_codes.py',
'PYMODULE'),
('numpy._typing._dtype_like',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_typing\\_dtype_like.py',
'PYMODULE'),
('numpy._typing._nbit',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_typing\\_nbit.py',
'PYMODULE'),
('numpy._typing._nbit_base',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_typing\\_nbit_base.py',
'PYMODULE'),
('numpy._typing._nested_sequence',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_typing\\_nested_sequence.py',
'PYMODULE'),
('numpy._typing._scalars',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_typing\\_scalars.py',
'PYMODULE'),
('numpy._typing._shape',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_typing\\_shape.py',
'PYMODULE'),
('numpy._typing._ufunc',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_typing\\_ufunc.py',
'PYMODULE'),
('numpy._utils',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_utils\\__init__.py',
'PYMODULE'),
('numpy._utils._convertions',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_utils\\_convertions.py',
'PYMODULE'),
('numpy._utils._inspect',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\_utils\\_inspect.py',
'PYMODULE'),
('numpy.char',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\char\\__init__.py',
'PYMODULE'),
('numpy.core',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\core\\__init__.py',
'PYMODULE'),
('numpy.core._utils',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\core\\_utils.py',
'PYMODULE'),
('numpy.ctypeslib',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\ctypeslib.py',
'PYMODULE'),
('numpy.dtypes',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\dtypes.py',
'PYMODULE'),
('numpy.exceptions',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\exceptions.py',
'PYMODULE'),
('numpy.f2py',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\__init__.py',
'PYMODULE'),
('numpy.f2py.__version__',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\__version__.py',
'PYMODULE'),
('numpy.f2py._backends',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\_backends\\__init__.py',
'PYMODULE'),
('numpy.f2py._backends._backend',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\_backends\\_backend.py',
'PYMODULE'),
('numpy.f2py._backends._distutils',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\_backends\\_distutils.py',
'PYMODULE'),
('numpy.f2py._backends._meson',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\_backends\\_meson.py',
'PYMODULE'),
('numpy.f2py._isocbind',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\_isocbind.py',
'PYMODULE'),
('numpy.f2py.auxfuncs',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\auxfuncs.py',
'PYMODULE'),
('numpy.f2py.capi_maps',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\capi_maps.py',
'PYMODULE'),
('numpy.f2py.cb_rules',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\cb_rules.py',
'PYMODULE'),
('numpy.f2py.cfuncs',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\cfuncs.py',
'PYMODULE'),
('numpy.f2py.common_rules',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\common_rules.py',
'PYMODULE'),
('numpy.f2py.crackfortran',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\crackfortran.py',
'PYMODULE'),
('numpy.f2py.diagnose',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\diagnose.py',
'PYMODULE'),
('numpy.f2py.f2py2e',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\f2py2e.py',
'PYMODULE'),
('numpy.f2py.f90mod_rules',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\f90mod_rules.py',
'PYMODULE'),
('numpy.f2py.func2subr',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\func2subr.py',
'PYMODULE'),
('numpy.f2py.rules',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\rules.py',
'PYMODULE'),
('numpy.f2py.symbolic',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\symbolic.py',
'PYMODULE'),
('numpy.f2py.use_rules',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\f2py\\use_rules.py',
'PYMODULE'),
('numpy.fft',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\fft\\__init__.py',
'PYMODULE'),
('numpy.fft._helper',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\fft\\_helper.py',
'PYMODULE'),
('numpy.fft._pocketfft',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\fft\\_pocketfft.py',
'PYMODULE'),
('numpy.fft.helper',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\fft\\helper.py',
'PYMODULE'),
('numpy.lib',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\__init__.py',
'PYMODULE'),
('numpy.lib._array_utils_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_array_utils_impl.py',
'PYMODULE'),
('numpy.lib._arraypad_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_arraypad_impl.py',
'PYMODULE'),
('numpy.lib._arraysetops_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_arraysetops_impl.py',
'PYMODULE'),
('numpy.lib._arrayterator_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_arrayterator_impl.py',
'PYMODULE'),
('numpy.lib._datasource',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_datasource.py',
'PYMODULE'),
('numpy.lib._function_base_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_function_base_impl.py',
'PYMODULE'),
('numpy.lib._histograms_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_histograms_impl.py',
'PYMODULE'),
('numpy.lib._index_tricks_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_index_tricks_impl.py',
'PYMODULE'),
('numpy.lib._iotools',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_iotools.py',
'PYMODULE'),
('numpy.lib._nanfunctions_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_nanfunctions_impl.py',
'PYMODULE'),
('numpy.lib._npyio_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_npyio_impl.py',
'PYMODULE'),
('numpy.lib._polynomial_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_polynomial_impl.py',
'PYMODULE'),
('numpy.lib._scimath_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_scimath_impl.py',
'PYMODULE'),
('numpy.lib._shape_base_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_shape_base_impl.py',
'PYMODULE'),
('numpy.lib._stride_tricks_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_stride_tricks_impl.py',
'PYMODULE'),
('numpy.lib._twodim_base_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_twodim_base_impl.py',
'PYMODULE'),
('numpy.lib._type_check_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_type_check_impl.py',
'PYMODULE'),
('numpy.lib._ufunclike_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_ufunclike_impl.py',
'PYMODULE'),
('numpy.lib._utils_impl',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_utils_impl.py',
'PYMODULE'),
('numpy.lib._version',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\_version.py',
'PYMODULE'),
('numpy.lib.array_utils',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\array_utils.py',
'PYMODULE'),
('numpy.lib.format',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\format.py',
'PYMODULE'),
('numpy.lib.introspect',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\introspect.py',
'PYMODULE'),
('numpy.lib.mixins',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\mixins.py',
'PYMODULE'),
('numpy.lib.npyio',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\npyio.py',
'PYMODULE'),
('numpy.lib.recfunctions',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\recfunctions.py',
'PYMODULE'),
('numpy.lib.scimath',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\scimath.py',
'PYMODULE'),
('numpy.lib.stride_tricks',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\lib\\stride_tricks.py',
'PYMODULE'),
('numpy.linalg',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\linalg\\__init__.py',
'PYMODULE'),
('numpy.linalg._linalg',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\linalg\\_linalg.py',
'PYMODULE'),
('numpy.linalg.linalg',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\linalg\\linalg.py',
'PYMODULE'),
('numpy.ma',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\ma\\__init__.py',
'PYMODULE'),
('numpy.ma.core',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\ma\\core.py',
'PYMODULE'),
('numpy.ma.extras',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\ma\\extras.py',
'PYMODULE'),
('numpy.ma.mrecords',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\ma\\mrecords.py',
'PYMODULE'),
('numpy.matlib',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\matlib.py',
'PYMODULE'),
('numpy.matrixlib',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\matrixlib\\__init__.py',
'PYMODULE'),
('numpy.matrixlib.defmatrix',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\matrixlib\\defmatrix.py',
'PYMODULE'),
('numpy.polynomial',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\polynomial\\__init__.py',
'PYMODULE'),
('numpy.polynomial._polybase',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\polynomial\\_polybase.py',
'PYMODULE'),
('numpy.polynomial.chebyshev',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\polynomial\\chebyshev.py',
'PYMODULE'),
('numpy.polynomial.hermite',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\polynomial\\hermite.py',
'PYMODULE'),
('numpy.polynomial.hermite_e',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\polynomial\\hermite_e.py',
'PYMODULE'),
('numpy.polynomial.laguerre',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\polynomial\\laguerre.py',
'PYMODULE'),
('numpy.polynomial.legendre',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\polynomial\\legendre.py',
'PYMODULE'),
('numpy.polynomial.polynomial',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\polynomial\\polynomial.py',
'PYMODULE'),
('numpy.polynomial.polyutils',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\polynomial\\polyutils.py',
'PYMODULE'),
('numpy.random',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\random\\__init__.py',
'PYMODULE'),
('numpy.random._pickle',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\random\\_pickle.py',
'PYMODULE'),
('numpy.rec',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\rec\\__init__.py',
'PYMODULE'),
('numpy.strings',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\strings\\__init__.py',
'PYMODULE'),
('numpy.testing',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\testing\\__init__.py',
'PYMODULE'),
('numpy.testing._private',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\testing\\_private\\__init__.py',
'PYMODULE'),
('numpy.testing._private.extbuild',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\testing\\_private\\extbuild.py',
'PYMODULE'),
('numpy.testing._private.utils',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\testing\\_private\\utils.py',
'PYMODULE'),
('numpy.testing.overrides',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\testing\\overrides.py',
'PYMODULE'),
('numpy.typing',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\typing\\__init__.py',
'PYMODULE'),
('numpy.version',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\numpy\\version.py',
'PYMODULE'),
('opcode', ('opcode',
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\opcode.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\opcode.py',
@ -3128,6 +3836,39 @@
('pygments.util', ('pygments.util',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pygments\\util.py', 'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pygments\\util.py',
'PYMODULE'), 'PYMODULE'),
('pyparsing',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pyparsing\\__init__.py',
'PYMODULE'),
('pyparsing.actions',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pyparsing\\actions.py',
'PYMODULE'),
('pyparsing.common',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pyparsing\\common.py',
'PYMODULE'),
('pyparsing.core',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pyparsing\\core.py',
'PYMODULE'),
('pyparsing.diagram',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pyparsing\\diagram\\__init__.py',
'PYMODULE'),
('pyparsing.exceptions',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pyparsing\\exceptions.py',
'PYMODULE'),
('pyparsing.helpers',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pyparsing\\helpers.py',
'PYMODULE'),
('pyparsing.results',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pyparsing\\results.py',
'PYMODULE'),
('pyparsing.testing',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pyparsing\\testing.py',
'PYMODULE'),
('pyparsing.unicode',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pyparsing\\unicode.py',
'PYMODULE'),
('pyparsing.util',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pyparsing\\util.py',
'PYMODULE'),
('pythoncom', ('pythoncom',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pythoncom.py', 'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\pythoncom.py',
'PYMODULE'), 'PYMODULE'),
@ -3275,6 +4016,9 @@
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\typing.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\typing.py',
'PYMODULE'), 'PYMODULE'),
('typing_extensions',
'c:\\projects\\3knopki\\.venv\\Lib\\site-packages\\typing_extensions.py',
'PYMODULE'),
('unittest', ('unittest',
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\unittest\\__init__.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\unittest\\__init__.py',
@ -3339,6 +4083,10 @@
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\urllib\\response.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\urllib\\response.py',
'PYMODULE'), 'PYMODULE'),
('uuid',
'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\uuid.py',
'PYMODULE'),
('webbrowser', ('webbrowser',
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\webbrowser.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\webbrowser.py',
@ -3505,6 +4253,10 @@
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\xmlrpc\\client.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\xmlrpc\\client.py',
'PYMODULE'), 'PYMODULE'),
('xmlrpc.server',
'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\xmlrpc\\server.py',
'PYMODULE'),
('zipfile', ('zipfile',
'C:\\Program ' 'C:\\Program '
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\zipfile.py', 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0\\Lib\\zipfile.py',

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -14,32 +14,23 @@ Types if import:
IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
tracking down the missing module yourself. Thanks! tracking down the missing module yourself. Thanks!
missing module named pyimod02_importers - imported by C:\projects\3knopki\.venv\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgutil.py (delayed), C:\projects\3knopki\.venv\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgres.py (delayed)
missing module named pwd - imported by posixpath (delayed, conditional, optional), shutil (delayed, optional), tarfile (optional), pathlib (delayed, optional), subprocess (delayed, conditional, optional), http.server (delayed, optional), webbrowser (delayed), netrc (delayed, conditional), getpass (delayed) missing module named pwd - imported by posixpath (delayed, conditional, optional), shutil (delayed, optional), tarfile (optional), pathlib (delayed, optional), subprocess (delayed, conditional, optional), http.server (delayed, optional), webbrowser (delayed), netrc (delayed, conditional), getpass (delayed)
missing module named grp - imported by shutil (delayed, optional), tarfile (optional), pathlib (delayed, optional), subprocess (delayed, conditional, optional) missing module named grp - imported by shutil (delayed, optional), tarfile (optional), pathlib (delayed, optional), subprocess (delayed, conditional, optional)
missing module named _posixsubprocess - imported by subprocess (conditional), multiprocessing.util (delayed) missing module named _posixsubprocess - imported by subprocess (conditional), multiprocessing.util (delayed)
missing module named fcntl - imported by subprocess (optional), kivy.input.providers.hidinput (conditional), kivy.input.providers.linuxwacom (conditional) missing module named fcntl - imported by subprocess (optional), xmlrpc.server (optional), kivy.input.providers.hidinput (conditional), kivy.input.providers.linuxwacom (conditional)
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), zipimport (top-level) missing module named 'org.python' - imported by copy (optional), xml.sax (delayed, conditional)
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), zipimport (top-level) missing module named org - imported by pickle (optional)
missing module named 'org.python' - imported by pickle (optional), xml.sax (delayed, conditional)
missing module named urllib.pathname2url - imported by urllib (conditional), kivy.core.video.video_gstplayer (conditional), kivy.core.audio.audio_gstplayer (conditional) missing module named urllib.pathname2url - imported by urllib (conditional), kivy.core.video.video_gstplayer (conditional), kivy.core.audio.audio_gstplayer (conditional)
missing module named posix - imported by os (conditional, optional), posixpath (optional), shutil (conditional), importlib._bootstrap_external (conditional) missing module named posix - imported by os (conditional, optional), posixpath (optional), shutil (conditional), importlib._bootstrap_external (conditional)
missing module named resource - imported by posix (top-level) missing module named resource - imported by posix (top-level)
missing module named org - imported by copy (optional)
missing module named _posixshmem - imported by multiprocessing.resource_tracker (conditional), multiprocessing.shared_memory (conditional)
missing module named _scproxy - imported by urllib.request (conditional)
missing module named termios - imported by tty (top-level), getpass (optional)
missing module named 'java.lang' - imported by platform (delayed, optional), xml.sax._exceptions (conditional)
missing module named multiprocessing.BufferTooShort - imported by multiprocessing (top-level), multiprocessing.connection (top-level)
missing module named multiprocessing.AuthenticationError - imported by multiprocessing (top-level), multiprocessing.connection (top-level)
missing module named multiprocessing.get_context - imported by multiprocessing (top-level), multiprocessing.pool (top-level), multiprocessing.managers (top-level), multiprocessing.sharedctypes (top-level)
missing module named multiprocessing.TimeoutError - imported by multiprocessing (top-level), multiprocessing.pool (top-level)
missing module named multiprocessing.set_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level)
missing module named multiprocessing.get_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level)
missing module named pyimod02_importers - imported by C:\projects\3knopki\.venv\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgres.py (delayed), C:\projects\3knopki\.venv\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgutil.py (delayed)
missing module named _manylinux - imported by pkg_resources._vendor.packaging._manylinux (delayed, optional), packaging._manylinux (delayed, optional) missing module named _manylinux - imported by pkg_resources._vendor.packaging._manylinux (delayed, optional), packaging._manylinux (delayed, optional)
missing module named jinja2 - imported by pkg_resources._vendor.pyparsing.diagram (top-level) missing module named jinja2 - imported by pyparsing.diagram (top-level), pkg_resources._vendor.pyparsing.diagram (top-level)
missing module named pyparsing - imported by pkg_resources._vendor.pyparsing.diagram (top-level) missing module named pyparsing.Word - imported by pyparsing (delayed), pyparsing.unicode (delayed)
missing module named railroad - imported by pkg_resources._vendor.pyparsing.diagram (top-level) missing module named railroad - imported by pkg_resources._vendor.pyparsing.diagram (top-level), pyparsing.diagram (top-level)
missing module named termios - imported by tty (top-level), getpass (optional)
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), zipimport (top-level)
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), zipimport (top-level)
missing module named readline - imported by site (delayed, optional), rlcompleter (optional), cmd (delayed, conditional, optional), code (delayed, conditional, optional), pdb (delayed, optional) missing module named readline - imported by site (delayed, optional), rlcompleter (optional), cmd (delayed, conditional, optional), code (delayed, conditional, optional), pdb (delayed, optional)
missing module named 'pkg_resources.extern.pyparsing' - imported by pkg_resources._vendor.packaging.markers (top-level), pkg_resources._vendor.packaging.requirements (top-level) missing module named 'pkg_resources.extern.pyparsing' - imported by pkg_resources._vendor.packaging.markers (top-level), pkg_resources._vendor.packaging.requirements (top-level)
missing module named 'pkg_resources.extern.importlib_resources' - imported by pkg_resources._vendor.jaraco.text (optional) missing module named 'pkg_resources.extern.importlib_resources' - imported by pkg_resources._vendor.jaraco.text (optional)
@ -51,49 +42,244 @@ missing module named _winreg - imported by platform (delayed, optional), pkg_res
missing module named pkg_resources.extern.packaging - imported by pkg_resources.extern (top-level), pkg_resources (top-level) missing module named pkg_resources.extern.packaging - imported by pkg_resources.extern (top-level), pkg_resources (top-level)
missing module named pkg_resources.extern.appdirs - imported by pkg_resources.extern (top-level), pkg_resources (top-level) missing module named pkg_resources.extern.appdirs - imported by pkg_resources.extern (top-level), pkg_resources (top-level)
missing module named 'pkg_resources.extern.jaraco' - imported by pkg_resources (top-level), pkg_resources._vendor.jaraco.text (top-level) missing module named 'pkg_resources.extern.jaraco' - imported by pkg_resources (top-level), pkg_resources._vendor.jaraco.text (top-level)
missing module named _scproxy - imported by urllib.request (conditional)
missing module named 'java.lang' - imported by platform (delayed, optional), xml.sax._exceptions (conditional)
missing module named vms_lib - imported by platform (delayed, optional) missing module named vms_lib - imported by platform (delayed, optional)
missing module named java - imported by platform (delayed) missing module named java - imported by platform (delayed)
missing module named typing_extensions - imported by PIL._typing (conditional, optional) missing module named _posixshmem - imported by multiprocessing.resource_tracker (conditional), multiprocessing.shared_memory (conditional)
missing module named numpy - imported by PIL._typing (conditional, optional), kivy.core.camera.camera_picamera (top-level), kivy.core.camera.camera_android (delayed) missing module named multiprocessing.BufferTooShort - imported by multiprocessing (top-level), multiprocessing.connection (top-level)
missing module named multiprocessing.AuthenticationError - imported by multiprocessing (top-level), multiprocessing.connection (top-level)
missing module named multiprocessing.get_context - imported by multiprocessing (top-level), multiprocessing.pool (top-level), multiprocessing.managers (top-level), multiprocessing.sharedctypes (top-level)
missing module named multiprocessing.TimeoutError - imported by multiprocessing (top-level), multiprocessing.pool (top-level)
missing module named multiprocessing.set_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level)
missing module named multiprocessing.get_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level)
missing module named dxf2pdf - imported by export_opened_to_raster (delayed)
missing module named olefile - imported by PIL.FpxImagePlugin (top-level), PIL.MicImagePlugin (top-level) missing module named olefile - imported by PIL.FpxImagePlugin (top-level), PIL.MicImagePlugin (top-level)
missing module named defusedxml - imported by PIL.Image (optional) missing module named _dummy_thread - imported by numpy._core.arrayprint (optional)
missing module named ffmpeg - imported by kivy.core.video.video_ffmpeg (optional) missing module named 'numpy_distutils.cpuinfo' - imported by numpy.f2py.diagnose (delayed, conditional, optional)
missing module named 'kivy.core.text._text_pango' - imported by kivy.core.text.text_pango (top-level) missing module named 'numpy_distutils.fcompiler' - imported by numpy.f2py.diagnose (delayed, conditional, optional)
missing module named gobject - imported by kivy.support (delayed, optional) missing module named 'numpy_distutils.command' - imported by numpy.f2py.diagnose (delayed, conditional, optional)
missing module named 'gi.repository' - imported by kivy.support (delayed, optional), kivy.core.clipboard.clipboard_gtk3 (top-level) missing module named numpy_distutils - imported by numpy.f2py.diagnose (delayed, optional)
missing module named android - imported by kivy.metrics (delayed, conditional), kivy.core.window (delayed, conditional), kivy.base (delayed, optional), kivy.input.providers.androidjoystick (optional), kivy.app (delayed, conditional), kivy.support (delayed, optional), kivy.core.window.window_sdl2 (delayed, conditional), kivy.core.audio.audio_android (top-level), kivy.core.clipboard.clipboard_android (top-level), kivy.core.window.window_pygame (conditional, optional) missing module named psutil - imported by numpy.testing._private.utils (delayed, optional)
missing module named pygame - imported by kivy.input.providers.androidjoystick (conditional), kivy.app (delayed, conditional), kivy.core.text.text_pygame (optional), kivy.support (delayed), kivy.core.audio.audio_pygame (conditional, optional), kivy.core.image.img_pygame (optional), kivy.core.clipboard.clipboard_pygame (optional), kivy.core.window.window_pygame (top-level) missing module named asyncio.DefaultEventLoopPolicy - imported by asyncio (delayed, conditional), asyncio.events (delayed, conditional)
missing module named 'android.runnable' - imported by kivy.core.clipboard.clipboard_android (top-level) missing module named threadpoolctl - imported by numpy.lib._utils_impl (delayed, optional)
missing module named jnius - imported by kivy.metrics (delayed, conditional), kivy.app (delayed, conditional), kivy.core.audio.audio_android (top-level), kivy.core.camera.camera_android (top-level), kivy.core.clipboard.clipboard_android (top-level) missing module named numpy._core.zeros - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named 'pygame.scrap' - imported by kivy.core.clipboard.clipboard_pygame (optional) missing module named numpy._core.vstack - imported by numpy._core (top-level), numpy.lib._shape_base_impl (top-level), numpy (conditional)
missing module named cv2 - imported by kivy.core.camera.camera_android (delayed), kivy.core.camera.camera_opencv (optional) missing module named numpy._core.void - imported by numpy._core (conditional), numpy (conditional)
missing module named 'opencv.highgui' - imported by kivy.core.camera.camera_opencv (optional) missing module named numpy._core.vecmat - imported by numpy._core (conditional), numpy (conditional)
missing module named opencv - imported by kivy.core.camera.camera_opencv (optional) missing module named numpy._core.vecdot - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named 'pyobjus.dylib_manager' - imported by kivy.core.audio.audio_avplayer (top-level), kivy.core.clipboard.clipboard_nspaste (optional) missing module named numpy._core.ushort - imported by numpy._core (conditional), numpy (conditional)
missing module named pyobjus - imported by kivy.core.audio.audio_avplayer (top-level), kivy.core.clipboard.clipboard_nspaste (optional) missing module named numpy._core.unsignedinteger - imported by numpy._core (conditional), numpy (conditional)
missing module named Leap - imported by kivy.input.providers.leapfinger (delayed) missing module named numpy._core.ulonglong - imported by numpy._core (conditional), numpy (conditional)
missing module named oscpy - imported by kivy.input.providers.tuio (delayed, optional) missing module named numpy._core.ulong - imported by numpy._core (conditional), numpy (conditional)
missing module named android_mixer - imported by kivy.core.audio.audio_pygame (conditional, optional) missing module named numpy._core.uintp - imported by numpy._core (conditional), numpy (conditional)
missing module named 'android.mixer' - imported by kivy.core.audio.audio_pygame (conditional, optional) missing module named numpy._core.uintc - imported by numpy._core (conditional), numpy (conditional)
missing module named picamera - imported by kivy.core.camera.camera_picamera (top-level) missing module named numpy._core.uint64 - imported by numpy._core (conditional), numpy (conditional), numpy._array_api_info (top-level)
missing module named gi - imported by kivy.core.camera.camera_gi (top-level), kivy.core.clipboard.clipboard_gtk3 (top-level) missing module named numpy._core.uint32 - imported by numpy._core (conditional), numpy (conditional), numpy._array_api_info (top-level)
missing module named chardet - imported by pygments.lexer (delayed, conditional, optional) missing module named numpy._core.uint16 - imported by numpy._core (conditional), numpy (conditional), numpy._array_api_info (top-level)
missing module named numpy._core.uint - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.ubyte - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.trunc - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.true_divide - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.transpose - imported by numpy._core (top-level), numpy.lib._function_base_impl (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.trace - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.timedelta64 - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.tensordot - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.tanh - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.tan - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.swapaxes - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.sum - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.subtract - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.str_ - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.square - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.sqrt - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional), numpy.fft._pocketfft (top-level)
missing module named numpy._core.spacing - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.sort - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.sinh - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.single - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.signedinteger - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.signbit - imported by numpy._core (delayed), numpy.testing._private.utils (delayed), numpy (conditional)
missing module named numpy._core.sign - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.short - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.rint - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.right_shift - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.result_type - imported by numpy._core (delayed), numpy.testing._private.utils (delayed), numpy (conditional), numpy.fft._pocketfft (top-level)
missing module named numpy._core.remainder - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.reciprocal - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional), numpy.fft._pocketfft (top-level)
missing module named numpy._core.radians - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.rad2deg - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.prod - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.power - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.positive - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.pi - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.outer - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.ones - imported by numpy._core (top-level), numpy.lib._polynomial_impl (top-level), numpy (conditional)
missing module named numpy._core.object_ - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy.testing._private.utils (delayed), numpy (conditional)
missing module named numpy._core.number - imported by numpy._core (delayed), numpy.testing._private.utils (delayed), numpy (conditional)
missing module named numpy._core.not_equal - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.newaxis - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.negative - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.ndarray - imported by numpy._core (top-level), numpy.lib._utils_impl (top-level), numpy.testing._private.utils (top-level), numpy (conditional)
missing module named numpy._core.multiply - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.moveaxis - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.modf - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.mod - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.minimum - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.maximum - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.max - imported by numpy._core (delayed), numpy.testing._private.utils (delayed), numpy (conditional)
missing module named numpy._core.matrix_transpose - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.matvec - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.matmul - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.longdouble - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.long - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.logical_xor - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.logical_or - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.logical_not - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.logical_and - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.logaddexp2 - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.logaddexp - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.log2 - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.log1p - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.log - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.linspace - imported by numpy._core (top-level), numpy.lib._index_tricks_impl (top-level), numpy (conditional)
missing module named numpy._core.less_equal - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.less - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.left_shift - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.ldexp - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.lcm - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.isscalar - imported by numpy._core (delayed), numpy.testing._private.utils (delayed), numpy.lib._polynomial_impl (top-level), numpy (conditional)
missing module named numpy._core.isnat - imported by numpy._core (top-level), numpy.testing._private.utils (top-level), numpy (conditional)
missing module named numpy._core.isnan - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy.testing._private.utils (delayed), numpy (conditional)
missing module named numpy._core.isfinite - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.intp - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy.testing._private.utils (top-level), numpy (conditional), numpy._array_api_info (top-level)
missing module named numpy._core.integer - imported by numpy._core (conditional), numpy (conditional), numpy.fft._helper (top-level)
missing module named numpy._core.intc - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.int8 - imported by numpy._core (conditional), numpy (conditional), numpy._array_api_info (top-level)
missing module named numpy._core.int64 - imported by numpy._core (conditional), numpy (conditional), numpy._array_api_info (top-level)
missing module named numpy._core.int32 - imported by numpy._core (conditional), numpy (conditional), numpy._array_api_info (top-level)
missing module named numpy._core.int16 - imported by numpy._core (conditional), numpy (conditional), numpy._array_api_info (top-level)
missing module named numpy._core.inf - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy.testing._private.utils (delayed), numpy (conditional)
missing module named numpy._core.inexact - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.iinfo - imported by numpy._core (top-level), numpy.lib._twodim_base_impl (top-level), numpy (conditional)
missing module named numpy._core.hypot - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.hstack - imported by numpy._core (top-level), numpy.lib._polynomial_impl (top-level), numpy (conditional)
missing module named numpy._core.heaviside - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.half - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.greater_equal - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.greater - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.gcd - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.frompyfunc - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.frexp - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.fmod - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.fmin - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.fmax - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.floor_divide - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.floor - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.floating - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.float_power - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.float32 - imported by numpy._core (top-level), numpy.testing._private.utils (top-level), numpy (conditional), numpy._array_api_info (top-level)
missing module named numpy._core.float16 - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.finfo - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy.lib._polynomial_impl (top-level), numpy (conditional)
missing module named numpy._core.fabs - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.expm1 - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.exp - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.euler_gamma - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.errstate - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy.testing._private.utils (delayed), numpy (conditional)
missing module named numpy._core.equal - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.empty_like - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional), numpy.fft._pocketfft (top-level)
missing module named numpy._core.empty - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy.testing._private.utils (top-level), numpy (conditional), numpy.fft._helper (top-level)
missing module named numpy._core.e - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.double - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.dot - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy.lib._polynomial_impl (top-level), numpy (conditional)
missing module named numpy._core.divmod - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.divide - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.diagonal - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.degrees - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.deg2rad - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.datetime64 - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.csingle - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.cross - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.count_nonzero - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.cosh - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.cos - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.copysign - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.conjugate - imported by numpy._core (conditional), numpy (conditional), numpy.fft._pocketfft (top-level)
missing module named numpy._core.conj - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.complexfloating - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.complex64 - imported by numpy._core (conditional), numpy (conditional), numpy._array_api_info (top-level)
missing module named numpy._core.clongdouble - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.character - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.ceil - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.cdouble - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.cbrt - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.bytes_ - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.byte - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.bool_ - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.bitwise_xor - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.bitwise_or - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.bitwise_count - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.bitwise_and - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.atleast_3d - imported by numpy._core (top-level), numpy.lib._shape_base_impl (top-level), numpy (conditional)
missing module named numpy._core.atleast_2d - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.atleast_1d - imported by numpy._core (top-level), numpy.lib._polynomial_impl (top-level), numpy (conditional)
missing module named numpy._core.asarray - imported by numpy._core (top-level), numpy.lib._array_utils_impl (top-level), numpy.linalg._linalg (top-level), numpy (conditional), numpy.fft._pocketfft (top-level), numpy.fft._helper (top-level)
missing module named numpy._core.asanyarray - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.array_repr - imported by numpy._core (top-level), numpy.testing._private.utils (top-level), numpy (conditional)
missing module named numpy._core.array2string - imported by numpy._core (delayed), numpy.testing._private.utils (delayed), numpy (conditional)
missing module named numpy._core.array - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy.testing._private.utils (top-level), numpy.lib._polynomial_impl (top-level), numpy (conditional)
missing module named numpy._core.argsort - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.arctanh - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.arctan2 - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.arctan - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.arcsinh - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.arcsin - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.arccosh - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.arccos - imported by numpy._core (conditional), numpy (conditional)
missing module named numpy._core.arange - imported by numpy._core (top-level), numpy.testing._private.utils (top-level), numpy (conditional), numpy.fft._helper (top-level)
missing module named numpy._core.amin - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.amax - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named numpy._core.all - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy.testing._private.utils (delayed), numpy (conditional)
missing module named numpy._core.add - imported by numpy._core (top-level), numpy.linalg._linalg (top-level), numpy (conditional)
missing module named yaml - imported by numpy.__config__ (delayed)
missing module named numpy._distributor_init_local - imported by numpy (optional), numpy._distributor_init (optional)
missing module named xmlrpclib - imported by defusedxml.xmlrpc (conditional)
missing module named 'Crypto.Util' - imported by PyPDF2._encryption (optional)
missing module named Crypto - imported by PyPDF2._encryption (optional)
missing module named pygments.formatters.BBCodeFormatter - imported by pygments.formatters (top-level), kivy.uix.codeinput (top-level) missing module named pygments.formatters.BBCodeFormatter - imported by pygments.formatters (top-level), kivy.uix.codeinput (top-level)
missing module named pygments.lexers.PrologLexer - imported by pygments.lexers (top-level), pygments.lexers.cplint (top-level) missing module named pygments.lexers.PrologLexer - imported by pygments.lexers (top-level), pygments.lexers.cplint (top-level)
missing module named ctags - imported by pygments.formatters.html (optional) missing module named ctags - imported by pygments.formatters.html (optional)
missing module named 'ffpyplayer.tools' - imported by kivy.core.audio.audio_ffpyplayer (optional), kivy.core.video.video_ffpyplayer (optional), kivy.core.image.img_ffpyplayer (top-level) missing module named picamera - imported by kivy.core.camera.camera_picamera (top-level)
missing module named 'ffpyplayer.pic' - imported by kivy.core.image.img_ffpyplayer (top-level) missing module named 'kivy.core.text._text_pango' - imported by kivy.core.text.text_pango (top-level)
missing module named ffpyplayer - imported by kivy.core.audio.audio_ffpyplayer (optional), kivy.core.video.video_ffpyplayer (optional), kivy.core.image.img_ffpyplayer (top-level)
missing module named enchant - imported by kivy.core.spelling.spelling_enchant (top-level)
missing module named asyncio.DefaultEventLoopPolicy - imported by asyncio (delayed, conditional), asyncio.events (delayed, conditional)
missing module named Image - imported by kivy.core.image.img_pil (optional), docutils.parsers.rst.directives.images (optional)
missing module named roman - imported by docutils.writers.latex2e (optional), docutils.writers.manpage (optional)
missing module named 'ffpyplayer.player' - imported by kivy.core.audio.audio_ffpyplayer (optional), kivy.core.video.video_ffpyplayer (optional)
missing module named dbus - imported by kivy.core.clipboard.clipboard_dbusklipper (optional)
missing module named AppKit - imported by kivy.core.spelling.spelling_osxappkit (top-level)
missing module named smb - imported by kivy.loader (delayed, conditional, optional)
missing module named kivy.lib.vidcore_lite.egl - imported by kivy.lib.vidcore_lite (top-level), kivy.core.window.window_egl_rpi (top-level) missing module named kivy.lib.vidcore_lite.egl - imported by kivy.lib.vidcore_lite (top-level), kivy.core.window.window_egl_rpi (top-level)
missing module named kivy.lib.vidcore_lite.bcm - imported by kivy.lib.vidcore_lite (top-level), kivy.core.window.window_egl_rpi (top-level) missing module named kivy.lib.vidcore_lite.bcm - imported by kivy.lib.vidcore_lite (top-level), kivy.core.window.window_egl_rpi (top-level)
missing module named cv2 - imported by kivy.core.camera.camera_opencv (optional), kivy.core.camera.camera_android (delayed)
missing module named jnius - imported by kivy.metrics (delayed, conditional), kivy.app (delayed, conditional), kivy.core.clipboard.clipboard_android (top-level), kivy.core.audio.audio_android (top-level), kivy.core.camera.camera_android (top-level)
missing module named 'pygame.scrap' - imported by kivy.core.clipboard.clipboard_pygame (optional)
missing module named pygame - imported by kivy.input.providers.androidjoystick (conditional), kivy.app (delayed, conditional), kivy.support (delayed), kivy.core.text.text_pygame (optional), kivy.core.audio.audio_pygame (conditional, optional), kivy.core.image.img_pygame (optional), kivy.core.window.window_pygame (top-level), kivy.core.clipboard.clipboard_pygame (optional)
missing module named Leap - imported by kivy.input.providers.leapfinger (delayed)
missing module named android - imported by kivy.metrics (delayed, conditional), kivy.core.window (delayed, conditional), kivy.base (delayed, optional), kivy.input.providers.androidjoystick (optional), kivy.app (delayed, conditional), kivy.support (delayed, optional), kivy.core.clipboard.clipboard_android (top-level), kivy.core.window.window_sdl2 (delayed, conditional), kivy.core.audio.audio_android (top-level), kivy.core.window.window_pygame (conditional, optional)
missing module named oscpy - imported by kivy.input.providers.tuio (delayed, optional)
missing module named ffmpeg - imported by kivy.core.video.video_ffmpeg (optional)
missing module named AppKit - imported by kivy.core.spelling.spelling_osxappkit (top-level)
missing module named gobject - imported by kivy.support (delayed, optional)
missing module named 'gi.repository' - imported by kivy.support (delayed, optional), kivy.core.clipboard.clipboard_gtk3 (top-level)
missing module named 'ffpyplayer.tools' - imported by kivy.core.video.video_ffpyplayer (optional), kivy.core.image.img_ffpyplayer (top-level), kivy.core.audio.audio_ffpyplayer (optional)
missing module named 'ffpyplayer.player' - imported by kivy.core.video.video_ffpyplayer (optional), kivy.core.audio.audio_ffpyplayer (optional)
missing module named ffpyplayer - imported by kivy.core.video.video_ffpyplayer (optional), kivy.core.image.img_ffpyplayer (top-level), kivy.core.audio.audio_ffpyplayer (optional)
missing module named 'pyobjus.dylib_manager' - imported by kivy.core.clipboard.clipboard_nspaste (optional), kivy.core.audio.audio_avplayer (top-level)
missing module named pyobjus - imported by kivy.core.clipboard.clipboard_nspaste (optional), kivy.core.audio.audio_avplayer (top-level)
missing module named 'ffpyplayer.pic' - imported by kivy.core.image.img_ffpyplayer (top-level)
missing module named smb - imported by kivy.loader (delayed, conditional, optional)
missing module named enchant - imported by kivy.core.spelling.spelling_enchant (top-level)
missing module named Image - imported by kivy.core.image.img_pil (optional), docutils.parsers.rst.directives.images (optional)
missing module named dbus - imported by kivy.core.clipboard.clipboard_dbusklipper (optional)
missing module named 'opencv.highgui' - imported by kivy.core.camera.camera_opencv (optional)
missing module named opencv - imported by kivy.core.camera.camera_opencv (optional)
missing module named android_mixer - imported by kivy.core.audio.audio_pygame (conditional, optional)
missing module named 'android.mixer' - imported by kivy.core.audio.audio_pygame (conditional, optional)
missing module named 'android.runnable' - imported by kivy.core.clipboard.clipboard_android (top-level)
missing module named roman - imported by docutils.writers.latex2e (optional), docutils.writers.manpage (optional)
missing module named gi - imported by kivy.core.camera.camera_gi (top-level), kivy.core.clipboard.clipboard_gtk3 (top-level)
missing module named ConfigParser - imported by kivy.config (optional) missing module named ConfigParser - imported by kivy.config (optional)
missing module named usercustomize - imported by site (delayed, optional) missing module named usercustomize - imported by site (delayed, optional)
missing module named sitecustomize - imported by site (delayed, optional) missing module named sitecustomize - imported by site (delayed, optional)

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,19 +1,17 @@
import pythoncom import pythoncom
from win32com.client import Dispatch, gencache from win32com.client import Dispatch, gencache
import os import os
from PIL import Image, ImageDraw, ImageFont
from collections import defaultdict from collections import defaultdict
def export_opened_to_raster(): def export_opened_to_raster():
""" """
Функция для экспорта открытых документов КОМПАС в JPG, DXF и PDF Функция для экспорта открытых документов КОМПАС в DXF и PDF
Возвращает строку с подробной статистикой выполнения Возвращает строку с подробной статистикой выполнения
""" """
result = [] result = []
stats = { stats = {
'total_docs': 0, 'total_docs': 0,
'processed_docs': 0, 'processed_docs': 0,
'jpg_created': 0,
'dxf_created': 0, 'dxf_created': 0,
'errors': 0, 'errors': 0,
'created_files': defaultdict(list), 'created_files': defaultdict(list),
@ -22,7 +20,7 @@ def export_opened_to_raster():
} }
try: try:
# Получаем API интерфейсов версии 5 # Инициализация API КОМПАС
api5_module = gencache.EnsureModule("{0422828C-F174-495E-AC5D-D31014DBBE87}", 0, 1, 0) api5_module = gencache.EnsureModule("{0422828C-F174-495E-AC5D-D31014DBBE87}", 0, 1, 0)
api5_api = api5_module.KompasObject( api5_api = api5_module.KompasObject(
Dispatch("Kompas.Application.5")._oleobj_.QueryInterface( Dispatch("Kompas.Application.5")._oleobj_.QueryInterface(
@ -42,16 +40,17 @@ def export_opened_to_raster():
).constants ).constants
application = module.IApplication(api) application = module.IApplication(api)
save_param = None
images = []
application.Visible = True application.Visible = True
first_doc_name = None first_doc_name = None
stats['total_docs'] = application.Documents.Count stats['total_docs'] = application.Documents.Count
if stats['total_docs'] == 0:
return "[ОШИБКА] В КОМПАС не открыто ни одного документа."
result.append(f"Найдено документов: {stats['total_docs']}") result.append(f"Найдено документов: {stats['total_docs']}")
result.append("Начинаем обработку...\n") result.append("Начинаем обработку...\n")
# Собираем информацию о всех документах перед созданием PDF # Сбор информации о документах
docs_info = [] docs_info = []
for i in range(application.Documents.Count): for i in range(application.Documents.Count):
try: try:
@ -63,7 +62,7 @@ def export_opened_to_raster():
k_constants.ksDocumentFragment, k_constants.ksDocumentFragment,
k_constants.ksDocumentSpecification, k_constants.ksDocumentSpecification,
]: ]:
doc.Active = True doc.Active = True # Активируем документ
doc_path = doc.Path doc_path = doc.Path
doc_name = "-".join(doc.Name.split(".")[:-1]) doc_name = "-".join(doc.Name.split(".")[:-1])
stats['processed_docs'] += 1 stats['processed_docs'] += 1
@ -71,26 +70,17 @@ def export_opened_to_raster():
doc_api5 = api5_api.ActiveDocument2D() doc_api5 = api5_api.ActiveDocument2D()
doc_api7 = module.IKompasDocument(doc) doc_api7 = module.IKompasDocument(doc)
if first_doc_name is None: if not docs_info:
try:
first_doc_name = ( first_doc_name = (
doc_api7.LayoutSheets.ItemByNumber(1).Stamp.Text(2).Str doc_api7.LayoutSheets.ItemByNumber(1).Stamp.Text(2).Str
) )
except:
first_doc_name = "combined_documents"
if doc_type == k_constants.ksDocumentSpecification:
doc_api5 = api5_api.SpcActiveDocument()
if doc_api5 and save_param is None:
rasterParJPG = doc_api5.RasterFormatParam()
rasterParJPG.Init()
rasterParJPG.colorBPP = 8
rasterParJPG.colorType = 3
rasterParJPG.extResolution = 96
rasterParJPG.format = 0
rasterParJPG.greyScale = False
# Сохраняем информацию о документе
docs_info.append({ docs_info.append({
'doc_api5': doc_api5, 'doc_api5': doc_api5,
'doc_api7': doc_api7,
'doc_path': doc_path, 'doc_path': doc_path,
'doc_name': doc_name, 'doc_name': doc_name,
'doc_type': doc_type 'doc_type': doc_type
@ -102,90 +92,110 @@ def export_opened_to_raster():
stats['errors'] += 1 stats['errors'] += 1
result.append(f"[ОШИБКА] Документ #{i+1}: {str(e)}") result.append(f"[ОШИБКА] Документ #{i+1}: {str(e)}")
# Обрабатываем каждый документ для сохранения JPG и DXF # Экспорт в DXF
for doc_info in docs_info: for doc_info in docs_info:
try: try:
for ext in ["jpg", "dxf"]: dxf_dir = os.path.join(doc_info['doc_path'], "dxf")
path = f"{doc_info['doc_path']}{ext}/" if not os.path.exists(dxf_dir):
filename = f"{doc_info['doc_name']}.{ext}" os.makedirs(dxf_dir)
full_path = os.path.join(path, filename) stats['created_files']['dxf_dirs'].append(dxf_dir)
if not os.path.exists(path): dxf_path = os.path.join(dxf_dir, f"{doc_info['doc_name']}.dxf")
os.makedirs(path) doc_info['doc_api5'].ksSaveToDXF(dxf_path)
stats['created_files'][f"{ext}_dirs"].append(path)
if ext == "jpg":
doc_info['doc_api5'].SaveAsToRasterFormat(full_path, rasterParJPG)
stats['jpg_created'] += 1
stats['created_files']['jpg_files'].append(full_path)
img = Image.open(full_path)
images.append(img)
if ext == "dxf":
doc_info['doc_api5'].ksSaveToDXF(full_path)
stats['dxf_created'] += 1 stats['dxf_created'] += 1
stats['created_files']['dxf_files'].append(full_path) stats['created_files']['dxf_files'].append(dxf_path)
result.append(f"Создан DXF: {dxf_path}")
except Exception as e: except Exception as e:
stats['errors'] += 1 stats['errors'] += 1
result.append(f"[ОШИБКА] При сохранении {doc_info['doc_name']}: {str(e)}") result.append(f"[ОШИБКА] При сохранении DXF {doc_info['doc_name']}: {str(e)}")
# Если есть изображения, создаем PDF # Создание PDF
if images and docs_info: if docs_info and first_doc_name:
first_doc_path = docs_info[0]['doc_path']
pdf_path = f"{first_doc_path}pdf/"
if not os.path.exists(pdf_path):
os.makedirs(pdf_path)
stats['created_files']['pdf_dirs'].append(pdf_path)
pdf_filename = f"{first_doc_name}_pages.pdf"
pdf_output_path = os.path.join(pdf_path, pdf_filename)
# Создаем заглавную страницу
try: try:
font = ImageFont.truetype("arial.ttf", size=48) pdf_dir = os.path.join(docs_info[0]['doc_path'], "pdf")
except IOError: if not os.path.exists(pdf_dir):
font = ImageFont.load_default() os.makedirs(pdf_dir)
stats['created_files']['pdf_dirs'].append(pdf_dir)
title_image = Image.new("RGB", (images[0].width, 200), color="white") pdf_filename = f"{first_doc_name}_vector.pdf"
draw = ImageDraw.Draw(title_image) pdf_output_path = os.path.join(pdf_dir, pdf_filename)
title_text = f"{first_doc_name}\nКоличество страниц: {len(images)}"
draw.text((10, 50), title_text, fill="black", font=font, spacing=10) # Сохраняем каждый документ в PDF
images.insert(0, title_image) temp_pdfs = []
for doc_info in docs_info:
doc_pdf_path = os.path.join(pdf_dir, f"{doc_info['doc_name']}_temp.pdf")
try:
# Активируем документ перед сохранением
doc_info['doc_api7'].Active = True
# Попытка сохранить документ в PDF через SaveAs
doc_info['doc_api7'].SaveAs(doc_pdf_path)
temp_pdfs.append(doc_pdf_path)
# Убираем сообщение о создании PDF
# result.append(f"Создан PDF: {doc_pdf_path}")
except Exception as e:
# Если SaveAs не поддерживает PDF, используем альтернативный метод
dxf_path = os.path.join(doc_info['doc_path'], "dxf", f"{doc_info['doc_name']}.dxf")
convert_dxf_to_pdf(dxf_path, doc_pdf_path)
temp_pdfs.append(doc_pdf_path)
# Убираем сообщение о преобразовании DXF в PDF
# result.append(f"Преобразован DXF в PDF: {doc_pdf_path}")
# Объединяем все PDF в один файл
merge_pdfs(temp_pdfs, pdf_output_path)
# Удаляем временные PDF
for temp_pdf in temp_pdfs:
os.remove(temp_pdf)
# Убираем сообщение об удалении временного PDF
# result.append(f"Удален временный PDF: {temp_pdf}")
# Сохраняем PDF
images[0].save(
pdf_output_path,
"PDF",
resolution=96.0,
save_all=True,
append_images=images[1:],
)
stats['pdf_created'] = True stats['pdf_created'] = True
stats['pdf_path'] = pdf_output_path stats['pdf_path'] = pdf_output_path
stats['created_files']['pdf_files'].append(pdf_output_path) stats['created_files']['pdf_files'].append(pdf_output_path)
result.append(f"Создан векторный PDF: {pdf_output_path}")
except Exception as e:
stats['errors'] += 1
result.append(f"[ОШИБКА] При создании PDF: {str(e)}")
# Формируем итоговый отчёт # Формируем итоговый отчёт
result.append("\n=== РЕЗУЛЬТАТЫ ===") result.append("\n=== РЕЗУЛЬТАТЫ ===")
result.append(f"Обработано документов: {stats['processed_docs']}/{stats['total_docs']}") result.append(f"Обработано документов: {stats['processed_docs']}/{stats['total_docs']}")
result.append(f"Создано JPG-файлов: {stats['jpg_created']}")
result.append(f"Создано DXF-файлов: {stats['dxf_created']}") result.append(f"Создано DXF-файлов: {stats['dxf_created']}")
result.append(f"PDF создан: {'Да' if stats['pdf_created'] else 'Нет'}") result.append(f"PDF создан: {'Да' if stats['pdf_created'] else 'Нет'}")
result.append(f"Ошибок: {stats['errors']}\n") result.append(f"Ошибок: {stats['errors']}\n")
if stats['pdf_created']: # if stats['pdf_created']:
result.append(f"PDF сохранён: {stats['pdf_path']}\n") # result.append(f"PDF сохранён: {stats['pdf_path']}\n")
# Выводим список созданных файлов # Выводим список созданных файлов
result.append("Созданные файлы и папки:") # result.append("Созданные файлы и папки:")
for file_type, files in stats['created_files'].items(): # for file_type, files in stats['created_files'].items():
if files: # if files:
result.append(f"\n{file_type.replace('_', ' ').title()}:") # result.append(f"\n{file_type.replace('_', ' ').title()}:")
for f in files: # for f in files:
result.append(f"{f}") # result.append(f" • {f}")
except Exception as e: except Exception as e:
result.append(f"\n[КРИТИЧЕСКАЯ ОШИБКА] {str(e)}") result.append(f"\n[КРИТИЧЕСКАЯ ОШИБКА] {str(e)}")
return "\n".join(result) return "\n".join(result)
def merge_pdfs(paths, output_path):
"""Объединяет несколько PDF в один."""
from PyPDF2 import PdfMerger
merger = PdfMerger()
for path in paths:
merger.append(path)
merger.write(output_path)
merger.close()
def convert_dxf_to_pdf(dxf_path, pdf_path):
"""Преобразует DXF в PDF."""
from dxf2pdf import convert
convert(dxf_path, pdf_path)

View File

@ -5,19 +5,15 @@ import os
def get_all_sheets(): def get_all_sheets():
try: try:
# Получи API интерфейсов версии 5 # Получаем API интерфейсов версии 5
api5_module = gencache.EnsureModule("{0422828C-F174-495E-AC5D-D31014DBBE87}", 0, 1, 0) api5_module = gencache.EnsureModule("{0422828C-F174-495E-AC5D-D31014DBBE87}", 0, 1, 0)
api5_api = api5_module.KompasObject( api5_api = api5_module.KompasObject(
Dispatch("Kompas.Application.5")._oleobj_.QueryInterface( Dispatch("Kompas.Application.5")._oleobj_.QueryInterface(api5_module.KompasObject.CLSID, pythoncom.IID_IDispatch)
api5_module.KompasObject.CLSID, pythoncom.IID_IDispatch
)
) )
module = gencache.EnsureModule("{69AC2981-37C0-4379-84FD-5DD2F3C0A520}", 0, 1, 0) module = gencache.EnsureModule("{69AC2981-37C0-4379-84FD-5DD2F3C0A520}", 0, 1, 0)
api = module.IKompasAPIObject( api = module.IKompasAPIObject(
Dispatch("Kompas.Application.7")._oleobj_.QueryInterface( Dispatch("Kompas.Application.7")._oleobj_.QueryInterface(module.IKompasAPIObject.CLSID, pythoncom.IID_IDispatch)
module.IKompasAPIObject.CLSID, pythoncom.IID_IDispatch
)
) )
application = module.IApplication(api) application = module.IApplication(api)
@ -29,11 +25,19 @@ def get_all_sheets():
try: try:
doc = application.Documents.Open(i) doc = application.Documents.Open(i)
doc_type = doc.DocumentType doc_type = doc.DocumentType
if doc_type in [4, 5]: # 4 — чертеж, 5 — сборка if doc_type not in [4, 5]: # 4 — чертеж, 5 — сборка
continue
doc.Active = True doc.Active = True
doc_path = doc.Path doc_path = doc.Path
doc_name = "-".join(doc.Name.split(".")[:-1]) doc_name = '-'.join(doc.Name.split('.')[:-1])
print(f"Анализируем документ: {doc_name}")
# Добавляем заголовок документа
result.append(f"{'=' * 80}")
result.append(f"Анализ документа: {doc_name}")
result.append(f"Тип: {'Чертеж' if doc_type == 4 else 'Сборка'}")
result.append(f"Путь: {doc_path}")
result.append(f"{'=' * 80}")
doc_3d = module.IKompasDocument3D(doc) doc_3d = module.IKompasDocument3D(doc)
top_part = doc_3d.TopPart top_part = doc_3d.TopPart
@ -69,7 +73,7 @@ def get_all_sheets():
if type(item) in (module.IUserDesignationCompObj,): if type(item) in (module.IUserDesignationCompObj,):
welding.append(item) welding.append(item)
except Exception as e: except Exception as e:
print("Ошибка в DrawingContext") result.append("Ошибка в DrawingContext")
try: try:
doc_parts = module.IParts7(part.Parts) doc_parts = module.IParts7(part.Parts)
@ -80,7 +84,7 @@ def get_all_sheets():
look_features(element) look_features(element)
find_elements(element) find_elements(element)
except Exception as e: except Exception as e:
print("Ошибка в Parts") result.append("Ошибка в Parts")
if doc_type == 5: if doc_type == 5:
find_elements(top_part) find_elements(top_part)
@ -89,54 +93,56 @@ def get_all_sheets():
look_drawing(top_part) look_drawing(top_part)
look_features(top_part) look_features(top_part)
print(f"Найдено:\n Элементов: {len(elements)}\n Гибов: {len(bends)}\n") result.append(f"\nНайдено:\n Элементов: {len(elements)}\n Гибов: {len(bends)}\n")
sorted_data = { sorted_data = {
"Name": {}, "Элементы": {},
"Material": {}, "Материалы": {},
"Area": {}, "Площади": {},
"Сварные соединения": {}
} }
for e in elements: for e in elements:
for n in sorted_data.keys(): # Элементы
if n == "Name": name = f"{getattr(e, 'Name', 'Неизвестное имя')}, масса {round(getattr(e, 'Mass', 0), 3)} кг"
v = f"{getattr(e, n)}, масса {round(getattr(e, 'Mass'), 3)}" sorted_data["Элементы"][name] = sorted_data["Элементы"].get(name, 0) + 1
res = sorted_data[n].get(v, 0) + 1
elif n == "Area":
mass_inertial_params = module.IMassInertiaParam7(e)
val = mass_inertial_params.Area * 0.0001
v = f"площадь {getattr(e, 'Material')}, м²:"
res = round(sorted_data[n].get(v, 0) + val, 6)
else:
v = getattr(e, n)
res = sorted_data[n].get(v, 0) + 1
sorted_data[n][v] = res
sorted_data["Area"]["Total"] = sum(sorted_data["Area"].values()) # Материалы
material = getattr(e, 'Material', "Неизвестный материал")
sorted_data["Материалы"][material] = sorted_data["Материалы"].get(material, 0) + 1
welding_key = "Welding" # Площади
for w in welding:
if welding_key not in sorted_data:
sorted_data[welding_key] = {}
w_name = w.Name
w_name_split = w_name.split("-")
w_len = w_name_split[-1].split("@")[0]
sorted_data[welding_key][w_name] = w_len
if welding_key in sorted_data:
def float_f(n):
try: try:
return float(n) mass_inertial_params = module.IMassInertiaParam7(e)
area = round(mass_inertial_params.Area * 0.0001, 6) # Перевод в м²
area_key = f"площадь {material}, м²:"
sorted_data["Площади"][area_key] = sorted_data["Площади"].get(area_key, 0) + area
except Exception as e: except Exception as e:
return 0 result.append(f"Ошибка при вычислении площади: {e}")
sorted_data[welding_key]["Total"] = sum([float_f(f) for f in sorted_data[welding_key].values()])
result.append(f"Документ: {doc_name}") sorted_data["Площади"]["Общая площадь"] = sum(sorted_data["Площади"].values())
for s in sorted_data:
result.append(s) # Сварные соединения
for n in sorted_data[s]: if welding:
result.append(f"{n} -- {sorted_data[s][n]}") for w in welding:
result.append("-----") w_name = w.Name
w_len = w_name.split("-")[-1].split("@")[0]
sorted_data["Сварные соединения"][w_name] = w_len
total_welding = sum(float(w_len) for w_len in sorted_data["Сварные соединения"].values() if isinstance(w_len, str) and w_len.isdigit())
sorted_data["Сварные соединения"]["Общая длина"] = round(total_welding, 2)
else:
sorted_data.pop("Сварные соединения", None) # Удаляем раздел, если данных нет
# Вывод результатов
for section, data in sorted_data.items():
if not data: # Пропускаем пустые разделы
continue
result.append(f"\n{section}:")
for key, value in data.items():
result.append(f" {key}: {value}")
result.append("") # Пустая строка для разделения
except Exception as e: except Exception as e:
result.append(f"Ошибка при обработке документа {i}: {e}") result.append(f"Ошибка при обработке документа {i}: {e}")

View File

@ -71,7 +71,7 @@ def save_opened_to_iges():
result.append(f"Ошибка при обработке документа {i} ({doc.Name}): {str(e)}") result.append(f"Ошибка при обработке документа {i} ({doc.Name}): {str(e)}")
if saved_files > 0: if saved_files > 0:
result.insert(0, f"\nУспешно сохранено файлов: {saved_files}") result.insert(0, f"Успешно сохранено файлов: {saved_files}")
else: else:
result.append("Не найдено подходящих документов для сохранения") result.append("Не найдено подходящих документов для сохранения")