My3DF Реклама
My3DFm Реклама

Автоматический экспорт из КОМПАС-3D в слайсер Сura

kzs64
Идет загрузка
Загрузка
07.12.2022
3106
12
3D-моделирование

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

17

В одной из новинок версии КОМПАС-3D v21 появилась возможность сохранения настроек при экспорте в STL.

Ранее всегда приходилось накручивать параметры при каждом сохранении.

 Автоматический экспорт из КОМПАС-3D в слайсер Сura

Теперь же установив нужные параметры, можно сохранить свою конфигурацию в отдельный файл.

Автоматический экспорт из КОМПАС-3D в слайсер Сura

Если установить другие параметры применятся установленные.

Конфигурация будет применяться при каждом сохранении в формат 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')

Должно получиться вот так:

Автоматический экспорт из КОМПАС-3D в слайсер Сura

Далее создаете тестовую модель и сохраняете.

После запуска скрипта рядом с исходным файлом модели в компасе появится папка STL в нее же сохранится сам файл и запустится CURА, либо та программа с которой связано расширение. В моем случае на ПК установлен один слайсер.

Далее данный скрип можно добавить в утилиты и вынести на панель компаса.

Более подробно все описано в видеозаписи.

ПС в видео CURA запускается отдельным экземпляром, что-бы этого не происходило в CURE установить опцию:"Использовать один экземпляр CURA" 

Повторюсь данное решение применительно к КОМПАС-3D v21, так как используются настройки конфигурации STL. Если у вас более старая версия, то можно посмотреть библиотеку в статье: Автоматический экспорт в STL из Компас 3D 

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

17
Комментарии к статье