Кому это нужно
- Принтер Kingroon KP3S на стоковой прошивке Marlin, не Klipper.
- Переходите с Cura на Orca и модели из Cura печатаются, а из Orca — нет.
- Типичные симптомы:
- полоса продувки есть, юбка есть, дальше экструдер молчит;
- первый объект печатается, со второго XY едет без пластика;
- после паузы или смены объекта мотор E больше не крутится.
Если у вас KP3S на Klipper, этот пакет не нужен: берите обычный Klipper-профиль и относительную экструзию.
Почему официальный профиль Orca ломает печать
В Orca принтер называется Kingroon KP3S 3.0. Автор профиля писал его под быструю машину и по сути под Klipper-скорости, а стартовый G-code потом привели к «Marlin flavour». Для стокового KP3S с экраном MKS это несколько независимых ловушек. Каждая сама по себе может остановить экструдер.
1. Команды исключения объектов M486
Orca по умолчанию включает Exclude objects и Label objects. В G-code появляется:
M486 S1
... печать первого кубика ...
M486 S-1
M486 S8
... переезд ко второму кубику ...
M486 — это Cancel Objects из современного Marlin. Стоковая прошивка KP3S / MKS понимает эти команды криво или частично.
Что происходит на практике: XY-перемещения выполняются, а компонента E отбрасывается. Голова обводит модель, мотор экструдера не крутится. Именно поэтому Cura-файлы живые (там нет M486), а калибровка потока из девяти кубиков умирает на втором объекте.
В этом пакете оба пункта выключены. Скрипт постобработки на всякий случай ещё раз вырезает все строки M486.
2. Числа без нуля: Z.5 вместо Z0.5
Orca пишет координаты в короткой форме: G1 Z.5, G1 X10 Y20 Z.3 F15000.
Парсер MKS Robin Nano часто не читает число, которое начинается с точки. Cura всегда пишет Z0.5, E0.12.
Скрипт «заменить E. на E0.» закрывает только экструзию. Ломаются ещё Z.3 и Z.5 на подъёме между объектами. Скрипт в этом пакете ставит ведущий ноль на осях X, Y, Z, E и F.
3. Скорости и лимиты как у Klipper
Встроенный процесс ставит:
- переезд 250 мм/с (
F15000); - ускорение перемещений 4000;
- в начало файла —
M201/M203/M204 P10000 R10000 T10000/M205.
Стоковый KP3S так не ездит. Cura на этом же принтере даёт переезд около 100 мм/с (F6000) и не пишет машинные лимиты в G-code.
Слишком быстрый переезд плюс M204 не всегда «убивают» экструдер напрямую, но дают пропуски шагов, срыв ретракта и зависание планировщика MKS. В пакете: переезд 100 мм/с, ускорение 1000, Emit machine limits выключен. Скрипт режет оставшиеся M201–M205 и ограничивает подачу до F6000.
4. Нагрев M109 R вместо M109 S
Cura греет так:
M140 S80
M105
M190 S80
M104 S230
M105
M109 S230
M105 нужен старым прошивкам, чтобы обновить температуру. M109 S — «нагрей и жди».
Orca часто ставит M109 R230. Параметр R означает «жди и при остывании». Старый Marlin на MKS его не понимает и может пропустить всю команду. Тогда сопло не догревается, срабатывает защита от холодной экструзии: XY едет, E игнорируется.
В пакете стартовый G-code как у Cura, с M109 S. Скрипт дополнительно меняет любой оставшийся M109 R на M109 S.
5. Относительная экструзия и E.012
Официальный старт профиля 3.0 начинается с M83 (относительная экструзия). Для MKS это особенно больно: в относительном режиме значения маленькие, Orca пишет E.01234, прошивка не парсит точку в начале, экструзия становится нулевой.
Мы оставляем абсолютную экструзию M82, как Cura. Скрипт всё равно чинит ведущие нули.
6. Большой PNG-превью в G-code
Orca встраивает thumbnail 300×300 PNG в начало файла. MKS TFT ждёт свой формат (simage / gimage) или вообще не умеет такой блок. Иногда экран портит разбор файла.
Скрипт вырезает thumbnail и пишет заголовок как у плагина MKS WiFi в Cura:
;FLAVOR:Marlin
;MKSPREVIEWPROCESSED
; simage=0
; gimage=0
Итог
Встроенный профиль — это не «чуть другие температуры». Он генерирует другой диалект G-code. Стоковый KP3S его не переваривает. Cura случайно говорит на понятном принтеру языке. Этот пакет заставляет Orca говорить так же.
Что лежит в архиве
orca-kp3s-stock-marlin/
ARTICLE.ru.html — эта статья
ARTICLE.ru.md
README.md
install.ps1 — установка в Orca одним скриптом
scripts/
convert_orca_to_kp3s.py — постобработка G-code
convert_orca_to_kp3s.bat — запуск Python для Orca
profiles/
machine/Kingroon KP3S Stock Marlin 0.4.json
process/0.20mm Stock @KP3S Marlin.json
process/0.30mm Stock @KP3S Marlin.json
filament/PETG Stock @KP3S.json
Профили наследуют системный Kingroon KP3S 3.0. Его нужно один раз добавить в Orca, иначе пользовательские копии не к чему будет привязать.
Установка
Нужны Windows, Orca Slicer 2.4.x и Python 3 (для постобработки).
1. Добавьте системный принтер Kingroon
- Откройте Orca Slicer.
- Принтер → Добавить / Add printer.
- Выберите Kingroon → KP3S 3.0 → сопло 0.4.
- Сохраните. Так в Orca появятся системные родители профилей.
2. Поставьте Python 3
Если Python ещё нет: python.org/downloads. При установке включите Add python.exe to PATH.
Проверка в PowerShell:
py -3 --version
или
python --version
3. Закройте Orca
Если Orca открыт, он может перезаписать профили при выходе. Полностью закройте программу.
4. Установите пакет
Распакуйте архив, например в D:\orca-kp3s-stock-marlin.
Правый клик по install.ps1 → Выполнить с PowerShell.
Если Windows блокирует скрипты, откройте PowerShell в папке архива и выполните:
Set-ExecutionPolicy -Scope Process Bypass
.\install.ps1
Скрипт сделает три вещи:
- Скопирует постобработку в
%LOCALAPPDATA%\kp3s-orca\. - Пропишет в процессы полный путь к
convert_orca_to_kp3s.bat. - Положит профили в
%APPDATA%\OrcaSlicer\user\default\(machine,process,filament).
5. Откройте Orca и выберите профили
В шапке окна должны стоять:
| Поле | Профиль |
|---|---|
| Принтер | Kingroon KP3S Stock Marlin 0.4 |
| Процесс | 0.20mm Stock @KP3S Marlin или 0.30mm Stock @KP3S Marlin |
| Пластик | PETG Stock @KP3S |
Проверьте Процесс → Прочее → Скрипты постобработки. Там должна быть одна строка без слова python:
C:\Users\<ваш_пользователь>\AppData\Local\kp3s-orca\convert_orca_to_kp3s.bat
Orca проверяет, что первый токен — существующий файл. Строка python "C:\...\script.py" выдаёт ошибку «script does not exist: python». Поэтому вызывается .bat.
Ручная установка без install.ps1
- Скопируйте
scripts\convert_orca_to_kp3s.pyи.batв любую папку, напримерC:\kp3s-orca\. - Скопируйте json и info из
profiles\machine|process|filamentв:%APPDATA%\OrcaSlicer\user\default\machine%APPDATA%\OrcaSlicer\user\default\process%APPDATA%\OrcaSlicer\user\default\filament
- В обоих process-json замените
REPLACE_ME_CONVERT_BATна путь к bat с удвоенными слэшами, напримерC:\\kp3s-orca\\convert_orca_to_kp3s.bat. - Либо откройте Orca и вставьте путь к bat в Скрипты постобработки.
Как проверить, что нарезка правильная
Откройте свежий .gcode в блокноте. В начале должно быть:
;FLAVOR:Marlin
;MKSPREVIEWPROCESSED
; Postprocessed for stock Kingroon KP3S / MKS Robin Nano
M82 ;absolute extrusion mode
M140 S80
M105
M190 S80
M104 S230
M105
M109 S230
Дальше — ваш G28 и полоса продувки слева (X2, E15, E30).
В файле не должно быть:
M486M201/M203/M204/M205F15000Z.5илиE.12без нуляM109 R- огромного блока
; thumbnail begin
Если шапки Postprocessed for stock Kingroon KP3S нет — скрипт не запустился. Смотрите путь в постобработке и установку Python.
Что именно меняет пакет
Принтер
- нагрев как в Cura,
M109 S, затемM82и полоса продувки; - абсолютная экструзия;
- лимиты в G-code не пишутся;
- скорость осей 150 мм/с, ускорение 1000;
- превью отключено.
Процесс
- Exclude / Label objects выключены;
- переезд 100 мм/с;
- после Slice запускается конвертер.
PETG
- стол 80 °C, сопло 230 °C;
- ретракт 1 мм (direct drive);
- вентилятор 30–50%, на первых трёх слоях выключен.
Конвертер дополнительно:
- вырезает thumbnail и
M486/M73/ машинные лимиты; - ставит ведущие нули;
- ограничивает F до 6000;
- пишет заголовок, который понимает MKS.
Если всё ещё не печатает
- Выключите и включите принтер. После файла с
M486прошивка может остаться в режиме «не крутить E» до перезагрузки. - Напечатайте с SD или так же, как печатаете рабочие файлы Cura. Не смешивайте «старый» и «новый» G-code в одной сессии без ребута.
- Проверьте, что выбран именно Stock Marlin, а не системный KP3S 3.0.
- Откройте G-code и сверьтесь со списком выше.