New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[4.0.0] Pause at Height plugin restarts too high #5924
Comments
I tested the LayerAtHeight script on Cura 4.1 with an Ultimaker 2 (has Marlin firmware like your machine) It produced this G code ( added some comments in code to explain): ;TYPE:CUSTOM The script seem to work OK. Are you sure that the printer is printing a FULL layer at the incorrect height or is you printer oozing material at the return position (which is 1mm above the last z position) before it starts printing layer 13 (which bring it back to the correct z height)? Please check the G code and see if the error is in the G code or in the printer (Oozing). |
The bug reproduces for me. Here's a snippet of g-code that I get:
The Z hop height of Creality CR-10 is 1mm. Perhaps that has something to do with it? |
Here's another example. Examined the gCode produced by 4.2 beta - Oddly the same model on the same settings doesn't do this for me with 4.0.0 - but now that I know it does for other's I'll be making a point of hand examining & editing every 2 color job to be safe. Pretty clear that what's happening is a rise of exactly 1mm, then a second rise to clear any collisions before moving to the designated "resting point" set in the extension. Then when the head returns it returns to the point 1mm high. THEN on the next layer tries to drop to the correct height. Makes real mess. |
Looks like this line has a bug: |
This is by design. You do not want to bump into the object when moving back after a pause. If you look at the generated g code you will see that the next layer start after this code and brings it back to the correct layer height. |
@pkuiper-ultimaker It happens every time in 4.0, 4.1 and now 4.2.1 when using the pause at height add-on. But if you look at the screen shots I already uploaded you can see it clearly with a .2mm layer height. |
Thanks. Can confirm that manually editing the gcode like this works. Now its just up to Ultimaker to get rid of this problem. I also learned a valuable lesson.... never upgrade software before i have an ordered part to print. |
I have Versions 15.04 - 3.61 - 4.0 - 4.21 installed all side by side. Just in case. |
I had the exact same problem in Cura 4.2.1 yesterday. |
Thanks for working on this and suggesting how to fix it. I'm using version 4.2.1 and after the pause on Ender 3 the height went all the way to the bottom and started printing. It rammed into the existing print. Since I paused at layer 17 I am thinking of printing again with a negative number in the 'redo layer' section. I'll see if redo layer -17 works. Otherwise I'll just edit the gcode, or down grade to 4.0. |
Layer numbers are absolute not relative. -17 makes no sense. If you want it to resume at 17 just use 17. Its not relative to current position such as being at 34 so -17 would take to positive 17: that's not how it works.
I've used the pause at height with specified layers a LOT and never had it do that. I'm not a Cura worker but I'd be interested to see your actual settings for that did this (screen shot) - and maybe the gcode that was generated. You can't attach .zip or gCode to threads here: Just images. If you wanted to rename the file |
@tlhintoq Much appreciated. |
The problem is that PauseAtHeight.py returns back to the "1mm higher" height in line 312, then returns the X-Y back to the pause point, but never moves back down to the starting height. In the first example above, we can see where the code after the script happens to return to a known Z position. This does not always occurs and the script should not depend on this occurring. It's causing many resumes to occur 1mm too high for a single layer. |
@bkp23 |
@DragNfLy , in your gcode you'll see just below the ;MESH:NONMESH Mesh line is the last time your printer adjusts the Z height to 1.64. Then when the pause at height script modifies the code to: ;script: PauseAtHeight.py It raises it to 2.64mm, then to 15mm. Then right after the pause: M109 S205; resume temperature It SHOULD set the Z height back to Z1.64, however the bug has it 1mm higher. Simply change this line to G1 F300 Z1.64 Then your print should work fine. This is a tip that I've found useful to me. On my Ender3, the extruder is attached to the Z gantry. When changing filament I believe I've bumped the gantry down a pinch before. As the printer only knows its height relative to how much it has driven the stepper motor, it does not realize the Z height is lower due to my manually changing filament and bumping the Z gantry down. This caused a print to fail as it tried to print the next layer at approximately the same height as the previous, causing smudging and under extrusion. So in order to make sure that my printer is returning to the proper Z height, I rehome the Z axis, then run the final Z height command before it returns to printing. This is easily done with a G28 Z command right before your G1 F300 Z1.64 line. WARNING, this does mean that the nozzle will lower to the print bed before rising back up to the Z height. Assuming you're away from the print at your parked X, Y position of 190, 190 that shouldn't cause a problem, make sure you're nowhere near your print. |
@DragNfLy @DirtyRat91 It still has to be approved and merged in but he did provide a direct link and I've tested it. As you can see in that linked conversation I've tried it and it does seem to fix the problem. For convenience I've attached the script here. This site only allows the attaching of images so I've added a .jpg extension to the script. After you've downloaded the file remove the .jpg extension. Replace the script in your scripts directory. |
The PR has been merged, so I'm closing this ticket. Thank you all for the report, the investigation, the testing and the support. |
Application version
4.0.0
Platform
Windows 10 X64
Printer
Ender 3 Pro
Reproduction steps
Enable the Pause at Height plugin, select Layer to pause at (12 in my case), leave redo layers at 0, slice and print.
Actual results
The printer pauses at the layer as expected (at the end of layer 12 / start of layer 13), print head raises and moves to the set position, and upon restarting the Z height is up too high when it starts printing the first layer after pause. It looks to be about one or two layers too high. successive layers are ok after that though, just that first layer after the pause is too high, almost like it skips a layer or two when it goes back to printing.
Expected results
Should start printing at the correct layer height when resumed.
Additional information
The text was updated successfully, but these errors were encountered: