top of page

Forum Comments

MK3 code + 3dclippy code help required
In Support
Colin Reed
Nov 06, 2023
Hi Bill, manhy thanks for taking the time to have a look, so here's the tool change code from my Prusaslicer.....as described previoulsy when doing a dry run with the 3Dchamleon floating and the final PTFE tube not connected to the sprite the filament - selection seems to work ok, but the length it pushes out past the end of the short piece of PTFE tubing is quite long (not good as the 3Dchamelon sits right on top of the 3Dclippy which sits right on top of the sprite just as yours was in the video link you shared in this thread). When the filament retracts it seems quite good and just about passes past its Y split input position, so no clashes or jams there. When I ran a dry run with this version of my tool change code the printer attempted to perform a filament almost immediately but it didn't get to the cut position fully (X=220 for me), nor did it reset properly ? So in essence I need pretty much the same tool change code as you used in the video link you share in this thread, but with only the switch position and 3dclippy positions change and using the sprite as the main extruder and NOT the 3Dcahmeleon as the extruder......in MODE3.... Anyways, here's my code :- ; Auto generated 3D Chameleon Mk3 Mode 3 Tool Change GCode for PrusaSlicer ; - 3D Chameleon Mk3 Tool T{next_extruder} - ;begin switch from extruder {previous_extruder} to extruder #{next_extruder} M117 Unloading Tool T[previous_extruder] M83 ; turn relative distances for the extruder ; unload extruder {previous_extruder} G92 E0 ; go to holding position to unload the stock extruder G0 Y216 F2000 ;   <<-----  EDIT THIS LINE TO SET THE INITIAL LOCATION OF THE BUTTON ; if this is the first load, then don't unload   G91 ; move to relative mode M83 ; load extruder #{next_extruder} M117 Loading Tool T{next_extruder} ; back out the filament for cutting ;G0 E-20 F500 ; retract a bit, adjust this to tune waste ; press the button to select the new extruder G0 Y3 F2000 {if next_extruder==0} G4 P500 ; dwell for .5 seconds - adjust this to match your machines single pulse time {endif} {if next_extruder==1} G4 P1000 ; dwell for 1.0 seconds - adjust this to match your machines two pulse time {endif} {if next_extruder==2} G4 P1500 ; dwell for 1.5 seconds - adjust this to match your machines three pulse time {endif} {if next_extruder==3} G4 P2000 ; dwell for 2.0 seconds - adjust this to match your machines four pulse time {endif} G0 Y-3 G4 S2 ; wait for cutter to work G0 X0 ; Pull the X axis home G0 X220 ; Launch toward the cutter G0 X0 ; Return to home to reset the cutter ; ok command selected - back out filament if needed after cut {if previous_extruder>-1} ; retract it back out of the extruder ;G92 E0 ;G0 E-5 F2000 ;G92 E0 ;G0 E-30 F2000 ;G92 E0 ; ok - out of extruder - press button to remove it all the way G91 ; move to relative mode M82 ; we skipped to here if it was extruder -1 {endif} {if previous_extruder>-1} G0 Y3 F2000 ; G4 S4 ; G0 Y-3; G4 P400 {endif} G0 Y3 F2000 ; G4 S4 ; G0 E25 F1500; <<<--- adjust this E value to tune extruder loading G0 Y-3; G4 P400   G92 E0 G90 ; move back to absolute mode M83 ; but make sure the extruder stays in relative ; reload filament all the way into extruder G92 E0 G0 E-20 F2000 ; <<<<<----------- EDIT THIS DISTANCE TO FINE TUNE THE FILAMENT LOADING TO STOP BLOBBING OR UNDEREXTRUSION G92 E0 M83 ; turn relative distances for the extruder M117 3D Chameleon Tool T{next_extruder}
0
MK3 code + 3dclippy code help required
In Support
Colin Reed
Nov 05, 2023
Thanks for that Bill - however, I'm a little more confused now - I've pulled your code down and looked at it by re-formatting it into a more line by line readable format...... The setup I have is an s1Pro with the sprite extruder (so NOT using the 3Dchameleon as the main extruder). I've placed the 3Dchameleon right on top of the sprite (as you had done in the video you linked), my switch is at X219, and my 3dclippy is set to cut when sent to X=220 and reset when sent to X=0 (simnilar to what you had set up I think?). At the moment i can SUCCESSFULLY run a 'dry' print with the filaments loaded into the 3Dchameleon but having the 3Dchameleon disconnected from the sprite - so i can see the filament(s) being selected and moved in and out (although i have some length issues - but will address them after this :) )........but WITHOUT any cutting in place - ie Gcode generated using the MK3 generator on your website and inserted straight into Prusaslicer. In my simple mind, I am trying to achieve the following :- (1) select and push in the first filament colour down to the sprite at which point the internal extruder will take over and pull it through and out the hotend. (2) use the wipe tower to get things moving (3) start the print with the first colour (4) then once that colour is done on that level fire the sprite over the X=220, cut the filament, (5) then reset the cutter by sending the sprite over to X=0 (6) retract the filament back out to the y-splitter (not concerned (yet) at slight wastage or pulling back the filament before cutting). (7) select the next filament colour (8) push the next filament down to the sprite at which point the internal extruder will take over and pull it through and out the hotend whilst..... (9) purging the remainder of the previous filament out by simply using the wipe tower (10) resume the print with the new colour (11) loop to (4) above until the print completes I did and have tried inserting commands to get the cutting done at the right time but can't quite seem to get it in the right place.......any help most appreciated :) Best Regards, and thanks for rhe help so far..... Colin.
0
Ender 3 S1 Setup
In Support

Colin Reed

More actions
bottom of page