SoftFever / OrcaSlicer

G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)
https://discord.gg/P4VE9UY9gJ
GNU Affero General Public License v3.0
7.14k stars 839 forks source link

Spiral Z-Hop can carry nozzle outside of printable area #3107

Closed MiniMook closed 7 months ago

MiniMook commented 10 months ago

OrcaSlicer Version

1.8.1

OS version

Windows 11

Additional system information

Ryzen 7 5800X 32GB RAM

Printer

Voron Trident 300mm

How to reproduce

  1. Load up an object with less than 1-2mm of clearance from the edge of the printable area. I was printing stealthmax parts from https://github.com/nevermore3d/StealthMax on a 300mm Trident
  2. Slice using the configuration Printer Settings -> Extruder -> Z Hop Type set to "Spiral"
  3. Print file

Actual results

After a couple hours in you may get an automatic print cancellation with the error similar to:

Move out of range: 127.384 -0.033 2.662 [14001.338]

Defining a negative Y value, which is obviously bad.

Expected results

Printer should complete the print without issues.

I would suggest using G2 or G3 for spiral wipes moving towards the center of the bed, rather than always a G3

Project file & Debug log uploads

Spiral-Z-Hop-Out-of-Bounds.zip

The klippy.log may not match this exact project file and this exact gcode file, but the gist of it is the same.

Checklist of files to include

github-actions[bot] commented 7 months ago

Orca bot: this issue is stale because it has been open for 90 days with no activity.

github-actions[bot] commented 7 months ago

Orca bot: This issue was closed because it has been inactive for 7 days since being marked as stale.

Technofrikus commented 5 months ago

I thought I had the same issue but could not reproduce it.

A print failed at the shown layer in the z-hop spiral. With a Move out of range: -0.019 263.662 23.287 [140557.543]

CleanShot 2024-05-19 at 08 18 31 IMG_1450

But only a small part of the print but at the same exact position worked just fine. CleanShot 2024-05-19 at 09 55 59

Current best theory is, that the skew correction I use causes this. The part is so close to 0 that this small change from the skew causes the problem. Assuming you are using klipper, this should solve it. Thanks to Mikl Schmidt for this!

[stepper_x]
position_min: -1.5

I also have shrinkage compensation enabled for the material. This also makes the part bigger.

Technofrikus commented 5 months ago

Confirmed. I added the position_min and ran the same gcode again and it worked without problems.