ДОПУСК инженерные утилиты
Чертежи и документы

Версии файлов КОМПАС-3D, реестр и PDF в одном окне

Утилита показывает, какой версией КОМПАС-3D сохранён каждый файл, и рисует превью чертежей и моделей, не запуская КОМПАС. В том же окне собирается реестр по штампам, правится CSV, сохраняется PDF и комплект для передачи.

Роль
Разработка с нуля
Срок
3 недели
Стек
Python, КОМПАС API (COM), PyInstaller
Поставка
Портативный EXE
Окно утилиты: список файлов с версиями, сводка по типам и панель пересохранения
Список файлов с версией и типом контейнера. Версии и превью читаются из самих файлов, КОМПАС для этого не нужен.

Проблема

Папка с чертежами живёт годами. Файлы в ней сохранены разными версиями КОМПАС-3D: часть открывается, часть нет, и заранее это не видно. Обычный путь: открыть каждый файл и посмотреть.

  • какой версией сохранён файл, без запуска КОМПАСа не понять;
  • чтобы узнать обозначение и наименование, приходится открывать каждый чертёж и читать штамп;
  • для передачи подрядчику нужно собрать копии, найти модели, сделать PDF и не потерять реестр;
  • старые файлы не открываются в новой версии, а пересохранить их пачкой нечем;
  • превью нет: список файлов ничего не говорит о содержимом, пока не откроешь документ.

На папке из сотни документов это часы работы, и часть файлов к концу дня остаётся непроверенной.

Что делает утилита

Определяет версию файла

Читает первые 16 КБ и показывает версию формата: v21, v16 SP1, v5.11 R03. КОМПАС не запускается, файлы не меняются.

Рисует превью

Миниатюры чертежей и моделей прямо из файлов: плитками в окне или отдельными PNG. Тоже без КОМПАСа.

Собирает реестр по штампам

Обозначение, наименование, материал, масса, масштаб, разработал и другие поля. В CSV-реестре все 16 колонок, UTF-8 с BOM.

Правит штампы через CSV

Шаблон с текущими значениями, правка в таблице, применение к одному файлу или массово по CSV. Оригинал меняется только с бэкапом.

Сохраняет PDF

Чертежи и спецификации по одному, всей папкой без выделения или общим альбомом с закладками по именам файлов.

Пересохраняет в старые версии

Через установленный КОМПАС: рядом с файлами, в отдельную папку или в автоматическую подпапку с пометкой «(новая)» внутри папки с документами. Исходники остаются целыми.

Собирает комплект для передачи

Копии документов, модели-зависимости, реестр, PDF, при желании ZIP и отчёт комплекта. Ошибка одного файла партию не рвёт.

Пишет отчёты и кэширует скан

CSV и JSON по списку: версия, тип, контейнер, размер, дата. Повторный скан идёт из кэша и занимает мгновение.

Что получается

  • report.csv и report.json: полный список файлов с версиями, типами и размерами;
  • PNG-превью: плитки в окне или файлы, сохранённые отдельно;
  • Реестр чертежей.csv: 16 колонок и шаблон правки того же формата;
  • Имя.pdf для каждого чертежа и спецификации плюс общий альбом с закладками;
  • Папка комплекта: копии, зависимости, PDF, реестр, отчёт комплекта, при желании ZIP.
PDF и штампы делает установленный КОМПАС-3D v16+. Версии и превью работают без него, а для PDF нужен конвертер Pdf2d.dll из состава КОМПАСа. Трёхмерные модели .m3d и сборки .a3d в PDF не выводятся: они пропускаются с предупреждением.

Результат

0,004 с
на 21 файл при чтении версий
16
колонок в реестре чертежей и шаблоне правки
4 с
на комплект с зависимостью и ZIP

Инженер за один проход видит, какие файлы в папке старые, какие модели нужны к чертежам, и получает готовый комплект для подрядчика. Открывать каждый файл вручную больше не нужно.

Ограничения, о которых честно

  • PDF только для чертежей и спецификаций: .cdw, .frw, .spw, .kdw. Модели и сборки пропускаются, так задумано.
  • Шрифты, линии и качество PDF зависят от установленного КОМПАС-3D: настройки конвертера штатные, отдельно не регулируются.
  • У части старых и самодельных файлов штамп нарисован геометрией: полей для чтения и правки в них нет.
  • Масштаб в редких файлах задан служебной строкой: «1:1» автоматически не распознаётся.
  • Превью у v5.11 и части старых файлов может отсутствовать. Это не ошибка, а отсутствие миниатюры в файле.