I have a decently working TC at this point. I've tweaked, adjusted, modified, and so on. See a decent multi-color print attached. The one part I still cannot figure out is the speed after the prime where the tool head returns to the bed to start (or continue) printing. The TC moves at top speed to get pick up and then get to the prime location, primes, then Makerbot-like-slow trundles its way to the prime tower (or if no prime tower, to the print). If I could get this to speed up I could save time and filament by either reducing or eliminating the prime tower. I've tried just throwing a G1 F50000 at the end of tpre/tpost/prime.g which did not do anything. I feel like there is something between prime.g and the start of the print that is dictating slow movement and I'm not able to figure it out. I don't think there is anything in these that would dictate slow tool movement: tpre.g tpost.g prime.g tpre: Code: ; tpre0.g ; called before tool 0 is selected ;Ensure no tool is selected ;T-1 ;Unlock Coupler M98 P/macros/Coupler - Unlock G29 S2 ; Disable Mesh Compensation. ;Move to location G1 X-12.4 Y200 F50000 ;Move in G1 X-12.4 Y230 F50000 ;Collect G1 X-12.4 Y242.5 F2500 ;Close Coupler M98 P/macros/Coupler - Lock G91 G1 Z10 F1000 G90 ;Move Out G1 X-12.4 Y150 F4000 G29 S1 ; Enable Mesh Compensation. tpost: Code: ; tpost0.g ; called after tool 0 has been selected ;heatup M116 P0 ;prime nozzle M98 Pprime.g ;PCF fan on ;M106 P2 S127 M106 R2 I do not see anything in the gcode either that dictates slow tool movement to the start of the wipe tower: Code: M107 M190 S65 ; set bed temperature and wait for it to be reached M104 S210 T0 ; set temperature M104 S210 T2 ; set temperature M104 S210 T3 ; set temperature T-1 ;drop any active tools G29 S1 ;enable mesh leveling ;T0 ;pick up tool 0 M109 S210 T0 ; set temperature and wait for it to be reached M109 S210 T2 ; set temperature and wait for it to be reached M109 S210 T3 ; set temperature and wait for it to be reached G21 ; set units to millimeters G90 ; use absolute coordinates M83 ; use relative distances for extrusion T0 ; Filament gcode G1 Z0.200 F10800.000 G1 E-1.20000 F2400.00000 G1 Z0.800 F10800.000 G1 Z0.200 G1 Z0.800 G1 X114.175 Y87.855 G1 Z0.200 G1 E1.20000 F2400.00000 ;------------------------------------- ; CP WIPE TOWER FIRST LAYER BRIM START G1 X114.175 Y110.355 E1.2827
I do vaguely recall that issue. The problem is not your pre, post, or prime, but the fact that once they've all finished, the next command in the GCODE is a G1 for a slow F speed. Ultimately, you need something like a G1 R1 X0 Y0 F50000 in order to get back to the position. I can't remember fully how I solved that, but I think it was with S3D post processing. Just had a peek and I have this line in post processing as one of many ... {REPLACE "\nT0" "\nG10\nT0\nG1 R2 X0 Y0 Z1 F21000\nG1 R2 Z0 F1200\nG11 ; tool change replacement"}
RRF doesn't know what speed you want to use to return to the tool change coordinates, so it uses a default one. You can override it by explicitly moving to the resume point at the end of tpost.g, for example by making this the last (or almost last) line: G1 R2 X0 Y0 Z2 ; move to 2mm above the resume point
@dc42 What will that do if this is not a tool change though. When is R2 set and cleared? Does going to an empty R2 do nothing or assume 0,0,0?
Well, if you add it to tpost - the return to position would happen every time you dropped the tool, even if you weren't changing tools. So in a single tool print, there would be no need to return to the last position - though I don't think it would do harm.
No, it would happen every time you loaded the tool. But that will only happen on a tool change, and when loading the first used tool at the start of the print. If we made the assumption that after a tool change the slicer will always issue a G1 move to the required printing position (even if it is identical to the position just before the tool change) then we could omit the automatic return-to-position. But that seems a dangerous assumption to make. I guess I could change it so that the automatic return to position occurs at max speed instead.
My mistake. Getting confused with tfree. I honestly think it's best left in the hands of the machine owner, but you could have a default behaviour that could be overridden or called upon. Different slicers offer different methods of dealing with this. Personally I think the behaviour on tool change should look like this: End extrusion with first tool. Note that a tool change is next. Store current position of tool head in R1. Read ahead to the place I need to be in order to begin the next extrusion with the new tool - call this R3 Execute tool change (tfree, tpre, tpost) Navigate to R3 + Z2 Begin extrusion with new tool.