KREMEN Реклама
KREMEN Реклама

Cura: Pause at height -- M25 - не останавливает вовремя [победил]

ayaye
Идет загрузка
Загрузка
25.02.2021
2469
3
Вопросы и ответы

Решил попробовать печать двумя цветами. Для приостановки печати использовал в Cura 4.8.0 скрипт постобработки Pause at height. Перед паузой (M25) голова должна уехать от модели и подняться. На моём Voxelab Aquila она так и делает, но! через пару секунд возвращается в точку печати и там уже стоит до нажатия кнопки. Погуглил, на родственном Creality Ender 3 v2 та же проблема.

Пример:

;TYPE:CUSTOM;added code by post processing;script: PauseAtHeight.py;current layer: 2M83 ; switch to relative E values for any needed retractionG1 F300 Z1.6 ; move up a millimeter to get out of the wayG1 F9000 X20 Y20G1 F300 Z15 ; too close to bed--move to at least 15mmM104 S190 ; standby temperatureM25 ; Do the actual pause

--- вот здесь должна быть пауза, но на самом деле эти команды тоже выполняются: ---

M109 S205 ; resume temperatureG1 F300 Z1.6G1 F9000 X109.794 Y111.887G1 F300 Z0.6 ; move back down to resume height

--- как минимум досюда ---

G1 F600 ; restore extrusion feedrateM82 ; switch back to absolute E valuesG92 E3.34455;LAYER:2M106 S170;TYPE:WALL-INNER;MESH:ttt.stlG1 F600 X109.794 Y111.887 E3.35825G1 X109.42 Y111.809 E3.37096

Гугл решения не принес, пришлось думать самому. После проверки нескольких гипотез понял, что всё очень просто. И причина та же самая, по которой принтер не сразу приостанавливает или останавливает печать по команде с пульта: у него есть буфер команд. И отрабатывает он их все, даже если среди них есть пауза. Следующие после паузы команды как раз и возвращают его к точке печати.

Проверка гипотезы очень простая: надо натолкать после паузы достаточно безобидных команд, чтобы они заполнили буфер и возвращение к точки печати не произошло. 32 команд типа

G1 F9000 X20 Y20G1 F300 Z15 ; too close to bed -- move to at least 15mm

хватило, голова осталась там где надо.

Осталось поправить скрипт

C:\Program Files\Ultimaker Cura 4.8.0\plugins\PostProcessingPlugin\scripts\PauseAtHeight.py

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

Ответы на вопросы
Металлообработка 2025 Реклама
Металлообработка 2025 Реклама