Pause & Resume a Print using Klipper

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ก.พ. 2022
  • I learned the hard way that by default, Klipper does not recognize the gcode M0 which allows a pause to be inserted into a print to allow a filament change or any modification such as inserting shot, sand or anything else that you might need for a functional print. This video shows how to get Klipper to recognize M0.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 136

  • @arthurn986
    @arthurn986 7 หลายเดือนก่อน +4

    finaly a solution, i have been looking for something like this for ages. coincidentally i also just needed to place a nut in a print when i came across your video. thank you very much. still dont understand how such an important feature has to be so complicated.

  • @curtis3948
    @curtis3948 11 หลายเดือนก่อน +1

    OMG, THANK YOU! You are the only clip out of the literally DOZENS of videos I watched about multi-color prints that addresses that Klipper ignores the default script Cura adds for pausing at layers. Why more people don't talk about this I have no idea. Spent days and who knows how much 'failed' filament tests trying to get this to work.

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  11 หลายเดือนก่อน

      I'm so glad this was able to help. Thanks very much for watching and the comment!

  • @amarissimus29
    @amarissimus29 2 ปีที่แล้ว +5

    Perfect, thanks. You cleared up something about the .cfg documentation that is a little vague. It's so easy to take Prusaslicer's incredible functionality for granted when spitting out complex prints on a mk3 without any difficulty. Something as basic as a pause and resume on some machines makes you want to tear your hair out. Klipper really is amazing. Every day I'd finding something that makes previously annoying functions a breeze.

  • @amil89
    @amil89 ปีที่แล้ว +1

    This is the best, simplest solution to pausing in klipper.
    I went through so many guides with special macros and stuff and none worked properly. This one is so elegant just works as expected.

  • @scottgowans69
    @scottgowans69 ปีที่แล้ว +3

    Clear and concise. Thanks for your video. Just starting on my Klipper journey away from Marlin and this sort of stuff makes it all worth it.👍

  • @dougnoel1
    @dougnoel1 ปีที่แล้ว +2

    This was super helpful. I have an Ender-3 S1 Pro and I added a Sonic Pad to it which runs Klipper. When I used M0 it was pausing and then almost immediately resuming the print. It was quite frustrating. Using the code to define M0 was all I needed as pause_resume was already on and pause was already defined. But watching this got it working and it's something I have been struggling with for a bit.

  • @doro4414
    @doro4414 7 หลายเดือนก่อน +1

    Great tutorial, thank you. One thing that was not mentioned is that the PAUSE command moves the extruder to the HOME possition. This means that if your home possition is in the center of your plate, then you might have problems to insert magnets or nuts. To rectify this either set your home somewhere else or better add this to your PAUSE macro: G1 Y0 X0 -this moves the extruder to X0 and Y0 and once the print is resumed it will continue where it was paused ;)
    Enjoy

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  7 หลายเดือนก่อน +1

      This is a great tip. I just recently moved my home to center. I think you may have saved me the destruction of a future print! Thanks!

  • @steveharmancambridge
    @steveharmancambridge 4 หลายเดือนก่อน +1

    Perfect. Just what I needed. I don't know why others make it so complicated! :-)

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  4 หลายเดือนก่อน

      It’s actually pretty easy. The video probably could have been shorter. Thank you!

    • @steveharmancambridge
      @steveharmancambridge 3 หลายเดือนก่อน

      ​@@KapmansBasementWorkshop np. I've recently switched from Cura to Orca Slicer with a Creality K1 Max. I believe Orca is more Klipper-friendly? Turns out that, combined with your work shown in this video, Invoking a pause is really easy in Orca. After slicing, slide the slider to the layer you want to pause printing at -> right-click the + symbol on the slider and choose "Add pause". No additional plugins or addons necessary. Resuming can be done from the printer LCD or presumably as you show here from the Fluidd console. Thanks again for a great explainer.

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  3 หลายเดือนก่อน

      @@steveharmancambridge, And do you add pauses to switch filament colors or insert objects into the print?

  • @firsthope8196
    @firsthope8196 5 วันที่ผ่านมา +1

    so far you have the best video explaining my problem. while it is paused how to purge for color swaps?

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  5 วันที่ผ่านมา

      While paused, I cut the filament at the top of the print head, feed in the other filament and then extrude from the klipper/mainsail control screen. When it’s ready, type in or push resume.

  • @rjc0234
    @rjc0234 3 หลายเดือนก่อน +1

    This worked perfectly. Thank you.

  • @allenbassham2067
    @allenbassham2067 2 วันที่ผ่านมา

    Just a hint, when inserting a metallic object like a magnet or nut when using a heated build plate. I always preheat the item to the same temperature. This will prevent temperature shock and possible warping and layer adhesion issues. Magnets are easy, I just lay them on a corner of the build plate out of the way of head travel.

  • @h.l.8108
    @h.l.8108 11 หลายเดือนก่อน +1

    You definitely didn't just save my day. I was pretty desperate. That's exactly what I was looking for. 👍Thumbs up👍!
    When 'pausing' I get a message on my Sonic Pad that I can continue or cancel the print. No need to enter 'resume' into the console. There is also a 60-minute countdown after which I think the print is canceled.

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  11 หลายเดือนก่อน

      This is great to know. Multiple people with a Sonic Pad have told me these instructions don't work for them. I glad this was helpful. Thank you!

  • @the50first
    @the50first หลายเดือนก่อน

    Thanks! I had to remember to include the pause resume section. Works great! Now i have to figure out how to get it to recognize a custom hot end temp variable because it turns off when i pause. no biggy i just manually put a value which helps when mixing filiment types but that's my next step.

  • @RocketGary
    @RocketGary 2 หลายเดือนก่อน +1

    Thank you Sir! Your tutorial helped a lot!

  • @godworking
    @godworking 9 หลายเดือนก่อน +1

    Thank you for the video, the printer does pause but when I click on resume the printer wants me to home first - please advise.

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  9 หลายเดือนก่อน

      I'm guessing that for some reason when PAUSE was executed, the last position of the print head was not saved. Have a look here at my Fluidd.cfg file: github.com/Kapman1/Kapman1/blob/main/fluidd.cfg
      In that file are both a redefined "pause" and "resume". Note I did not write these, they just appeared after installing Fluidd. I assume the same happens with Mainsail. Note how in the Pause macro, some values are stored that need to be reset once the Pause ends. If yours looks different (it has looked different for some people), comment your existing one out and copy these into the file and restart klipper to see if this gets fixed.

  • @overtorquednut
    @overtorquednut ปีที่แล้ว +2

    The backwards way to accomplish this: while in the "Pause at Height" tab, select "RepRap (M226)" as Method, and then where it says "G-code after pause" simply enter "PAUSE". I'm not sure if the method part is that important, as you are just using the opportinity to inject "PAUSE" into the G-code, but I know this way does allow you to set the extruder temp during the pause successfully in that tab.

  • @6rcracer6
    @6rcracer6 ปีที่แล้ว +2

    Great video, can't believe people complain about it being to long. New to kipper. In cura on the drop down box how much information did you fill in? Did you have to tell it where to home and did you fill in a temp to hold it at during pause? Just need to know exactly how much to fill out. Thanks!

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว +2

      Its really much simpler than that. Just fill in where you want it to pause. I left everything else in the cura dialog alone. When you generate the gcode for the print, Cura will automatically include the proper gcode. When the printer pauses, Klipper will by default keep the correct temperature, store any required values to get back to the exact position to restart the print once you enter "resume". Really, Cura and Klipper take care of pretty much everything for you. Thanks for watching!

  • @LordByronMacintosh
    @LordByronMacintosh ปีที่แล้ว +1

    thank you looking forward to trying it!

  • @belenhedderich3330
    @belenhedderich3330 2 ปีที่แล้ว

    Thank you for your videos. Is the same for prusa slicer or SS? As far as you know?

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  2 ปีที่แล้ว

      As far as I know, it's the same. And if you are using Klipper, you will need to make the changes presented in the video.

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  2 ปีที่แล้ว

      And Thank You as well!

  • @mwalczak5603
    @mwalczak5603 2 ปีที่แล้ว +2

    Why do people add so much extra information? This could of been half as long, maybe less. While I appreciate people taking the time out of their lives to help others. When doing a show me type a video, there should be two parts, one that is short and to the point, in this case it would be put the following in your printer.cfg and run, then the second that is detailed like this video. Again, I do appreciate that the author created this and clicked like.

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  2 ปีที่แล้ว +2

      You are the second person to complain about this one. You certainly have a point. I will try something similar to what you suggest in a future video. If I have the time, I may to "fix" this one. Thank you for the feedback and thank you for watching!

  • @sebastiangaiser9003
    @sebastiangaiser9003 2 ปีที่แล้ว +1

    Your videos helped me a lot in Buildung my voron 2.4! Thank you very much! I sort of slowly understand Klipper and printer cfg....
    Is there any possibility to share your printer.cfg file?

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  2 ปีที่แล้ว

      Great to hear! I believe I need to setup a GIT account to post my CFG file. It might be a few weeks before I get to it. In the meantime, let me know what you are looking for and I can paste a portion of cfg in the text description.

  • @esotericbear9829
    @esotericbear9829 2 ปีที่แล้ว +1

    Thanks! I'm really struggling to figure out how Klipper/Mainsail works & I'm not finding a lot of videos that describe it.

  • @Arlomuzzwho
    @Arlomuzzwho 2 ปีที่แล้ว

    hey thanks this video really helped me out

  • @ephraimwestenberger3565
    @ephraimwestenberger3565 ปีที่แล้ว +1

    Thank you! Very helpful :)

  • @evankulper
    @evankulper ปีที่แล้ว

    My gcode macros are in mainsail.cfg. I know you are using fluid, but they are similar. So do you know if I would put it with the other gcode macros in the mainsail config or in the printer config?
    This video was so helpful by the way so thank you!

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว

      You should not need to move the pause gcode macro from where it currently sits. I left it where it was. I only made the minor change you saw in the video. If you go to github, you can see my printer.cfg files if that proves helpful. Any other clues you can give me? Thanks for watching!

    • @evankulper
      @evankulper ปีที่แล้ว

      @@KapmansBasementWorkshop Yes, I’m asking though about the gcode M0 command. I put it in the mainsail config and it worked. It probably would work in either config.

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว

      @@evankulper Glad it's working!

  • @XTC3D
    @XTC3D ปีที่แล้ว +1

    Thanks for the great tips! nozzle temp comes down during pause making it harder to change colours, any tips for this?

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว

      Hmmm. I use this about once per month on average, and I don't remember the nozzle cooling. But, I did not specifically check for it and I tend to be in the area when it pauses. The only thing I can think of is a macro of some kind running. Later, I'll review my cfg files and see if I can see something. I'll also try and test this sometime during this week so I know 100% if the nozzle is cooling or not.

    • @XTC3D
      @XTC3D ปีที่แล้ว

      @@KapmansBasementWorkshop wow, fast reply and thankyou, since i did find in script in cura for pause at layer, you can allow standby temp, though, not sure if thats for the bed or nozzle, im hoping nozzle.

    • @XTC3D
      @XTC3D ปีที่แล้ว +1

      @@KapmansBasementWorkshop It was nozzle temp, i tried it, i set in cura in the same layer script to hold temp at 200 and thats exactly what it did. Cheers!

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว

      @@XTC3D That's for the nozzle.

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว

      @@XTC3D I'm glad to hear that it's working for you!

  • @SH-rx3he
    @SH-rx3he ปีที่แล้ว

    Except say you decide you need to pause a print because you ran out of filament not on the spool but in your house, and you have to wait until the next day for a shipment. This pause function won't disable the Motor's from being disabled and requiring a complete re-homing.
    Any work around for that?

  • @ritesha8050
    @ritesha8050 17 วันที่ผ่านมา

    im having issues where whenever i resume the print i get a layer gap. I made sure that the extruder was to temperature before resuming and also extruded a bit

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  17 วันที่ผ่านมา

      Compare your pause and resume macros to mine. Anything look like it might impact the stored or resumed position?
      [gcode_macro PAUSE]
      description: Pause the actual running print
      rename_existing: PAUSE_BASE
      # change this if you need more or less extrusion
      variable_extrude: 1.0
      gcode:
      ##### read E from pause macro #####
      {% set E = printer["gcode_macro PAUSE"].extrude|float %}
      ##### set park positon for x and y #####
      # default is your max posion from your printer.cfg
      {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
      {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
      ##### calculate save lift position #####
      {% set max_z = printer.toolhead.axis_maximum.z|float %}
      {% set act_z = printer.toolhead.position.z|float %}
      {% if act_z < (max_z - 2.0) %}
      {% set z_safe = 2.0 %}
      {% else %}
      {% set z_safe = max_z - act_z %}
      {% endif %}
      ##### end of definitions #####
      PAUSE_BASE
      G91
      {% if printer.extruder.can_extrude|lower == 'true' %}
      G1 E-{E} F2100
      {% else %}
      {action_respond_info("Extruder not hot enough")}
      {% endif %}
      {% if "xyz" in printer.toolhead.homed_axes %}
      G1 Z{z_safe} F900
      G90
      G1 X{x_park} Y{y_park} F6000
      {% else %}
      {action_respond_info("Printer not homed")}
      {% endif %}
      [gcode_macro RESUME]
      description: Resume the actual running print
      rename_existing: RESUME_BASE
      gcode:
      ##### read E from pause macro #####
      {% set E = printer["gcode_macro PAUSE"].extrude|float %}
      #### get VELOCITY parameter if specified ####
      {% if 'VELOCITY' in params|upper %}
      {% set get_params = ('VELOCITY=' + params.VELOCITY) %}
      {%else %}
      {% set get_params = "" %}
      {% endif %}
      ##### end of definitions #####
      {% if printer.extruder.can_extrude|lower == 'true' %}
      G91
      G1 E{E} F2100
      {% else %}
      {action_respond_info("Extruder not hot enough")}
      {% endif %}
      RESUME_BASE {get_params}

  • @kamukorp
    @kamukorp 3 หลายเดือนก่อน

    easy, simple, works great =)

  • @jochenweisel8612
    @jochenweisel8612 ปีที่แล้ว +1

    very helpful. Thx.

  • @RoXolid
    @RoXolid ปีที่แล้ว +1

    So this replicates m600 basically in Marlin?

  • @LWUndsoo
    @LWUndsoo ปีที่แล้ว +2

    how did you get the small gcode previews in your Printing list?

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว +2

      They just appeared after installing fluidd. I didn't do anything. However, now that you mention it, it has been a while since I have seen them. They disappeared! I'm going to try and figure out what happened and report back. Thanks!

    • @LWUndsoo
      @LWUndsoo ปีที่แล้ว +2

      @@KapmansBasementWorkshop in the fluid docs, there is a section thumbnails. you gotta modify the gcode in cura, to insert a thumbnail the size 300x300 and 48x48. then reslice the file and it should show up again

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว +1

      @@LWUndsoo I just tested it. This works great. Thank you very much for responding!

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว

      One more question if I may. Are you aware of a way to change the thumbnail image color? It's showing up gray on the black background, even with my glasses on it's a little tough....

    • @LWUndsoo
      @LWUndsoo ปีที่แล้ว +1

      @@KapmansBasementWorkshop qyes the colour is taken from the preview of cura. You can set the preview colour for each material in the material settings, therefore you can actually see what kind of material yiu sliced this file with.

  • @francomaccaroni795
    @francomaccaroni795 ปีที่แล้ว

    Thankes, very useful...!!

  • @autofctrl
    @autofctrl ปีที่แล้ว +1

    In my case it does not work..
    Cura - Pause at height - Park print checked - Standby temp set - G-code before Pause "M0" - G-code after Pause (nothing). Print starts, pauses at layer 5, goes to back right corner and waits....
    When pressing or typing resume the print-head moved to wards the print but stops immediately.
    Clicking resume again triggers error: "Move out of range".
    Also tried G4 S60 (to wait a minute and self-resume) but nope... neither..

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว

      While a print is in progress, can you issue a pause and then resume from Mainsail/Fluidd? Does that work?

    • @autofctrl
      @autofctrl ปีที่แล้ว +1

      @@KapmansBasementWorkshop Hey there! Yep, that works. It seems like I just got it to work. In my case I have to use G4 instead of M0 (no idea why) The added S60 (to pause 60 seconds) does not work though. Very strange...
      PD: Many thx for such a quick reply. :D

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว +1

      @@autofctrl Thanks for the feedback. I'm glad it's working!
      At some point it would be interesting to have a look at the cfg files to better understand what is going on here. If by chance you have them posted in Github or somewhere else, I would not mind having a look. Thanks!

    • @autofctrl
      @autofctrl ปีที่แล้ว +1

      @@KapmansBasementWorkshop It might be a little off compared to your cfg as I'm currently using a pimped Ender 3 Pro. No space for a Monster like VORON, but hopefully soon :D

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว +1

      @@autofctrl Well, there are small Vorons too. Thank you!

  • @mutlubasdas
    @mutlubasdas ปีที่แล้ว +1

    Thanks mate!

  • @UbberMapper
    @UbberMapper 9 หลายเดือนก่อน

    If this works your a life saver.

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  9 หลายเดือนก่อน

      We will soon find out. Challenge accepted :)

    • @UbberMapper
      @UbberMapper 9 หลายเดือนก่อน

      @@KapmansBasementWorkshop It worked. I cannot believe how easy that is...if this was marlin I would have to recompile new firmware. Subscribed!

  • @manojkumarvk1
    @manojkumarvk1 ปีที่แล้ว

    I Tried M600 as well as M0 pause., Both cases works but I face a problem, while resuming print about 1mm higher than the actual position and printing in air., is there a solution., If needed, could move z axis -1mm and start printing from there. but i don't know how to put this on configuration file. Any help??

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว

      That should not be happening. Have a look at my Fluidd.cfg file (should be very similar to your Mainsail.cfg file if that is what you use). The basis for Pause resides there by default. My file is in Github: github.com/Kapman1/Kapman1
      Any differences?

  • @amarissimus29
    @amarissimus29 2 ปีที่แล้ว +1

    If you're using Octoprint you'll need to unblock M0 in the firmware & protocol section of the serial settings.

  • @andreipolytov1059
    @andreipolytov1059 ปีที่แล้ว +1

    Спасибо большое, только это и помогло. Ещё бы команду "продолжить" к кнопке привязать. Что бы не набирать в командной строке

  • @MichiMess
    @MichiMess ปีที่แล้ว +1

    Thanks, that worked (Y)

  • @wernerrenrew5399
    @wernerrenrew5399 ปีที่แล้ว +1

    Super, besser ging nicht. Sofort bei mir funktioniert. Bis dahin habe ich stundenlag nach eine Lösung gesucht. Danke für das Video. Ich hätte dein Kanal abonniert, kann ich kein Englisch.

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว

      Deutsch ist hier immer willkommen! Vielen Dank für die wunderbare Antwort und ich bin froh, dass es geholfen hat!

  • @Cereal_Killr
    @Cereal_Killr 9 หลายเดือนก่อน

    All I wanna do is make my ender S1 pro with sonic pad PAUSE!! lol I tried this and it goes to pause corner...but then just goes right back into printing. I typed out exactly what you have in printer.cfg Any idea what I'm doing wrong?

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  9 หลายเดือนก่อน

      Multiple people have complained about this. I just got a sonic pad. If you can wait a few more weeks, there is a good chance I can answer the question once I install it.

    • @Cereal_Killr
      @Cereal_Killr 9 หลายเดือนก่อน

      @@KapmansBasementWorkshop it's exactly the same as you show in your video. I use web browser and it displays klipper UI. Must run code different tho...

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  9 หลายเดือนก่อน +1

      @@Cereal_Killr - Some with Sonic pads told me that the code I used here worked for them. So there must be something different. I'll know soon enough.

    • @Cereal_Killr
      @Cereal_Killr 9 หลายเดือนก่อน

      @@KapmansBasementWorkshop When I put "pause" on line below "gcode:" it turns orange like you have...but my printer will only freeze up giving connection error to printer. when I move it up on same line the word pause goes white...but then it does'nt work. Does it matter what line I'm using? my [pause_resume] is up around line 20ish if I recall correct. so it's different from yours...if that helps any

  • @-_Robert_-
    @-_Robert_- 3 หลายเดือนก่อน

    and if I want my printhead in front instead at home?

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  3 หลายเดือนก่อน

      Go to your fluidd.cfg or mainsail.cfg file. The pause Macro is in that file. It defines where to pause. Change it to what you wish, save and restart.

  • @davebrown4280
    @davebrown4280 ปีที่แล้ว +1

    nice thanks

  • @torsten2941
    @torsten2941 10 หลายเดือนก่อน

    Where i can copy the Macro please ?

  • @tom_foolery
    @tom_foolery 4 หลายเดือนก่อน

    Doesnt work for me. Sonic Pad is giving me an error telling me I must "home axis first" when I try to resume

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  4 หลายเดือนก่อน +1

      The Sonic Pad by default seems to be setup differently. I have one now. Once I have that working, I’ll post how to configure that.

    • @tom_foolery
      @tom_foolery 4 หลายเดือนก่อน

      @KapmansBasementWorkshop i think im getting it to work now. Definitely have to use the filament change script under modify gcode. X position and Y position seem to allow me to park the head where i want just fine, without getting the "home axis" error. But it looks like M83 needs to be added to your starting gcode for relative extrusion and turn on relative extrusion in special modes. Otherwise i either get "Extrude move too long" errors or it will potentially retract too far on a vary large print and grind gears really bad.

  • @jimviau327
    @jimviau327 ปีที่แล้ว

    Which it worked for me. I only tried Pause... then when I hit RESUME button on fluidd the head moved back where it should restart and then:
    $ RESUME // Extrude only move too long (-542.872mm vs 50.000mm)
    // See the 'max_extrude_only_distance' config option for details !! Extrude only move too long (-542.872mm vs 50.000mm)
    $ resume // Print is not paused, resume aborted
    And I lost a 2 hours print.

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว

      I'm sorry you lost a big print. I always test these changes with a very small print before trying something big. Have a look at this. It should help you out. www.reddit.com/r/klippers/comments/spi528/at_my_wits_end_extrude_only_move_too_long/

    • @jimviau327
      @jimviau327 ปีที่แล้ว +1

      @@KapmansBasementWorkshop - Thank you for taking the time to suggest a solution. I will certainly dig into this article. Cheers

  • @fr3dmobile215
    @fr3dmobile215 2 ปีที่แล้ว +1

    6 min for two lines. [gcode_macro M0] pause

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  2 ปีที่แล้ว

      So the video is too long?

    • @SHMEDIC9
      @SHMEDIC9 ปีที่แล้ว +1

      @@KapmansBasementWorkshop No. It was very useful

  • @JoseRenatoIzar
    @JoseRenatoIzar ปีที่แล้ว

    This doesnt work... my printer pauses and say i need to home my 3d printer.

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว

      It works for me and many others. What does your cfg file look like?

    • @JoseRenatoIzar
      @JoseRenatoIzar ปีที่แล้ว

      @@KapmansBasementWorkshop
      [gcode_macro PAUSE]
      rename_existing: BASE_PAUSE
      # change this if you need more or less extrusion
      variable_extrude: 1.0
      gcode:
      ##### read E from pause macro #####
      {% set E = printer["gcode_macro PAUSE"].extrude|float %}
      ##### set park positon for x and y #####
      # default is your max posion from your printer.cfg
      {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
      {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
      ##### calculate save lift position #####
      {% set max_z = printer.toolhead.axis_maximum.z|float %}
      {% set act_z = printer.toolhead.position.z|float %}
      {% if act_z < (max_z - 2.0) %}
      {% set z_safe = 2.0 %}
      {% else %}
      {% set z_safe = max_z - act_z %}
      {% endif %}
      ##### end of definitions #####
      SAVE_GCODE_STATE NAME=PAUSE_state
      BASE_PAUSE
      G91
      G1 E-{E} F2100
      G1 Z{z_safe} F900
      G90
      G1 X{x_park} Y{y_park} F6000
      [gcode_macro RESUME]
      rename_existing: BASE_RESUME
      gcode:
      ##### read E from pause macro #####
      {% set E = printer["gcode_macro PAUSE"].extrude|float %}
      ##### end of definitions #####
      G91
      G1 E{E} F2100
      RESTORE_GCODE_STATE NAME=PAUSE_state
      BASE_RESUME

    • @KapmansBasementWorkshop
      @KapmansBasementWorkshop  ปีที่แล้ว +1

      @@JoseRenatoIzar Did you change any of the code above? In the video, I don't touch this. All I did was add this into the printer.cfg file:
      [gcode_macro M0]
      gcode:
      PAUSE
      I placed that in the marco section.
      Your PAUSE and RESUME macros's look different from mine:
      [gcode_macro PAUSE]
      description: Pause the actual running print
      rename_existing: PAUSE_BASE
      # change this if you need more or less extrusion
      variable_extrude: 1.0
      gcode:
      ##### read E from pause macro #####
      {% set E = printer["gcode_macro PAUSE"].extrude|float %}
      ##### set park positon for x and y #####
      # default is your max posion from your printer.cfg
      {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
      {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
      ##### calculate save lift position #####
      {% set max_z = printer.toolhead.axis_maximum.z|float %}
      {% set act_z = printer.toolhead.position.z|float %}
      {% if act_z < (max_z - 2.0) %}
      {% set z_safe = 2.0 %}
      {% else %}
      {% set z_safe = max_z - act_z %}
      {% endif %}
      ##### end of definitions #####
      PAUSE_BASE
      G91
      {% if printer.extruder.can_extrude|lower == 'true' %}
      G1 E-{E} F2100
      {% else %}
      {action_respond_info("Extruder not hot enough")}
      {% endif %}
      {% if "xyz" in printer.toolhead.homed_axes %}
      G1 Z{z_safe} F900
      G90
      G1 X{x_park} Y{y_park} F6000
      {% else %}
      {action_respond_info("Printer not homed")}
      {% endif %}
      [gcode_macro RESUME]
      description: Resume the actual running print
      rename_existing: RESUME_BASE
      gcode:
      ##### read E from pause macro #####
      {% set E = printer["gcode_macro PAUSE"].extrude|float %}
      #### get VELOCITY parameter if specified ####
      {% if 'VELOCITY' in params|upper %}
      {% set get_params = ('VELOCITY=' + params.VELOCITY) %}
      {%else %}
      {% set get_params = "" %}
      {% endif %}
      ##### end of definitions #####
      {% if printer.extruder.can_extrude|lower == 'true' %}
      G91
      G1 E{E} F2100
      {% else %}
      {action_respond_info("Extruder not hot enough")}
      {% endif %}
      RESUME_BASE {get_params}

    • @JoseRenatoIzar
      @JoseRenatoIzar ปีที่แล้ว

      @@KapmansBasementWorkshop I did not =(

    • @terrytang7856
      @terrytang7856 ปีที่แล้ว

      Same with me. I was using it on a Sonic Pad and an Ender Pro 3. Would pause but on resume it would give an error it had to be homed.

  • @eagle4lebress110
    @eagle4lebress110 ปีที่แล้ว

    Hello,
    great job, as usual, but personally I use the M600 macro. Just add it to printer.cfg in the macro section. I attach it to my comment.
    [gcode_macro M600]
    gcode:
    {% set X = params.X|default(50)|float %}
    {% set Y = params.Y|default(0)|float %}
    {% set Z = params.Z|default(10)|float %}
    SAVE_GCODE_STATE NAME=M600_state
    BREAK
    G91
    G1 E-.8 F2700
    G1 Z{Z}
    G90
    G1 X{X} Y{Y} F3000
    G91
    G1 E-50 F1000
    RESTORE_GCODE_STATE NAME=M600_state