Проблема со сплайсингом G-кода

Я пытаюсь объединить два разных файла G-кода в один. Причина, по которой я это делаю, заключается в том, что я хочу напечатать свою часть с разной высотой слоя. Мне удалось объединить два G-кода вместе, но когда он доходит до слоя, где меняется высота слоя, он перестает двигаться и продолжает выдавливать в течение 10-15 секунд, создавая каплю пластика, а затем движется дальше, уничтожая отпечаток. .

Я пытался использовать функцию ручной настройки высоты слоя PrusaSlicer, но их обычные поддержки непригодны с моей стороны, а их органические поддержки несовместимы с переменной высотой слоя. У Cura просто нет такой возможности, и их функция адаптивной высоты слоя не является ответом. Вот что я пытаюсь сделать:

  1. Создайте G-код с высотой слоя 0,3 мм.
  2. Измените высоту слоя на 0,1 мм и создайте на его основе G-код.
  3. Загрузите G-код толщиной 0,1 мм в Notepad++ и найдите слой, на котором я хочу его изменить.
  4. Удалить весь G-код за пределами этого слоя.
  5. Загрузите G-код толщиной 0,3 мм в Notepad++ и определите, где должен начинаться этот слой, исходя из высоты по оси Z.
  6. Скопируйте и вставьте оставшуюся часть G-кода в файл размером 0,1 мм.
  7. Сохранить и запустить на принтере

В основном это работает, но изменение высоты слоя прекращается. Кто-нибудь знает, что происходит?

Вот несколько строк g-кода до и после перехода. У меня в g-коде отмечено именно там, где:

G1 F2400 E2234.44369
G1 F3600 X105.992 Y179.63 E2234.66835
M204 S2000
G1 F2400 E2233.86835
G1 F300 Z5.8
G0 F9000 X106.068 Y183.796 Z5.8
M204 S500
G1 F300 Z5.4
G1 F2400 E2234.66835
G1 F3600 X99.843 Y190.022 E2234.8704
M204 S2000
G1 F2400 E2234.0704
G1 F300 Z5.8
G0 F9000 X101.42 Y192.688 Z5.8
M204 S500
G1 F300 Z5.4
G1 F2400 E2234.8704
G1 F3600 X106.635 Y187.472 E2235.03967
M204 S2000
G1 F2400 E2234.23967
G1 F300 Z5.8
G0 F9000 X107.871 Y190.479 Z5.8
M204 S500
G1 F300 Z5.4
G1 F2400 E2235.03967
G1 F3600 X104.311 Y194.039 E2235.15521
M204 S2000
G1 F2400 E2234.35521
G1 F300 Z5.8
G0 F9000 X108.544 Y194.049 Z5.8
M204 S500
G1 F300 Z5.4
G1 F2400 E2235.15521
G1 F3600 X109.947 Y192.646 E2235.20075
M204 S2000
G1 F2400 E2234.40075
G1 F300 Z5.8
G0 F9000 X120.783 Y90.912 Z5.8
M204 S500
;TYPE:WALL-OUTER
G1 F300 Z5.4
G1 F2400 E2235.20075
G1 F1978 X120.784 Y92.216 E2235.22798
G1 F1939 X120.794 Y92.736 E2235.23906
G1 F1901.4 X120.794 Y122.763 E2235.89141
G1 F1939 X120.783 Y123.279 E2235.90241
G1 F1978 X120.784 Y124.585 E2235.92968
G1 X120.974 Y124.314 E2235.93659
G1 X121.199 Y123.844 E2235.94748
G1 X121.327 Y123.323 E2235.95868
G1 F1939 X121.362 Y122.774 E2235.9704
G1 F1901.4 X121.362 Y92.736 E2236.62299
G1 F1939 X121.327 Y92.172 E2236.63503
G1 F1978 X121.201 Y91.663 E2236.64598
G1 X120.97 Y91.177 E2236.65722
G1 X120.819 Y90.963 E2236.66269
G0 F1620 X120.783 Y90.912
M204 S2000
G1 F2400 E2235.86269
G1 F300 Z5.8
;MESH:NONMESH
G0 F9000 X100 Y39.255 Z5.8
;TIME_ELAPSED:4586.593663
;-------------------------------------------------------------
;-----------------Transition Happens Here---------------------
;-------------------------------------------------------------
;LAYER:18
G0 X100 Y40.153 Z6.1
G1 F300 Z6.1
G0 F9000 X97.297 Y34.468
M204 S500
;TYPE:SUPPORT
G1 F300 Z5.7
G1 F2400 E2715.82188
G1 F1800 X97.297 Y34.468
G1 X97.47 Y35.08 E2715.86566
G1 X97.834 Y36.138 E2715.9427
G1 X98.102 Y36.794 E2715.99148
G1 X98.421 Y37.518 E2716.04595
G1 X98.79 Y38.243 E2716.10196
G1 X98.96 Y38.555 E2716.12642
G1 X99.366 Y39.232 E2716.18077
G1 X99.605 Y39.602 E2716.2111
G1 X100 Y40.153 E2716.25778
G1 X100.057 Y40.232 E2716.26448
G1 X100.343 Y40.609 E2716.29706
G1 X100.73 Y41.147 E2716.34269
G1 X100.934 Y41.458 E2716.3683
G1 X101.342 Y42.136 E2716.42278
G1 X101.476 Y42.382 E2716.44206
G1 X101.861 Y43.147 E2716.50103
G1 X102.193 Y43.913 E2716.55851
G1 X102.303 Y44.19 E2716.57903
G1 X102.602 Y45.029 E2716.64035
G1 X102.687 Y45.297 E2716.65971
G1 X102.939 Y46.186 E2716.72332
G1 X103.19 Y47.204 E2716.79551
G1 X103.692 Y47.104 E2716.83075
G1 X103.724 Y47.394 E2716.85084
G1 X103.799 Y48.272 E2716.91151
G1 X103.818 Y48.652 E2716.9377
G1 X103.839 Y49.553 E2716.99975
G1 X103.839 Y56.239 E2717.46007
G1 X100 Y56.239 E2717.72438
G1 X97.297 Y56.239 E2717.91048
G1 X97.297 Y34.823 E2719.38494
G0 F1620 X97.297 Y34.468
M204 S2000
G1 F2400 E2718.58494
G1 F300 Z6.1
G0 F9000 X100 Y40.153 Z6.1
M204 S500
G1 F300 Z5.7
G1 F2400 E2719.38494
G1 F1800 X100 Y56.239 E2720.49244
M204 S2000
G1 F2400 E2719.69244
G1 F300 Z6.1
G0 F9000 X130 Y89.241 Z6.1
M204 S500
G1 F300 Z5.7
G1 F2400 E2720.49244
G1 F1800 X130 Y125.641 E2722.99852
G1 X127.425 Y125.641 E2723.1758
G1 X127.425 Y89.241 E2725.68189
G1 X135 Y89.241 E2726.20342
G1 X135 Y125.641 E2728.7095
G1 X142.825 Y125.641 E2729.24824
G1 X142.825 Y89.241 E2731.75433
G1 X140 Y89.241 E2731.94882
G1 X140 Y125.286 E2734.43047
G0 F1620 X140 Y125.641
M204 S2000
G1 F2400 E2733.63047
G1 F300 Z6.1
G0 F9000 X100 Y175.345 Z6.1
G1 F300 Z6.1
G0 F9000 X97.278 Y181.097

, 👍1


1 ответ


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

1

Это полностью ожидаемо из вашего описания. Вы просто не можете просто вставить другой раздел файла G-кода в другой без настройки слоя интерфейса (если только длина экструдера не сбрасывается на каждом слое).

Необходимо убедиться, что для расстояния экструдера установлено правильное значение. Обычно длина экструдера сбрасывается до нуля время от времени или при смене слоя, чтобы предотвратить слишком большие значения E ( G92 E0), но когда вы вставляете слой с несоответствием значения E между ними, экструдер будет сначала выдавливать (или втягивать, это одинаково допустимо, но в данном случае выдавливать) перед тем, как будет двигаться дальше.

Что вам нужно проверить, так это значение E, посмотреть, сброшено оно или нет, и установить значение, определив правильное значение с помощью G92 Exxx, где xxx — правильное значение из вставленного слоя (это будет отправной точкой для выдавливания E).

Из обновленного вопроса с фрагментом G-кода мы видим, что описанное выше действительно происходит, слой 17 имеет последний ход, укладывая нить в

G1 F2400 E2235.86269

и слой 18 имеет первое отложение нити с

G1 F2400 E2715.82188.

Вы можете видеть, что почти 500 мм нити потрачено впустую (2235 -> 2715). Это означает, что вам нужно добавить

G92 E2715.82188

до

G1 F2400 E2715.82188.


,

Привет, 0scar, спасибо за исчерпывающий ответ, я посмотрю на это сегодня вечером., @Vandel212

Если я не ошибаюсь, разве это не настройки Modify для перекрытий Mesh Type в Cura? Высота слоя здесь не указана, это было одно из первых мест, которые я посмотрел. Прекрасно работает с заполнением, на самом деле я использую его для большинства вещей, которые печатаю, потому что это очень удобно., @Vandel212

@ Vandel212 Vandel212 Я думал, что делал это раньше, я удалю это из ответа и снова проверю. Спасибо, что дал мне знать!, @0scar

Ха-ха, я только что удалил свой комментарий, потому что увидел ваше редактирование. Это блестяще! Кажется, это решит эту проблему. Я попробую сегодня вечером и дам вам знать., @Vandel212