Wrote a macro to send selected models to PrusaSlicer with STEP.
Code: Select all
# -*- coding: utf-8 -*-
# ----------- Export STEP to PrusaSlicer ------------
slicer_path = '/home/demonlibra/app/PrusaSlicer-2.5.0-beta1/prusa-slicer' # Path to PrusaSlicer
save_to_temp = True # Save step files to temp file
#save_to_temp = False # Save model near 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) # Запустить слайсер