Быстрый экспорт модели в слайсер

Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Быстрый экспорт модели в слайсер

Сообщение demonlibra »

Макрос Export2Slicer позволяет быстро отправить модель в слайсер.
Этот макрос создаёт рядом c проектом файл STL и запускает слайсер, передавая ему в качестве параметра путь к файлу STL.

Инструменты ⟶ Менеджер дополнений ⟶ Макрос ⟶ Export2Slicer ⟶ Установка
Изображение

Инструменты ⟶ Редактор параметров ⟶ BaseApp ⟶ Preferences ⟶ Macros ⟶ Export2Slicer
В параметре SlicerPath указываем путь к исполняемому файлу слайсера ⟶ Закрыть
Изображение

Выделив тело и выполнив макрос, рядом с файлом проекта появится одноимённый файл STL. Далее будет открыт слайсер с моделью.
Изображение

Макрос можно назначить на горячие клавиши или вывести значок на панель управления.
https://wiki.freecadweb.org/Customize_Toolbars
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Быстрый экспорт модели из FreeCAD в слайсер

Сообщение demonlibra »

На базе этого макроса закомментировав пару строк можно получить возможность создания файла STL в один клик.

Изображение
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Быстрый экспорт модели в слайсер

Сообщение demonlibra »

В PrusaSlicer версии 2.5.0 появилась возможность импорта моделей в формате STEP. Это не означает, что слайсер работает с точной моделью. При импорте выполняется преобразование в mesh встроенным модулем Open CASCADE Technology (OCCT).

Написал макрос для быстрого экспорта выделенных моделей и отправки в PrusaSlicer в формате STEP.
В начале макроса необходимо указать путь к слайсеру.
Макрос

Код: Выделить всё

# -*- coding: utf-8 -*-

# ----------- Экспорт моделей в STEP и импорт в PRUSASLICER ------------

slicer_path = '/home/demonlibra/app/PrusaSlicer-2.5.0-beta1/prusa-slicer' # Путь к слайсеру

save_to_temp = True    # Сохранять файлы STEP во временный каталог
#save_to_temp = False  # Сохранять Файлы STEP рядом с FCStd

# ----------------------------------------------------------------------

import ImportGui
import datetime
import os
import subprocess
import tempfile

objects_to_export = FreeCADGui.Selection.getSelection()						# Выделенные объекты
slicer_args = [slicer_path]

for object in objects_to_export:														# Перебор выделенных объектов
	label = object.Label
	now = datetime.datetime.now()
	doc = FreeCAD.activeDocument()
	filename = os.path.basename(doc.FileName).partition('.')[0]
	if save_to_temp:																		# Если сохранять во временный каталог
		dirname = tempfile.gettempdir()
		file_path = os.path.join(dirname, filename)  + '-' + label + '.step'
	else:																						# Иначе сохранять рядом с файлом FCStd
		dirname = os.path.dirname(doc.FileName)
		#file_path = os.path.join(dirname, filename) + label + '_' + now.strftime("%Y%m%d_%H%M") + '.step'
		file_path = os.path.join(dirname, filename)+ '-' + label + '.step'
	slicer_args.append(file_path)
	ImportGui.export([object], file_path)											# Экспорт модели в step

subprocess.Popen(slicer_args)															# Запустить слайсер
Не бойся поломать. Бойся не починить ))
Изображение

Вернуться в «FreeCAD»