Kompas Конвертер: множество чертежей => один PDF

Автор range-kun, 28.06.23, 20:40:48

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

range-kun

Всех приветствую, сразу к делу.
Написал программу на Python которая поможет вам в печати (и не только) большого объема конструкторской документации для Компаса.  Как это работает: вы указываете папку с чертежами => нажимаете склеить => получаете единый PDF документ => печатаете (если нужно разбить документ по форматам A4, A3, A2 программа и это сделает).
Также, одной из самый интересных особенностей является возможность составление PDF документов по спецификации, вы указываете нужную спецификацию а программа за вас ищет все детали, сборки и подсборки которые входят в нее
Помимо прочего программа решает и ряд других проблем: фильтрация чертежей по датам, по фамилиям проектировщиков, по сортаменту. Добавление водяных знаков на чертеж  и многое другое.
Программа абсолютно бесплатная, очень надеюсь что вам она поможет  :beer: , единственную благодарность которую жду от вас это звездочки данному проекту на GitHub и возможно участие в развитии проекта.
Скачать и попробовать можно здесь
Имеется видео где полностью разобрана работа с данной программой.

+ Благодарностей: 6

Вират Лакх

Заслуженная звезда Вам.
1) Под кнопку i может поставить информацию о версии, авторе, ссылки на GitHub, ютуб и т.д.?
2) Drag-and-drop выделенных файлов из окна или коммандера в окно программы можно было бы добавить.
3) "Добавить файл в список" - желательно фильтр по умолчанию сделать объединенный спецификации + чертежи.
4) Результат работы: в созданной папке "PDF\ - 01 29.06.2023" файл "None-", файлы по размерам не разбил.
5) Файлы в папке "Однодетальные" лучше называть в формате 01, 02 или 001, 002, а то тупые коммандеры сортируют плохо.
+ Благодарностей: 1

Валерий Изранов

Цитата: range-kun от 28.06.23, 20:40:48Как это работает: вы указываете папку с чертежами

Чаще ее нет, чем она есть.
+ Благодарностей: 1

range-kun

Спасибо за звездочку и за предложения по улучшению  :)

Цитата: Вират Лакх от 29.06.23, 06:13:02Заслуженная звезда Вам.
1) Под кнопку i может поставить информацию о версии, авторе, ссылки на GitHub, ютуб и т.д.?
Справку уже под конец доделывал, но в перспективе думаю сделать нормально.

Цитата: Вират Лакх от 29.06.23, 06:13:022) Drag-and-drop выделенных файлов из окна или коммандера в окно программы можно было бы добавить.
3) "Добавить файл в список" - желательно фильтр по умолчанию сделать объединенный спецификации + чертежи.
4) Результат работы: в созданной папке "PDF\ - 01 29.06.2023" файл "None-", файлы по размерам не разбил.
2) D&D классная идея, спасибо
3) Посмотрю как можно исправить, согласен не совсем удобно
4 Не совсем понял, если не трудно, можете сказать какие действия были проделаны :)

Цитата: Вират Лакх от 29.06.23, 06:13:025) Файлы в папке "Однодетальные" лучше называть в формате 01, 02 или 001, 002, а то тупые коммандеры сортируют плохо.
тоже классная идея, спасибо!

Вират Лакх

4) Объединение по папке с разделением по форматам. Сначала разобраться надо с п.6 (см. ниже).
6) Антивирусник ругается. Заблокировал, но почему-то не сразу.
Буфер обмена02.png
---------
Исходники не выкладываете?

range-kun

#5
Цитата: Вират Лакх от 29.06.23, 09:54:036) Антивирусник ругается. Заблокировал, но почему-то не сразу.
Исходники не выкладываете?
Исходники все на гитхабе https://github.com/range-kun/Kompas_draw_merger , можете сами посмотреть код, и запускать / собирать самостоятельно. Собирал через pyinstaller, на всякий случай сейчас проверил через dr web пишет вирусов нет, да и яндекс диск на вирусы проверяет сам

dimak222

Весьма отличное приложение!

Найденные ошибки:
1. При сохранении пути в котором больше 256 символов, приложение зависает и блокирует КОМПАС.

Предложения:
1. Сделать возможность изменять размер окна, т.к. на дисплее с разрешением 4К кнопки программы читаются плохо (Рис. 1).
2. При "Склейке" файлов сделать возможность отменить её (нажать кнопку "Отмена").
3. При снятии галочки "Удалить отдельные PDF", после "Склейки", переименовывать одиночные файлы в соответствии с исходниками (убрать 1 ****.cdw.pdf, 2 ****.spw.pdf и т.д.).
4. Сохранение настроек после закрытия приложения (положение окна, размер окон, включенные/выключенные настройки, путь к папке).
5. Привязать кнопки к размеру окна, сейчас при изменении размера окна, у кнопок фиксированное положение (Рис. 2).
6. Добавить иконку приложения в основном и д.р. окнах.
7. Попробовать перейти на "PyQt6".

P.S. Ещё ни разу не пользовался "Pull requests", так что пока так, иконку не проверял, но надеюсь что сработает:
В main_window.py:
......
self.resize(930, 646) # главное окно с изменяемым размером
self.setWindowTitle("Конвертер")
self.setWindowIcon(QtGui.QIcon("icon.png")) # значок программы
......
+ Благодарностей: 1

range-kun

Спасибо за приятный отзыв и даже готовый код.
Цитата: dimak222 от 29.06.23, 11:28:40Весьма отличное приложение!
Найденные ошибки:
1. При сохранении пути в котором больше 256 символов, приложение зависает и блокирует КОМПАС.

Предложения:
1. Сделать возможность изменять размер окна, т.к. на дисплее с разрешением 4К кнопки программы читаются плохо (Рис. 1).
2. При "Склейке" файлов сделать возможность отменить её (нажать кнопку "Отмена").
3. При снятии галочки "Удалить отдельные PDF", после "Склейки", переименовывать одиночные файлы в соответствии с исходниками (убрать 1 ****.cdw.pdf, 2 ****.spw.pdf и т.д.).
4. Сохранение настроек после закрытия приложения (положение окна, размер окон, включенные/выключенные настройки, путь к папке).
5. Привязать кнопки к размеру окна, сейчас при изменении размера окна, у кнопок фиксированное положение (Рис. 2).
6. Добавить иконку приложения в основном и д.р. окнах.
7. Попробовать перейти на "PyQt6".
По пунктам:
1, 5 возьму в будущие на заметку, пока не разбирался как сделать адаптивный интерфейс на PyQT, посмотрю какие имеются возможности.
4 Пункт существует файл настроек, где можно менять их, но делается это не через сохранение а вручную, в видео я это рассказывал, думаю да в будущем расширить эти и настройки включить те предложения что вы сказали. Единственное не совсем понял путь к папке, для чего сохранять.
2, 6, 7 согласен, буду пробовать
3 Пункт если не ошибаюсь нужен в процессе работы, но можно их убрать по окончанию, вы считаете что цифры не нужны?

dimak222

Цитата: range-kun от 30.06.23, 11:57:17как сделать адаптивный интерфейс на PyQT, посмотрю какие имеются возможности.
Сам пробовал на PyQt6, времени разобраться было мало, но "адаптивный" интерфейс получился (Рис. 1, Рис. 2) (минимальный размер кнопок и окна подстраивается сам, при увеличении окна, кнопки сохраняют симметрию, не привязаны к координатам), делал с помощью Qt Designer.

Цитата: range-kun от 30.06.23, 11:57:17Единственное не совсем понял путь к папке, для чего сохранять.
Бывает после сохранения PDF нашёл ошибку и надо повторно сохранять или настроено сохранение из одной и той-же папки, но надо пробовать, возможно тут не нужно.

Цитата: range-kun от 30.06.23, 11:57:173 Пункт если не ошибаюсь нужен в процессе работы, но можно их убрать по окончанию, вы считаете что цифры не нужны?
Приложением удобно было бы сразу сделать комплект КД (отдельными файлами) и тогда нужно полное соответствие названию файлов исходников.
Как ещё одно предложение, сохранять иерархию (PDF лежат в тех-же подпапках, как и исходники).

P.S. Сейчас для сохранения в PDF пользуюсь Kompas2PDF, самое незаменимое приложение!!! Если незнакомы, советую ознакомиться, там есть очень удобная фишка с ключами в ярлыке, которыми можно задать режим работы приложения. Если понравится идея с ярлыками, могу скинуть тестовые наработки работы ключей в ярлыке для Python, самому пока не пригодились, но хоть смог разобраться как сделать.
Но в приложении есть баг, при создании PDF "для печати" (когда делишь на форматки, портит файл исходника PDF (если делал разбивку из PDF), но можно просто временно создавать копию исходников PDF и потом их удалить). И не хватает сохранения PDF с иерархией, без костылей.

P.P.S Есть ещё предложения:
1. Добавить обработку PDF (объединение, разделение, разделение на форматки...), к примеру, как реализовано в Kompas2PDF.
2. Сделать один .exe без лишних папок (--onefile), файл настроек и др. хранить рядом с .exe.