Macro 3D Printer 3mf Workflow/ru

Macro_3D_Printer_3mf_Workflow

Description
Макрос FreeCAD для экспорта плавных 3MF файлов с сохранением всех настроек печати для слайсера и автоматическим рабочим процессом для вашего любимого слайсера.

Macro version: 00.02
Last modified: 2026-02-14
FreeCAD version: All
Download: Toolbar icon

Macro 3D_Printer_3mf_Workflow 3D_Printer_3mf_Workflow_ConfigIni.FCMacro
Author: 2cv001

Author
2cv001
Download
Toolbar icon

Macro 3D_Printer_3mf_Workflow 3D_Printer_3mf_Workflow_ConfigIni.FCMacro

Links
Macro Version
00.02
Date last modified
2026-02-14
FreeCAD Version(s)
All
Default shortcut
None
See also
None

Описание

Макрос FreeCAD для экспорта плавных 3MF файлов с сохранением всех настроек печати в слайсере и автоматическим рабочим процессом для вашего любимого слайсера.

Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro


# This code is copied instead of the original macro code
# to guide the user to the online download page.
# Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki
# or if the RAW code URL is somewhere else in the wiki.

from PySide import QtGui, QtCore

diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,
    "Information",
    "This macro must be downloaded from this link\n"
    "\n"
    "https://raw.githubusercontent.com/2cv001/3D_printer_3mf_workflow/main/3D_Printer_3mf_Workflow.FCMacro" + "\n"
    "\n"
    "Quit this window to access the download page")

diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
diag.setWindowModality(QtCore.Qt.ApplicationModal)
diag.exec_()

import webbrowser 
webbrowser.open("https://raw.githubusercontent.com/2cv001/3D_printer_3mf_workflow/main/3D_Printer_3mf_Workflow.FCMacro")

Более подробное описание:

https://github.com/2cv001/3D_printer_3mf_workflow/blob/main/README.md

Назначение

Этот макрос автоматизирует и улучшает процесс 3D-печати от FreeCAD до вашего слайсера, позволяя:

Этот макрос является преемником macro 3d_printer_workflow.

Макрос 3D_Printer_Workflow уже мог создавать плавные экспорты без граней. Его главным ограничением было то, что он работал только с файлами STL, которые не могут хранить параметры слайсера или печати.

Этот макрос использует файлы .3mf, что позволяет сохранять все настройки печати и повторно их использовать.

Чтобы сохранить основную функциональность предыдущего макроса, эта версия также предлагает экспорт в STL с настраиваемыми параметрами тесселяции, позволяя создавать гладкую сетку так же, как раньше.

Ограничение

Текущая версия может экспортировать только один объект, но вы можете обойти это, используя ссылки — например, Простейшую группу — чтобы объединить несколько объектов в один.

Принцип сглаживания

С видимыми гранями

Без видимых граней

Макрос экспортирует выбранные объекты в файл 3MF с использованием указанных параметров тесселяции (LinearDeflection и AngularDeflection). Он создаёт временные сеточные объекты для процесса экспорта и автоматически удаляет их после этого.

Запуск других программ или команд

Макрос позволяет вам задавать собственные команды, которые будут выполняться автоматически после создания файла 3MF. Эта функция опциональная и может использоваться для автоматизации дополнительных шагов в вашем рабочем процессе, таких как:

Схема принципа

First Launch

  • FreeCAD exports a .3mf file containing only the object geometry.
  • The slicer opens the file.
  • The user enters print settings (e.g. 200 °C, PLA, 50 mm/s).
  • The slicer saves the .3mf file with embedded print settings.

Subsequent Launches

  • It generates a new .3mf file with both geometry and configuration.
  • The slicer opens the file with all settings preloaded.
  • ✅ No need to re-enter anything — changes are preserved.

Technical Notes

  • Geometry is extracted from the active FreeCAD document.
  • .3mf files are used instead of .stl to retain print metadata.
  • Print settings are stored inside the .3mf file in the same directory as the FreeCAD document.
  • Compatible with most slicers that support .3mf: tested with QidiSlicer, QidiStudio, Cura, PrusaSlicer, OrcaSlicer, Bambu Studio, Anycubic, Creality.
  • Not compatible with slicers that do not produce 3MF files containing print settings (e.g., ideaMaker, FlashPrint). For other slicers, feel free to try — it should work. Otherwise, please open an issue on GitHub.
  • The macro can be configured to run other commands, such as turning on the printer using a connected smart plug.

Use

Run the macro from FreeCAD. The slicer path is set directly in the macro’s main dialog, using the dedicated input field.

  • (Linux only) When the Slicer is installed via flatpak, enter flatpak run e.g. flatpak run com.prusa3d.PrusaSlicer.

On first launch, enter your print settings in the slicer and save the .3mf file (generally, except in Cura, this is just Ctrl+S or “Save” in the menu).

On next launches, enjoy automatic reuse of your settings.

Macro_3D_Printer_3mf_workflow capture écrant

Настройка

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

Кнопка ⚙️ в окне опций позволяет как установить, так и открыть макрос конфигурации (3D_Printer_3mf_Workflow_ConfigIni.FCMacro).

  • Заполните поля в окне конфигурации
  • Наведите курсор мыши на заголовок колонки, чтобы увидеть подсказки
  • Каждая команда, которую вы определите, будет выполняться по порядку после создания файла 3MF.

  • Fill in the fields in the configuration window
  • Hover your mouse over a column title to display help tooltips
  • Each command you define will be executed in order after the 3MF file is produced.

Macro_3D_Printer_3mf_workflow capture écrant

Использование %PROJECT%, %PROJECTDIR%, and %PROJECTNAME% в пользовательских командах

Когда вы задаёте собственные команды постобработки в рабочем процессе, то можете использовать три специальных заполнителя. Эти заполнители автоматически заменяются значениями, полученными из вашего проекта FreeCAD.

Доступные заполнители

Заполнители и их значения:

Примеры

Скопируй сгенерированный файл 3MF рядом с проектом:

copy "%PROJECT%.3mf" "%PROJECTDIR%/backup/%PROJECTNAME%.3mf"

Запусти скрипт, который хранится в папке проекта:

python "%PROJECTDIR%/scripts/postprocess.py" "%PROJECT%.3mf"

Отправьте HTTP-запрос, используя имя проекта:

curl "http://myserver/api/start?job=%PROJECTNAME%"

Включи умную розетку Shelly Gen 1

curl "http://192.168.xxx.xxx/relay/0?turn=on"

Gen2

http://192.168.xxx.xxx/rpc/Switch.Set?id=0&on=true

Или если на вашем устройстве есть пароль:

curl -u admin:yourpassword "http://192.168.xxx.xx/rpc/Switch.Set?id=0&on=true"

Применение

Больше деталей по ссылке https://github.com/2cv001/3D_printer_3mf_workflow

Обсуждение

Скрипт

Иконка панели инструментов

Код

ver 00.02 2026/02/14 by 2cv001 3D_Printer_3mf_Workflow.FCMacro

Загрузка