top of page
To test this feature, visit your live site.
G4
I have a Anycubic kobra 2 max.
I can’t get the G4 to work.
It goes to all coordinates without any pauses
G4
I have a Anycubic kobra 2 max.
I can’t get the G4 to work.
It goes to all coordinates without any pauses
28 comments
Like
28 Comments
bottom of page
Ok, I have uploaded the STL's to printables for now. They should be able to be viewed and downloaded from there:
Extruder Top Mount: https://www.printables.com/model/856385-3d-chameleon-extruder-top-mount-for-anycubic-kobra
Extruder PTFE Adapter Mount: https://www.printables.com/model/856390-3d-chameleon-ptfe-adapter-for-anycubic-kobra-2-max
Endstop/Limit Switch Mount: https://www.printables.com/model/856366-3d-chameleon-endstoplimit-switch-mount-for-anycubi
3d Clippy/Filament Cutter: https://www.printables.com/model/856285-3d-chameleon-clippy-for-anycubic-kobra-2-max
I think I fixed the issue with visibility in tinkercad, can you try those links again?
Here is my current gcode
; Auto generated 3D Chameleon Mk3 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] G90 ; set absolute positioning M82 ; turn absolute distances for the extruder ; unload extruder {previous_extruder} G92 E0 ; go to holding position to unload the stock extruder G0 X430 Y427 F8000 ; <<----- EDIT THIS LINE TO SET THE INITIAL LOCATION OF THE BUTTON ; if this is the first load, then don't unload ; load extruder #{next_extruder} M117 Loading Tool T{next_extruder} {if previous_extruder>-1} ; back out the filament for cutting G0 E-58 F2000 ;was 58 F1000 retract a bit, adjust this to tune waste G92 E0 ;<<< Clippy! >>> G0 X60 F8000; Get ready to cut filament G0 X-75 F3000; Move to cut G0 X400 F8000; Move to other side G0 X430 F3000; retract blade ;<<<End Clippy! >>> M83 ; turn relative distances for the extruder G0 E20 F2000 ; was 10<<<---- if mechanical cutter, change to a positive value of at least 5mm G92 E0 ; we skipped to here if it was extruder -1 {endif} ; press the button to select the new extruder G0 Y430 F2000 ; press the button {if next_extruder==0} G0 X415 F1800; dwell for .5 seconds - adjust this to match your machines single pulse time {endif} {if next_extruder==1} G0 X415 F900; dwell for 1.0 seconds - adjust this to match your machines two pulse time {endif} {if next_extruder==2} G0 X415 F675; dwell for 1.5 seconds - adjust this to match your machines three pulse time {endif} {if next_extruder==3} G0 X415 F450; dwell for 2.0 seconds - adjust this to match your machines four pulse time {endif} G0 Y427 F2000; back off button ; back out filament if needed after cut {if previous_extruder>-1} G0 Y430 F2000 ; push button to unload G0 X385 F450; was 370 pause on button to retract filament G0 Y427 F2000 ; Back off button G0 X430 F8000; {endif} G0 Y430 F2000 ; Push button to load G0 X385 F450; was 370 pause on button to load filament G0 E35 F2000; was 45 F1500<<<--- adjust this E value to tune extruder loading G0 Y427 F2000 ; Back off button G0 X430 F8000; G92 E0 G0 E25 F2000 ; was 65 and this worked, change it back if needed<<<<<----------- EDIT THIS DISTANCE TO FINE TUNE THE FILAMENT LOADING TO STOP BLOBBING OR UNDEREXTRUSION G92 E0 ; If this is the first load, extrude a few lines to make sure the filament is loaded and the nozzle is primed {if previous_extruder==-1} ;extrude a line if first load G0 X427 Y400 Z0.2 F1000; G0 Y200 E50 G92 E0 G0 X425 F1000 G0 Y427 E50 G0 X430 F350 G92 E0 {endif} M83 ; turn relative distances for the extruder M117 3D Chameleon Tool T{next_extruder}
What is it telling you when trying to open them? Would you mind sharing your clippy? I am Aldo interested to see what you came up with.
Also..where and how did you end up mounting your extruder and button?
I will try to put my gcode here in a little bit to compare.
; 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 Y426 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} {if previous_extruder>-1} ; back out the filament for cutting G0 E-20 F500 ; retract a bit, adjust this to tune waste ; <<<< insert mechanical cutter code here! >>>> ;<<< Start Of Tip Shaping- Remove If No Cutter! >>> ;M109 R180; cool down to prevent swelling ;M302 S0 ; enable cold extrusion ;M106 S255 ;G0 E20 F1500 ; ;G0 E-5 F500 ; ;M109 R165; cool down to prevent swelling ;G0 E5 F1500 ; ;G0 E-1 F500 ; ;M109 R155; cool down to prevent swelling ;G0 E1 F1500 ; ;G0 E-25 F500 ; ;M109 R150; cool down to prevent swelling ;G0 E24 F1500 ; last tip dip with cold tip ;G0 E-24 ; last tip dip with cold tip ;M109 R180; ok... go back up in temp so we can move the extruder ;G0 E-80 F500 ; back out of the extruder ;G92 E0 ;M104 S[temperature]; ;<<< End Of Tip Shaping >>> ; we skipped to here if it was extruder -1 {endif} {if previous_extruder>-1} ; retract it back out of the extruder G92 E0 ; Unload filament hotend G0 E-83 F2000 G92 E0 G0 E-30 F2000 ; <<<---- if mechanical cutter, change to a positive value of at least 5mm 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} ; press the button to select the new extruder G0 Y3 F2000 {if next_extruder==0} G0 X15 F1800 ; dwell 0,5s 1 puls (Unload current and load T0 IF NOT FROM START(or Extruder 1) G0 Y426 F2000 ;move away from button G0 X0 {endif} {if next_extruder==1} G0 X15 F900 ; dwell 1,0s 2 puls (Unload current and load T1 (or Extruder 2) G0 Y426 F2000 ;move away from button G0 X0 {endif} {if next_extruder==2} G0 X15 F675 ; dwell 1,5s 3 puls (Unload current and load T2 (or Extruder 3) G0 Y426 F2000 ;move away from button G0 X0 {endif} {if next_extruder==3} G0 X15 F450 ; dwell 2,0s 4 puls (Unload current and load T3 (or Extruder 4) G0 Y426 F2000 ;move away from button G0 X0 {endif} G0 Y-3 ;Unload chameleon G0 X15 F450 ; dwell 2,0s wait for cutter to work G0 X0 ; Home X ; ok command selected - back out filament if needed after cut {if previous_extruder>-1} G0 Y3 F2000 ; G0 X172.5 F450 ; dwell 23s (Retract 723mm - 31,5mm/s) G0 Y-3; G0 X0 ; Home X G0 X15 F1800 ; dwell 0,5s G0 X0 ; Home X {endif} ; Load chameleon G0 Y3 F2000 ; G0 X172.5 F450 ; dwell 23s (Load 723mm - 31,5mm/s) G0 E25 F1500; <<<--- adjust this E value to tune extruder loading G0 Y-3; G0 X0 ; Home X G0 X15 F1800 ; dwell 0,5s G0 X0 ; Home X G92 E0 G90 ; move back to absolute mode M83 ; but make sure the extruder stays in relative ; reload filament all the way into extruder ; Load filament hotend G92 E0 G0 E58 F2000 ; <<<<<----------- EDIT THIS DISTANCE TO FINE TUNE THE FILAMENT LOADING TO STOP BLOBBING OR UNDEREXTRUSION G92 E0 M83 ; turn relative distances for the extruder M302 S180 ; prevent cold extrusion M117 3D Chameleon Tool T{next_extruder} {if previous_extruder==-1} G0 X390 Y 425 Z0.24 F1000 ; prime line G0 X190 E50; G0 X0 ; Home X G0 X15 F450 ; dwell 2,0 G0 X0 ; Home X {endif}
G28 ; move X/Y/Z to min endstops G1 Z0.28 ; lift nozzle a bit G92 E0 M117 G90 M83 G92 E0 ; 3 QUICK PRESSES TO RESET G0 X0 Y426 F2000 ;moved to front of button G0 X0 Y429 F2000 ;pressed button G0 X4.5 F1800 ; dwell 150ms G0 Y426 F2000 ;move away from button G0 X0 F1800 ; Home X G0 X4.5 F1800 ; dwell 150ms G0 X0 F1800 ; Home X G0 X0 Y426 F2000 ;moved to front of button G0 X0 Y429 F2000 ;pressed button G0 X4.5 F1800 ; dwell 150ms G0 Y426 F2000 ;move away from button G0 X0 F1800 ; Home X G0 X4.5 F1800 ; dwell 150ms G0 X0 F1800 ; Home X G0 X0 Y426 F2000 ;moved to front of button G0 X0 Y429 F2000 ;pressed button G0 X4.5 F1800 ; dwell 150ms G0 Y426 F2000 ;move away from button G0 X0 F1800 ; Home X ; HOMING CHAMELEON G0 X4.5 F1800 ; dwell 150ms G0 X0 F1800 ; Home X G0 X0 Y429 F2000 ;pressed button G0 X35 F675 ; dwell 3,5s 7 puls (Home Only (no filament movements) G0 Y426 F2000 ;move away from button G0 X0 F2000 ; Home X G0 X30 F225 ; dwell 5s ; SELECTION T0 G0 X0 Y426 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X15 F1800 ; dwell 0,5s 1 puls (Unload current and load T0 IF NOT FROM START(or Extruder 1) G0 Y426 F2000 ;move away from button ; LOAD T0 G0 X0 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X172.5 F450 ; dwell 23s (Load 723mm - 31,5mm/s) G0 Y426 F2000 ;move away from button ; SELECTION T1 G0 X0 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X15 F900 ; dwell 1,0s 2 puls (Unload current and load T1 (or Extruder 2) G0 Y426 F2000 ;move away from button ; UNLOAD T0 G0 X0 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X172.5 F450 ; dwell 23s (Retract 723mm - 31,5mm/s) G0 Y426 F2000 ;move away from button ; LOAD T1 G0 X0 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X172.5 F450 ; dwell 23s (Load 723mm - 31,5mm/s) G0 Y426 F2000 ;move away from button ; SELECTION T2 G0 X0 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X15 F675 ; dwell 1,5s 3 puls (Unload current and load T2 (or Extruder 3) G0 Y426 F2000 ;move away from button ; UNLOAD T1 G0 X0 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X172.5 F450 ; dwell 23s (Retract 723mm - 31,5mm/s) G0 Y426 F2000 ;move away from button ; LOAD T2 G0 X0 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X172.5 F450 ; dwell 23s (Load 723mm - 31,5mm/s) G0 Y426 F2000 ;move away from button ; SELECTION T3 G0 X0 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X15 F450 ; dwell 2,0s 4 puls (Unload current and load T3 (or Extruder 4) G0 Y426 F2000 ;move away from button ; UNLOAD T2 G0 X0 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X172.5 F450 ; dwell 23s (Retract 723mm - 31,5mm/s) G0 Y426 F2000 ;move away from button ; LOAD T3 G0 X0 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X172.5 F450 ; dwell 23s (Load 723mm - 31,5mm/s) G0 Y426 F2000 ;move away from button ; UNLOAD AND HOME G0 X0 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X30 F675 ; dwell 3,0s 6 puls (Unload current and Home - can be used in the End GCode to unload the last used filament) G0 Y426 F2000 ;move away from button ; UNLOAD T3 G0 X0 F2000 ;moved to front of button G0 X4.5 F1800 ; dwell 0,15s G0 X0 F1800 ; dwell 0,15s G0 X0 Y429 F2000 ;pressed button G0 X172.5 F450 ; dwell 23s (Retract 723mm - 31,5mm/s) G0 Y426 F2000 ;move away from button G0 X0 F2000 ;moved to front of button ; 1- 7 pulses ;G0 X15 F1800 ; dwell 0,5s 1 puls (Unload current and load T0 IF NOT FROM START(or Extruder 1) ;G0 X15 F900 ; dwell 1,0s 2 puls (Unload current and load T1 (or Extruder 2) ;G0 X15 F675 ; dwell 1,5s 3 puls (Unload current and load T2 (or Extruder 3) ;G0 X15 F450 ; dwell 2,0s 4 puls (Unload current and load T3 (or Extruder 4) ;G0 X15 F225 ; dwell 2,5s 5 puls (Home and load T0 - can be used in Start GCode to load the first filament) ;G0 X30 F675 ; dwell 3,0s 6 puls (Unload current and Home - can be used in the End GCode to unload the last used filament) ;G0 X35 F675 ; dwell 3,5s 7 puls (Home Only (no filament movements) ;Dwell short, load and unload ;G0 X4.5 F1800 ; dwell 0,15s (Dwell before pressing button) ;G0 X0 F1800 ; dwell 0,15s ; LOAD FILAMENT ;G0 X0 F2000 ;moved to front of button ;G0 X4.5 F1800 ; dwell 0,15s ;G0 X0 F1800 ; dwell 0,15s ;G0 X0 Y429 F2000 ;pressed button ;G0 X172.5 F450 ; dwell 23s (Retract 723mm - 31,5mm/s) ;G0 Y426 F2000 ;move away from button ;G0 X0 F2000 ;moved to front of button ; UNLOAD FILAMENT ;G0 X0 F2000 ;moved to front of button ;G0 X4.5 F1800 ; dwell 0,15s ;G0 X0 F1800 ; dwell 0,15s ;G0 X0 Y429 F2000 ;pressed button ;G0 X172.5 F450 ; dwell 23s (Load 723mm - 31,5mm/s) ;G0 Y426 F2000 ;move away from button ;G0 X0 F2000 ;moved to front of button
Here are links for a custom mount and button switch I created too: button switch holder: https://www.tinkercad.com/things/9mzrKLc4cah-v3-3dchameleon-endstop-mount This is designed to be put on near the power cord on the machine. It mounts on top of that area and the build plate glides over the switch with the back plastic part that the power cords for the heating bed are attached with.
Top mount for 3dChameleon: https://www.tinkercad.com/things/0yYyx8LM9nF-anycubic-kobra-2-max-3dchameleon-extruder-mount
Here is a link to the 3dclippy you can mess around with: https://www.tinkercad.com/things/9pBP6twagKj-kobra2-max-3d-chameleon-clippy-v3. I am still tweaking it as mentioned, it's not perfect but seems to work well and reliably. I thought about adding a support for the 3dchameleon adapter to hold it from flopping around, but haven't gotten a chance to mess with it yet
Here is a post in another post on the forum here I made comments on too: https://www.3dchameleon.com/forum/main/comment/97962229-8304-4be0-9590-597f35b76e2a?postId=65e4c17cacf9fa0010e7175b
You can reach out to me for help too, I worked with Bill a lot on this to get it working on mine. I have also made a clippy for the kobra2 max (still tweaking it some) but have had it working for a while now after a lot of work and help from Bill. I've been meaning to create a post here with all my stuff but haven't gotten around to it yet. I made a clippy because I was spending endless hours trying to get the filiament shaping to work and I use different brands and types. so even if I got one working another wouldn't work without going through the whole process again.
Yep... that's the right idea. Time the X axis moves to be a clock by adjusting the speed. You can use two variables there... the distance or the speed... both work equally well... but don't forget that acceleration takes into account on both, so the F1800 might not be right to be exactly 150ms... but in that case, our code is very flexible... you have a lot of error time between the button pulses.
Bill
If I write a code like this, is this correct?
Ok... I don't know why Any cubic did that... But it's easy to fix. We can move the bed very slowly instead with the proper timing. I'm on the road right now, but when I stop this evening, I'll forward you a sample that we used.