Anybody got an example of how they implemented the adjustable brush? Looking to double check what I did before loading it up. Thanks
You can find my whole config files here: https://forum.e3d-online.com/threads/maximum-acceleration-of-the-ms.3807/
Thanks for example, so...I understand that for each tool you make a separate brush/purge macro... and this is executed depend on the tool is used by slicer, right? On prusa slicer part I have this example on tool change: {if layer_num < 1} {if previous_extruder < 0} G10 P{next_extruder} S[first_layer_temperature] T[next_extruder] M98 Ppurge.g {else} M98 Ppurge.g G10 P{next_extruder} S[first_layer_temperature] T[next_extruder] G10 P{previous_extruder} R190 M98 Ppurge.g {endif} {else} M98 Ppurge.g G10 P{next_extruder} S[temperature] T[next_extruder] G10 P{previous_extruder} R190 M98 Ppurge.g {endif} {if layer_num > 0} {if next_extruder == 0} M106 P2 S255 EXECUTE here the Ppurge macro? and erase all the first lines? {endif} {if next_extruder == 1} M106 P4 S255 {endif} {if next_extruder == 2} M106 P6 S255 {endif} {if next_extruder == 3} M106 P8 S255 {endif} {endif} I need some help to select the correct tool/macro on each change. I try to learn how it runs Gcode on prusaSlicer... Gracias!
I have some good results on my own "trash" code, I insert this in the tool changer section: In my case, I have a original E3D toolchanger with T0 volcano, T1 v6, T2 v6, and in the T3 nothing. ; INICIO del Codigo del cambio de herramienta {if layer_num < 1} {if previous_extruder < 0} G10 P{next_extruder} S[first_layer_temperature] T[next_extruder] {if current_extruder == 0} ;M98 PpurgeV.g ; codigo de limpieza Volcano {endif} {if current_extruder == 1} M98 Ppurge.g ; codigo de limpieza V6 {endif} {if current_extruder == 2} M98 Ppurge.g ; codigo de limpieza V6 {endif} {if current_extruder == 3} M98 Ppurge.g ; codigo de limpieza V6 {endif} {else} {if current_extruder == 0} ;M98 PpurgeV.g ; codigo de limpieza Volcano {endif} {if current_extruder == 1} M98 Ppurge.g ; codigo de limpieza V6 {endif} {if current_extruder == 2} M98 Ppurge.g ; codigo de limpieza V6 {endif} {if current_extruder == 3} M98 Ppurge.g ; codigo de limpieza V6 {endif} G10 P{next_extruder} S[first_layer_temperature] T[next_extruder] G10 P{previous_extruder} R190 {if current_extruder == 0} ;M98 PpurgeV.g ; codigo de limpieza Volcano {endif} {if current_extruder == 1} M98 Ppurge.g ; codigo de limpieza V6 {endif} {if current_extruder == 2} M98 Ppurge.g ; codigo de limpieza V6 {endif} {if current_extruder == 3} M98 Ppurge.g ; codigo de limpieza V6 {endif} {endif} {else} {if current_extruder == 0} ;M98 PpurgeV.g ; codigo de limpieza Volcano {endif} {if current_extruder == 1} M98 Ppurge.g ; codigo de limpieza V6 {endif} {if current_extruder == 2} M98 Ppurge.g ; codigo de limpieza V6 {endif} {if current_extruder == 3} M98 Ppurge.g ; codigo de limpieza V6 {endif} G10 P{next_extruder} S[temperature] T[next_extruder] G10 P{previous_extruder} R190 {if current_extruder == 0} ;M98 PpurgeV.g ; codigo de limpieza Volcano {endif} {if current_extruder == 1} M98 Ppurge.g ; codigo de limpieza V6 {endif} {if current_extruder == 2} M98 Ppurge.g ; codigo de limpieza V6 {endif} {if current_extruder == 3} M98 Ppurge.g ; codigo de limpieza V6 {endif} {endif} {if layer_num > 0} {if next_extruder == 0} M106 P2 S255 {endif} {if next_extruder == 1} M106 P4 S255 {endif} {if next_extruder == 2} M106 P6 S255 {endif} {if next_extruder == 3} M106 P8 S255 {endif} {endif} ; FIN del codigo de cambio de herramienta It seems to run fine. But the code is not optimized. if i have a little time I want use If/else...
I didn't check your code, but want to tell that it is bad practice to do this via slicer setting. Instead, you should execute this via firmware, like suggested in the 2nd post.
Ohh, I read again the code, It's a lot easyer if I do this in the "Tfree1.g" than at slicer. Thanks! We need this like a tutorial, or Pinned at forum. It's really usefull this example code!