Пакетное отвязывание чертежей от 3D и изменение версий файлов Компас

Автор Volkodav, 21.11.25, 08:47:48

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

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

Volkodav

Добрый день, коллеги!
Разработал небольшую утилиту, которая может быть полезна тем, кто регулярно работает с большими объёмами моделей КОМПАС-3D: https://i31-engineering.ru
Основной функционал:

Пакетное отвязывание чертежей и спецификаций от 3D-моделей
Пригодится при подготовке документации к передаче, архивированию или очистке зависимостей.

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

Поддерживает обработку всех файлов из выбранной папки, включая вложенные всех уровней.

Хмарик

Цитата: Volkodav от 21.11.25, 08:47:48отвязывание чертежей
Все обычно хотят привязать чертежи к модели.

Цитата: Volkodav от 21.11.25, 08:47:48пересохранение моделей между версиями КОМПАС-3D
Никому не удавалось сохранить модель из мЕньшей версии Компаса в бОльшую.
Ваша утилита действительно умеет сохранить модель из К20 в К22?



Volkodav

Благодарю за отклик!
По отвязыванию чертежей.
Да, возможно в большинстве случаев требуется именно привязка. Но бывают ситуации, в частности у меня, когда наоборот нужно подготовить документацию к передаче или архивированию — и тогда отвязка удобна. Поэтому добавил эту опцию как вспомогательную.

По пересохранению между версиями.
Речь идёт только о стандартном механизме КОМПАС-3D: модель старшей версии можно открыть в младшей. Утилита автоматизирует именно этот процесс.
То есть например открыть файл К22 - пересохранить в К20, или открыть К21 - пересохранить в К16, и т. д.
Сохранить из старой в новую (например, К20 - К22) действительно невозможно и не заявлено — API и сам Компас такую операцию не позволяют.

chromium



chromium

Пересохранение файлов в более ранние версии - уже неоднократно делалось другими энтузиастами (причём бесплатно). В чём принципиальное отличие вашей утилиты в данном функционале от других? Например есть у меня давно программа save_to_all_v1.1.0.exe , которая позволяет сохранять файлы вообще в любые старые версии компаса (а не 2-3 назад)
Снимок экрана 2025-11-20 222421.png

https://vmasshtabe.ru/design-automation/utilita-dlya-paketnogo-sohraneniya-fajlov-kompas-v-raznye-versii-i-formaty.html

Volkodav

Спасибо за информацию, знаком с этой программой.
Я не ставлю целью конкурировать с уже существующими решениями - я сделал инструмент под свои рабочие задачи и просто решил поделиться, вдруг кому-то пригодится.
Список для пересохранения в моем случае, аналогично Вашему, охватывает все версии Компас.

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

Для кого-то save_to_all_v1.1.0 может оказаться удобнее, это нормально - хорошо, что есть выбор. Я просто предложил ещё один вариант для тех, кому подойдёт такая логика работы.

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

YNA

Здравствуйте.
А как производится оплата, если по карте, то какой?

Volkodav

Цитата: YNA от 21.11.25, 09:45:58Здравствуйте.
А как производится оплата, если по карте, то какой?
Здравствуйте, вся информация в самой утилите.

lavgirb

Цитата: Volkodav от 21.11.25, 08:47:48Пригодится при подготовке документации к передаче, архивированию или очистке зависимостей.
Мы в ОТД сдаем бумагу, которую печатаем с PDF, который делаем из КОМПАС.
Чертежи PDF посылаем на изготовление, когда надо прикладываем STEP.
Часто у потребителей КД нет ни КОМПАС, ни специалистов по нему.
Не понятен реализуемый у Вас подход к элементам электронного документооборота.
Когда надо непременно отдавать чертежи в КОМПАС. И специально их копии для этого готовить.

Попробовал.
1 Можно было бы предусмотреть добавление в имя нового файла чертежа информацию о его версии.
2 Можно было бы предусмотреть в имени файла чертежа информацию о том, что от него отвязана модель. Типа [Модель отвязана] или [Без файла-источника] или еще как-то. Это было бы удобно.
1 и 2 на выбор пользователя.

Повторное нажатие на кнопку Начать обработку не перезаписывает файлы в выбранную папку, а создает новые в подпапке выбранной папки. Так и задумано?
Не очищается окно Информационное сообщение, когда Готов к работе/
Иногда, когда копирование и конвертация скопированных файлов осуществляется, выдает сообщение о том что не удалось обработать ни одного файла.

Хорошая утилита и, в целом, хорошо работает. Но еще сыровата.
Win 10 КОМПАС-3D Home V23
+ Благодарностей: 1

Volkodav

Спасибо за подробный отзыв!
В моей работе обычно требуется подготовка документации именно к передаче чертежей и спецификаций в формате разработки, без 3D моделей, и утилита делалась для этих целей.
Ваши предложения действительно повысят удобство, хотя пока апгрейдить утилиту не планирую - но взял на заметку, возможно позже что-то из этого добавлю.
Спасибо, что протестировали!

СВ

 Любопытствую, какие вы создаёте утилиты? И много ли?
Одни создают небольшие узко специализированные, другие - большие универсальные (пример с нашего же форума - "Браком") ...

Volkodav

Созданных утилит - около двух штук где-то :grin:
В основном использую готовые решения продвинутых в смысле кодинга энтузиастов, к которым себя к сожалению пока не отношу.
Потребовался в работе именно этот узкий функционал - пакетное разрушение ассоциативных связей. Бороздил просторы - ничего похожего не нашел.
Пришлось самому вычудить :grin: Правда с моими узкими познаниями в кодинге это был адский труд. Результат, как ни странно, оказался рабочим :cheesy:

lavgirb

Цитата: Volkodav от 22.11.25, 12:36:12Созданных утилит - около двух штук где-то :grin:
В основном использую готовые решения продвинутых в смысле кодинга энтузиастов, к которым себя к сожалению пока не отношу.
Потребовался в работе именно этот узкий функционал - пакетное разрушение ассоциативных связей. Бороздил просторы - ничего похожего не нашел.
Пришлось самому вычудить :grin: Правда с моими узкими познаниями в кодинге это был адский труд. Результат, как ни странно, оказался рабочим :cheesy:
У меня КОМПАС остается в процессах после окончания обработки.

ProgressEnd.JPG

Volkodav

Да, пока утилита не закрыта - приложение KOMPAS может оставаться активным. При закрытии утилиты процесс должен деактивироваться.

lavgirb

Цитата: Volkodav от 22.11.25, 22:14:09Да, пока утилита не закрыта - приложение KOMPAS может оставаться активным. При закрытии утилиты процесс должен деактивироваться.
Понял.
После обработки, открытый не программой КОМПАС скрылся из виду.

Volkodav


lavgirb

Цитата: Volkodav от 23.11.25, 10:26:41Вы имеете в виду "всё хорошо"? 88))
Нет, не хорошо: не планировал его ни выгружать, ни скрывать.

Volkodav

Да, сейчас есть такая проблема. Решение описано в Readme: "- Закройте все открытые сеансы КОМПАС-3D".
В текущем релизе утилита корректно работает только если нет открытых документов Компас.
Благодарю за замечание, учту при допиливании :w:

Soultaker

Цитата: lavgirb от 23.11.25, 09:37:55Понял.
После обработки, открытый не программой КОМПАС скрылся из виду.
Так человек выстрелил себе в ногу из-за особенностей работы Windows и того, что все к КОМПАС подключаются из внешнего приложения, а не пишут плагины. Если запущено более одного экземпляра, то Windows возвращает первый экземпляр из ROT.
Чтобы такого избежать, при подключении, нужно проверять запущенный объект Marshal.GetActiveObject. Но это не точно. Я всё равно пишут плагины.