Почему происходит очистка отпечатка?

Я пытаюсь напечатать этот идентификатор питомца двумя цветами. Пока я работаю над своим предыдущим постом, я попробовал этот код, который привёл к результату, показанному на картинке. Слева — две начальные строки, справа — результат замены нити, а в центре — то, что должно быть напечатано (имя и телефон). Если я не буду печатать, остальные цифры и буквы печатаются правильно (не могу показать из-за моего номера). Похоже, что он продувается в том месте и в то время, когда должен печатать. Почему это происходит?

Код:

; ...
;LAYER:19
;MESH:/tmp/ap_slicer_s9e9_pzv.stl
; previous autogenerated code



; filament change
G1 E-2 F500 ; retract 2mm
G0 X200 Y200 Z10 ; move to safe place
G1 E-40 F1500 ; retract filament out of Bowden tube
M25 ; pause print, change filament
;G1 E2 F900 ; purge filament
G1 X180 Y180 Z0.3 F5000.0 ; Move to "start" position
G1 X180 Y20.0 Z0.3 F1500.0 E15 ; Draw a line
; filament change end


; following autogenerated code
G0 X99.098 Y117.198 Z2.1
M204 S500 ; M204 P500 T500
M205 X20 Y20
;TYPE:WALL-OUTER
G1 F1800 X98.745 Y117.198 E652.74798
G1 X98.745 Y111.752 E652.83855
G1 X99.098 Y111.752 E652.84442
G1 X99.098 Y117.198 E652.92434
M204 S5000
M205 X30 Y30
;...

Результаты:

, 👍1

Обсуждение

Вместо того, чтобы продолжать упорно бороться, почему бы просто не обновить прошивку до версии с поддержкой M24 и включённой функцией PARK_HEAD_ON_PAUSE, и пусть принтер сделает всю работу? Вы посылаете M24, печатающая головка перемещается в безопасное место, вручную выталкиваете немного нити из сопла, быстро вытаскиваете её, заправляете новую нить, вручную выталкиваете немного нити из сопла для продувки, протираете сопло и посылаете ещё одну M24, чтобы продолжить печать с того места, где она остановилась., @Ken White

@KenWhite Я мог бы так сделать. Однако такой подход помогает мне изучить GCODE, понять код и лучше понять 3D-печать. Даже если есть команда, которая выполняет всю работу, я считаю, что «деконструкция» этих «сложных» команд полезна для использования практически любого принтера с практически любой прошивкой. Что касается ваших комментариев, я вручную очищаю и стираю, и, глядя на полученный отпечаток, мне нужно понять, почему он делает эту очистку..., @julio

Хотите напечатать многоцветную бирку для домашнего животного? Почему бы не спросить, как это сделать? Я знаю способ сделать это без скриптов для замены нити, используя всего два файла для печати., @0scar

@0scar, я не спрашивал, как это сделать, потому что, как правило, здесь не просят кого-то выполнить твою работу/чт... ты рассказываешь, чего пытаешься добиться, что пробовал и какие результаты (ожидаемые и полученные). Что касается упомянутого тобой подхода с использованием двух файлов для печати, я почитаю о нём и приду с сомнениями., @julio


2 ответа


Лучший ответ:

1

Ну, наконец-то мне удалось напечатать приемлемую деталь. После прочтения и множества проб и ошибок я понял, что происходит. Помимо смешивания режимов абсолютного и относительного положения осей, я не восстанавливал положение экструдера до прежнего значения.

Вот что получилось:

результат

И вот команды, которые привели к печати этой штуки:

; Filament change - begin
M107 ; turn off layer fan
M104 S210 ; set extruders temp to 210º (it was at 200º)
M83 ; switch extruder to relative mode
G91 ; set axes to relative mode
G1 E-5 F2100 ; retract a little to avoid oozing
G0 Z+20 F300 ; move up nozzle
G0 X-50 Y-60 F6000 ; move nozzle to a "safe place"
M25 ; pause and change filament
; at this point through the control panel I extrude 10mm of filament to avoid colour mixing
G90 ; switch back axes to absolute mode
M82 ; switch back extruder to absolute mode
; the following five lines prime the nozzle
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X30.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X30.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X30.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X30.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line

G92 E598.88332 ; set extruder back to prior value
; Filament change - end

Объяснение:

Сначала он останавливает вентилятор для обеспечения хорошей адгезии. У меня были проблемы, особенно с чёрной нитью. Затем я нагреваю сопло более чем на 10°C, отвожу нить, перемещаю её в безопасное место, меняю нить, вручную продуваю и нажимаю «Продолжить». Затем сопло пропитывается, и последняя команда возвращает экструдер в исходное состояние. Я не включаю вентилятор для слоя.

Моя следующая цель — точно настроить втягивание, чтобы избежать застревания нити (я задам еще один вопрос по этому поводу). Тем не менее, я действительно очень рад, что мне удалось сменить нить без команды M600 и я многому научился по GCODE.


,

1

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

G1 F1800 X98.745 Y117.198 E652.74798

Таким образом, пока E находится примерно на 652 мм перед заменой нити, вы даете команду нити переместиться на 2 мм назад, хотя на самом деле это абсолютное перемещение, в результате чего нить втягивается примерно на 654 мм.

Перед отзывом необходимо перевести прошивку в относительный режим.

Перемещение в позицию (X, Y) в точку (200, 200) является абсолютным перемещением,

G0 X200 Y200 Z10 ; переместить в безопасное место

Это верно, но перемещение по оси Z всегда должно быть относительным, поэтому, если его не указывать в G-коде, перемещение по оси Z должно быть отдельным G-кодом. Имейте в виду, что максимальная высота замены нити — это максимальная высота за вычетом относительного увеличения парковки.

E-40 продолжит втягивать нить, которая теперь почти 700 мм! Далее идёт подготовка к E15, поэтому выдавливается 55 мм.

Далее печать продолжается, первое выдавливающее движение выводит загрунтованный хотэнд примерно на 652 мм.

По сути, этот скрипт не работает!

,