prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.73k stars 1.93k forks source link

MM-Single Extruder error when loading distance negates parking position #12051

Open andrewmeyer opened 10 months ago

andrewmeyer commented 10 months ago

Description of the bug

I am implementing tool changes on a single extruder switchwire using M600 as the toolchange command. Because I am manually loading filament and priming the nozzle when I do so, there is no need to set extra loading distance to any value. In my case, filament parking position = 10 and extra loading distance = -10 While this correctly does not set an extrude command during the TOOL LOAD phase, it creates a dummy G1 move with a speed of -2147483648.

Project file & How to reproduce

color-change-test.gcode.zip 2024-01-11_14-35

Reproduce

  1. configure printer for multi material, single extruder
  2. set Filament Parking Position to N (ex: 10)
  3. set Extra Loading Distance to -N (ex: -10)
  4. add a tool change to an object
  5. locate the tool change in the gcode viewer

Current Workaround

  1. set Filament Parking Position to N (ex: 10)
  2. set Extra Loading Distance to -N-0.1 (ex: -9.9)

Checklist of files included above

Version of PrusaSlicer

2.7.1+linux-x64-GTK3

Operating system

Linux Mint 21.1 x86_64

Printer model

EnderWire conversion mod with Stealthburner

andrewmeyer commented 10 months ago

While this certainly is a fringe case, the behavior here seems abnormal and possibly the result of a mathematical error when the net loading distance is 0