Pathio Users

Parallel Printing with Pathio!

Currently working on getting parallel Printing with the twoolhead from the Colorado Printing project. So far so good! With some custom start g-code and the firmware Brent made that makes the printer look like a single head It looks like Ill be able to move off of Cura for this application.

Im pretty excited about this because most of the printing I do for this can actually utilize dynamic tracking and 3D offsetting when those mature. For now if anyone wants to use this here are the start and end code snippets I’m using.

Start

    ;This G-Code is for the LulzBot TAZ 6 with the TWOOLHEAD!
G26 ; clear potential 'probe fail' condition
G21 ; set units to Millimetres
M107 ; disable fans
G90 ; absolute positioning
M82 ; set extruder to absolute mode
G92 E0 ; set extruder position to 0
M140 S{{bed_temp}}; start bed heating up
G28 XY ; home X and Y
G1 X-19 Y258 F1000 ; move to safe homing position
T0 ; switch to extruder 1
M104 S{{subtract(nozzle_temp_0, 55)}} ; get the plastic all melty
T1 ; switch to extruder 2
M109 R{{subtract(nozzle_temp_0, 55)}} ; soften filament before homing Z
G28 Z ; home Z
T0 ; switch to extruder 1
M104 R{{subtract(nozzle_temp_0, 55)}}; set temp but don't wait
T1 ; switch to extruder 2
M109 R{{subtract(nozzle_temp_0, 55)}} ; wait for extruder to reach wiping temp
G92 E0 ; set extruder location to 0
G1 E-30 F100 ; retract filament
G1 X-15 Y100 F3000 ; move above wiper pad
G1 Z0.5 ; push nozzle into wiper
G1 X-17 Y95 F1000 ; slow wipe
G1 X-17 Y90 F1000 ; slow wipe
G1 X-17 Y85 F1000 ; slow wipe
G1 X-15 Y90 F1000 ; slow wipe
G1 X-17 Y80 F1000 ; slow wipe
G1 X-15 Y95 F1000 ; slow wipe
G1 X-17 Y75 F2000 ; fast wipe
G1 X-15 Y65 F2000 ; fast wipe
G1 X-17 Y70 F2000 ; fast wipe
G1 X-15 Y60 F2000 ; fast wipe
G1 X-17 Y55 F2000 ; fast wipe
G1 X-15 Y50 F2000 ; fast wipe
G1 X-17 Y40 F2000 ; fast wipe
G1 X-15 Y45 F2000 ; fast wipe
G1 X-17 Y35 F2000 ; fast wipe
G1 X-15 Y40 F2000 ; fast wipe
G1 X-17 Y70 F2000 ; fast wipe
G1 X-15 Y30 Z2 F2000 ; fast wipe
G1 X-17 Y35 F2000 ; fast wipe
G1 X-15 Y25 F2000 ; fast wipe
G1 X-17 Y30 F2000 ; fast wipe
G1 X-15 Y25 Z1.5 F1000 ; slow wipe
G1 X-17 Y23 F1000 ; slow wipe
G1 Z10 ; raise extruder
G1 X155 Y95 F3000 ; move above other wiper
G1 Z0.5 ; move down into wiper pad
G1 X155 Y90 F1000 ; slow wipe
G1 X155 Y85 F1000 ; slow wipe
G1 X153 Y90 F1000 ; slow wipe
G1 X155 Y80 F1000 ; slow wipe
G1 X153 Y95 F1000 ; slow wipe
G1 X155 Y75 F2000 ; fast wipe
G1 X153 Y65 F2000 ; fast wipe
G1 X155 Y70 F2000 ; fast wipe
G1 X153 Y60 F2000 ; fast wipe
G1 X155 Y55 F2000 ; fast wipe
G1 X153 Y50 F2000 ; fast wipe
G1 X155 Y40 F2000 ; fast wipe
G1 X153 Y45 F2000 ; fast wipe
G1 X155 Y35 F2000 ; fast wipe
G1 X153 Y40 F2000 ; fast wipe
G1 X155 Y70 F2000 ; fast wipe
G1 X153 Y30 F2000 ; fast wipe
G1 X155 Y35 F2000 ; fast wipe
G1 X153 Y25 F2000 ; fast wipe
G1 X155 Y30 F2000 ; fast wipe
G1 X153 Y25 F1000 ; slow wipe
G1 X155 Y23 F1000 ; slow wipe
G1 Z15 ; raise extruder
T0 ; switch extruder
M104 S{{subtract(nozzle_temp_0, 55)}} ; set but don't wait
T1 ; switch extruder
M109 R{{subtract(nozzle_temp_0, 55)}} ; wait for extruder to reach probe temp
G28 XY ; home X and Y
M204 S100 ; set probing acceleration
G29 ; start auto-leveling sequence
M204 S350 ; restore standard acceleration
G1 Z15 F5000 ; move up off last probe point
G4 S1 ; pause
M400 ; wait for moves to finish
M117 Heating... ; progress indicator message on LCD
T0 ; switch to extruder 1
M104 S{{nozzle_temp_0}} ; set but don't wait
T1 ; switch to extruder 2
M109 R{{nozzle_temp_0}}; wait for extruder to reach printing temp
M190 S{{bed_temp}}; wait for bed to reach printing temp
G1 Z2 E0 F75 ; prime tiny bit of filment into the nozzle
M117 TWAZ 6 Printing... ; progress indicator message on LCD

End

M400 ; wait for moves to finish
T0 ; extruder 1
M104 S0 ; hotend off
T1 ; extruder 2 ; Extruder 2
M104 S0 ; hotend off
M107 ; fans off
G91 ; relative positioning
G1 E-1 F300 ; retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+20 E-5 X-20 Y-20 F3000 ; move Z up a bit and retract filament even more
M117 Cooling please wait ; progress indicator message
G90 ; absolute positioning
G1 Y0 F3000 ; move to cooling position
M117 Cooling please wait ; progress indicator message on LCD
M190 S{{subtract(bed_temp, 60)}} ; set bed to cool off
G1 Y280 F3000 ; present finished print
M84 ; steppers off
G90 ; absolute positioning
M117 Print complete ; progress indicator message
1 Like

IMG_20190204_150838 IMG_20190204_150830

So far so good.

4 Likes

This is a really cool application - I’m interested to know what features Pathio could implement that enables this, if any are needed?

I also enjoyed your good use of maths in the scripting - great to see this being of use in the wild!