unigenum писал(а):Значит DEFAULT_RETRACT_ACCELERATION действует, только когда движения по другим осям нет?
DEFAULT_RETRACT_ACCELERATION действует, только когда нет движения по X, Y, Z.
Специально еще в gcode глянул. И увидел там подтверждение этому.
Ниже кусок gcode, когда происходит ретракт.
gcode приготовил kisslicer, у него ретракт называется destring
- Код: Выделить всё • Развернуть
...
G1 X137.97 Y109.2 E15.2743
;
; 'Destring/Wipe/Jump Path', 0.0 [feed mm/s], 10.0 [head mm/s]
G1 X137.97 Y109.2 E15.2743 F12000
G1 E14.8743 F900
G1 X137.97 Y109.2 E14.8743 F600
;
G1 X136.92 Y107.31 E14.8743 F12000
...
То есть, перед ретрактом, экструдер останавливается на последней координате и останавливает подачу пластика.
Далее, происходит лишь одно движение - обратная подача, а значит ускорение берется из DEFAULT_RETRACT_ACCELERATION
После, обратная подача останавливается.
И уже после ретракта, происходит перемещение экструдера...
unigenum писал(а):Это получается, что ускорение по всем одновременно движущимся осям будет ограничиваться ускорением одной оси?
Т.е. идет печать, движутся одновременно 3 оси Е Х У со значениями MAX_ACCELERATION {1500,1500,Z,800}, то ускорение у всех 3 осей будет ограничено минимальным из ряда 800?
Не всегда!!!
Если MAX_ACCELERATION {1500,1500,1500,800} - X, Y, Z, E
То текущее ускорение станет равным 800, только тогда когда текущее ускорение умноженное на коэффициент превысит 800.
А коэффициент (как я уже описывал ранее) зависит от количества шагов текущей оси относительно максимального количества шагов.
То есть, ускорение ограничится значение 800, только тогда, когда перемещения по осям X,Y,Z будут минимальны, а по оси E перемещение будет значительное.
Если же, хоть по одной из осей X,Y или Z перемещение будет значительно больше, чем по оси E, то ограничение 800 не наступит, так как текущее ускорение с учетом коэффициента для оси E (а коэффициент будет относительно небольшой) не превысит 800.