Автоматический экспорт из КОМПАС-3D в слайсер Сura
В одной из новинок версии КОМПАС-3D v21 появилась возможность сохранения настроек при экспорте в STL.
Ранее всегда приходилось накручивать параметры при каждом сохранении.
Теперь же установив нужные параметры, можно сохранить свою конфигурацию в отдельный файл.
Если установить другие параметры применятся установленные.
Конфигурация будет применяться при каждом сохранении в формат STL, без вызова параметров, по кнопке "сохранить".
Не много автоматизируем и это сохранение. Так-как при ручном сохранении необходимо будет выполнять следующую процедуру:
1 Сохранить как
2 Выбрать тип файла из списка "STL"
3 Сохранить
Три клика. А если вы пере сохраните модель под тем же именем, так-же еще необходимо нажимать "да" для замены.
Итого 4 клика.
Для автоматизации нам потребуется библиотека КОМПАС-Макро, необходимо установить при установке Компаса c ней в комплекте устанавливается портабельный Python, либо любой другой Python c установленной библиотекой pywin32.
Далее нам потребуется создать пустой текстовый файл, с расширением *.py или *.pyw
В этот текстовый файл пишем код:
import os
import pythoncom
from win32com.client import Dispatch, gencache
# Подключим константы API Компас
kompas6_constants = gencache.EnsureModule("{75C9F5D0-B5B8-4526-8681-9903C567D2ED}", 0, 1, 0).constants
kompas6_constants_3d = gencache.EnsureModule("{2CAF168C-7961-4B90-9DA2-701419BEEFE3}", 0, 1, 0).constants
# Подключим описание интерфейсов API7
kompas_api7_module = gencache.EnsureModule("{69AC2981-37C0-4379-84FD-5DD2F3C0A520}", 0, 1, 0)
application = kompas_api7_module.IApplication(Dispatch("Kompas.Application.7")._oleobj_.QueryInterface(kompas_api7_module.IApplication.CLSID, pythoncom.IID_IDispatch))
Documents = application.Documents
# Получим активный документ
kompas_document = application.ActiveDocument
kompas_document_3d = kompas_api7_module.IKompasDocument3D(kompas_document)
file_name=kompas_document_3d.Name
path_folder=kompas_document_3d.Path
try:
os.mkdir(path_folder+'stl')
kompas_document.SaveAs(path_folder+'stl\\'+file_name[:-3]+'stl')
os.startfile(path_folder+'stl\\'+file_name[:-3]+'stl')
except:
print('папка есть')
kompas_document.SaveAs(path_folder+'stl\\'+file_name[:-3]+'stl')
os.startfile(path_folder+'stl\\'+file_name[:-3]+'stl')
Должно получиться вот так:
Далее создаете тестовую модель и сохраняете.
После запуска скрипта рядом с исходным файлом модели в компасе появится папка STL в нее же сохранится сам файл и запустится CURА, либо та программа с которой связано расширение. В моем случае на ПК установлен один слайсер.
Далее данный скрип можно добавить в утилиты и вынести на панель компаса.
Более подробно все описано в видеозаписи.
ПС в видео CURA запускается отдельным экземпляром, что-бы этого не происходило в CURE установить опцию:"Использовать один экземпляр CURA"
Повторюсь данное решение применительно к КОМПАС-3D v21, так как используются настройки конфигурации STL. Если у вас более старая версия, то можно посмотреть библиотеку в статье: Автоматический экспорт в STL из Компас 3D
Еще больше интересных статей
Вычисление радиуса скругления для прямоугольника
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Самодельный станок для намотки пластика
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Думаю каждый из нас сталкивался с такой проблемой ка...
Доктор Ливси из Острова сокровищ
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Как большой (заядлый) любитель мультфильма "Остров сокровищ", давно хо...
Комментарии и вопросы
Программатор похоже под корпус...
Можно еще лучше сделать - спря...
Я, конечно, мог бы пояснить, н...
Доброго времени суток. У меня...
Подскажите, пжл, о каких пробл...
День добрый!Недавно начал осва...
Для октопринта/клиппера нужен...