Jump to content

Extrude only move too long (-369.461mm vs 50.000mm) Error


7milesup

Recommended Posts

Yep, me again.

So, I got Cura working last night and was fairly pleased.  However, when trying to do a print tonight, I get the error shown in my title.  "Extrude only move too long (-369.461mm vs 50.000mm)."

Context:  I started a print from one of our members here for chamber lighting.  Github Chamber Lighting.  However, my first print started to lift off of the bed (cooling fan, oops) so I terminated the print and started over.  However, I received the above error when attempting the print again.  The only way to clear it was to shut the printer off and restart.

I believe it is an extruder error resulting from it not being "zeroed out."  I inserted a G92 E0 in my slicer Gcode, but no dice.  There is also the following in my config file...

 G92 E0.0            #reset extruder distance position
    G1 X10 Y10 Z0.3 F3000       #move to prime line position
    G1 X60 E10.0 F1000  #intro line
    G1 X200 E20 F500   # intro line
    G92 E0.0      #reset extruder distance position

What are the guru's thoughts on here?  😬

Oh, it does it with SuperSlicer, too, so apparently it is not dependent upon the slicer.

7milesup config.cfg

Link to comment
Share on other sites

Here is the explanation for your error:

 

#max_extrude_cross_section:
#   Maximum area (in mm^2) of an extrusion cross section (eg,
#   extrusion width multiplied by layer height). This setting prevents
#   excessive amounts of extrusion during relatively small XY moves.
#   If a move requests an extrusion rate that would exceed this value
#   it will cause an error to be returned. The default is: 4.0 *
#   nozzle_diameter^2

 

Link to comment
Share on other sites

1 hour ago, 7milesup said:

G92 E0.0            #reset extruder distance position
    G1 X10 Y10 Z0.3 F3000       #move to prime line position
    G1 X60 E10.0 F1000  #intro line
    G1 X200 E20 F500   # intro line
    G92 E0.0      #reset extruder distance position

Another options is to comment the above out as it is only a prime line sequence. Nice to have but not essential.

  • Like 1
Link to comment
Share on other sites

1 hour ago, claudermilk said:

I get that occasionally (twice this week in fact). I just restart Klipper and try again. At least for me it seems the printer gets confused after canceling a print sometimes.

Yes, exactly.  I would find that a little frustrating that a restart needs to be done when this happens.  @claudermilk, you may want to throw the line in your config that @mvdveer suggested (unless you already have it) and see your results.  I have been printing this morning with the added config line and so far it seems to be working.

I wonder if this would this warrant a service ticket with Klipper, if that is even a thing?

Link to comment
Share on other sites

3 hours ago, 7milesup said:

Welp, none of that fixed it.  Still failing.

So obviously not the purge line, but something in the Gcode. Is it only one specific file? Have you tried slicing a different model to see if it completes? What does the klipper log file say at the point of failure - has the output changed from:    "Extrude only move too long (-369.461mm vs 50.000mm)." to different values after changing max extrude length?

Link to comment
Share on other sites

Hi @mvdveer.  I was just sitting down to expand on what is going on here.

To answer your question about different files; yes, it is happening with two different files.  Both of these prints are somewhat long physically.  The one is about 300mm long and must be placed on the bed diagonally.  The files are from Voron Maniac on Github for the chamber lighting and were the 300mm LED light holder and then the 125mm diffuser.

I am wondering if I have not seen this before because my prints have been rather short in length.  Just a thought.  Also, I used both Cura and SupeSlicer for the same file to see if it was a slicer issue, but that does not appear to be the case.  The numbers I included in the original post are just what that particular error was i.e. the numbers change except for the 50mm reference.  The last failure was "Extrude only move too long (-68.594mm vs 50.000mm)."  So, it has something to do with the max 50mm limitation. 

I need head out for a bit but will check back within a few hours.

7milesup "now what did I do wrong" Neil

Link to comment
Share on other sites

5 minutes ago, 7milesup said:

The last failure was "Extrude only move too long (-68.594mm vs 50.000mm)."  So, it has something to do with the max 50mm limitation. 

I am now printing the same file to see if I get the error. It may solve the problem by increasing the value in the Extrude cross section to 60

max_extrude_cross_section: 60 

Will let you know if my print is successful or not

  • Like 1
Link to comment
Share on other sites

I should point out @mvdveer that as @claudermilk mentioned, it does not happen during the initial print. 

1.)  The initial (first) print completes with no issues.

2.)  The subsequent print generates the error.

3.)  The error can only be cleared by turning the printer off and then back on or by a firmware restart.

 

EDIT:  I just completed another LED diffuser print, and even though I did not need another, I started one anyhow.  This time it all worked as it should with no error.  I have the purge code lines commented out, but it was commented out before also, so there was no change regarding that.  I had the printer and computer completely shut down before doing these last two prints.  Also, the prints were as they were before i.e. they were not re-sliced.

7milesup "scratching my head" Neil

  • Like 1
Link to comment
Share on other sites

You're not the only one to have had this issue.

 

Have you tried the suggestions here.  From what im reading after a few google searches of your error, it's an issue with your gcode and not a Klipper issue.  

Heres one from a few years back, on github.

Extrude only move too long · Issue #708 · Klipper3d/klipper · GitHub

 

And someone with the same issue, from a year ago on Reddit.

 


Here is a screenshot from the reddit post:

image.thumb.png.d9eff94ac227f1ab5c0971758090419b.png

Edited by ken226
  • Like 2
Link to comment
Share on other sites

Looking through my own slicer settings and config file,  Prusa slicer has the extruder reset command here by default in their pre-installed Voron profile. Presumably, this resets the extruder to zero before each layer change during a print:

image.png.073973a0db5bee5e3eef11971cf10622.png

 

And in my printer.cfg file,  I have the G92 E0 command in the "print end" macro.  This is supposed to reset the extruder to 0 at the end of each print.  So, when the next print starts,  it starts at 0.

 

image.thumb.png.71294c6a7ad9307edfbed3f7598b8a37.png

 

 

 

I looked at your attached config file and don't see a "g92 E0" command in your "print end" macro. 

 

Try that,  and also add it to your slicer in the appropriate section. 

 

Hopefully this helps.

 

 

Edited by ken226
  • Like 2
Link to comment
Share on other sites

I will give that a go @ken226.   During my Google searching I did see those posts that you mentioned and do believe that it is a G92 E0 issue somewhere. 

I just finished a print so this next one  (@VoronManiac's LED light bar parts) I will slice it in SuperSlicer using your suggestions and see if that makes a difference.  If that works then it will give me starting point to go back to Cura and see what can be done. 

Link to comment
Share on other sites

10 minutes ago, 7milesup said:

I will give that a go @ken226.   During my Google searching I did see those posts that you mentioned and do believe that it is a G92 E0 issue somewhere. 

I just finished a print so this next one  (@VoronManiac's LED light bar parts) I will slice it in SuperSlicer using your suggestions and see if that makes a difference.  If that works then it will give me starting point to go back to Cura and see what can be done. 

I bet if you add g92 e0 to your print end macro, you'll never see that error again.  Even if you didn't touch your slicer settings.

Edited by ken226
  • Voron FTW! 1
Link to comment
Share on other sites

15 minutes ago, ken226 said:

I bet if you add g92 e0 to your print end macro, you'll never see that error again.  Even if you didn't touch your slicer settings.

That is what I am thinking too @ken226

I will be doing some test prints this evening to see if that fixes it.

  • Like 1
Link to comment
Share on other sites

FYI, I have the G92 E0 twice in my print_start (once right before my purge call, once again immediately before starting the print job), and once in my print_end. I just added it to my cancel_print as insurance. I suspect cancelling a print might have set of the error. It's a very rare occurrence for me so I haven't really looked into it--that twice-in-a-week instance was an anomaly.

  • Like 1
Link to comment
Share on other sites

20 minutes ago, claudermilk said:

FYI, I have the G92 E0 twice in my print_start (once right before my purge call, once again immediately before starting the print job), and once in my print_end. I just added it to my cancel_print as insurance. I suspect cancelling a print might have set of the error. It's a very rare occurrence for me so I haven't really looked into it--that twice-in-a-week instance was an anomaly.

Thanks for that info @claudermilk.   I am beginning to realize that I never say, "It's 100% fixed," because then it seems like the darn thing turns around and bites me.  I agree that the issue lies within resetting the extruder to a zero point, similar to clearing the memory, I guess.

She's printing now and have more to do today so we shall see...

Next up is a cleaning brush and bucket.  (I can hear the TeamFDM community groan)  😬

  • Like 2
Link to comment
Share on other sites

25 minutes ago, 7milesup said:

Thanks for that info @claudermilk.   I am beginning to realize that I never say, "It's 100% fixed," because then it seems like the darn thing turns around and bites me.  I agree that the issue lies within resetting the extruder to a zero point, similar to clearing the memory, I guess.

She's printing now and have more to do today so we shall see...

Next up is a cleaning brush and bucket.  (I can hear the TeamFDM community groan)  😬

 

I use this one:

https://www.printables.com/model/201999-nozzle-scrubber-with-a-little-bucket-for-voron-24/comments

The creator has a macro in the listing, under details.  Just paste it into your config file and adjust the variables to your printer.

 

And one of these brushes.  I cut the head off of it and fit it into the 3d printed holder.

BCZAMD Imdinnogo 3D Printer Nozzle Cleaning Brass Wire Toothbrush Tool Brass Brush Handle Hot End Cleaning Toothbrush (2Pcs) https://a.co/d/eOpKany

It's been working great for me.  It uses 4 little 6x3mm magnets, so the purge bucket pops off and on for clean out 

Edited by ken226
  • Like 2
Link to comment
Share on other sites

On 4/4/2023 at 1:21 AM, ken226 said:

use this one:

Same here. The other option did not properly fit as it interfered with the position of the fuse on the hotbed. 

Has been working really well and would recommend this.

  • Like 2
Link to comment
Share on other sites

1 hour ago, mvdveer said:

Same here. The other option did not properly fit as it interfered with the position of the fuse on the hotbed. 

Has been working really well and would recommend this.

I ran into that too.

 

At some point,  I added a second brush to that side anyway.  It just seemed like a convenient place to store a spare.

I used Prusa Slicers mirror function to make a mirror copy of the first, and put it on the opposite side. I can use either brush by changing a few variables in the macro.

Any idea if there's a way to modify the macro so it alternates brushes, like, every other print or something?🤣

 

IMG_20230404_162449119.thumb.jpg.a743e833b9d68b72f16846b8e080c25f.jpg

Link to comment
Share on other sites

I kinda figured out a way to get close.   Not every other print, but I got it to alternate sides when it does my G32 routine.

 

I copied my CLEAN_NOZZLE macro, then pasted a copy of it under the first iteration.  I renamed the first copy CLEAN_NOZZLE_RIGHT, and renamed the second copy CLEAN_NOZZLE_LEFT.  Then I changed the variables in the second copy to opposite side and direction.   For example, CLEAN_NOZZLE_RIGHT has the start point @ x285, y304 and direction -50.   So, for CLEAN_NOZZLE_LEFT, i set those value to x15, y304 and the direction to 50.

Then In the g32 macro:

Untitled.jpg.0fc3c4df28c1222ec8b2fe429408082b.jpg

 

So, while not every other print,  it alternates sides when it does it's g32 routine.

 

Edited by ken226
  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...