Ultimaker / Cura

3D printer / slicing GUI built on top of the Uranium framework
GNU Lesser General Public License v3.0
6.01k stars 2.05k forks source link

Issue with Filament Change PP and Retract at Layer Change #11707

Open johncarlson21 opened 2 years ago

johncarlson21 commented 2 years ago

Application Version

4.12.1

Platform

Mac OS

Printer

Ender 3v2

Reproduction steps

  1. Setup slicer to my normal settings, including Retract at Layer Change set to active
  2. Slice and preview to get the layer that I would like to change filament
  3. Add Post Processing script "Filament Change" using firmware and also not using firmware checked
  4. Save and Start print on printer.

Actual results

The filament change code works just fine, however because the Retract at Layer Change, what happens is that the print resumes, but immediately does the "Retract at Layer Change" as it starts moving. This results in no filament for a distance and leaves gaps.

Expected results

Retract happens before filament change code, then filament change happens and print resumes.

Checklist of files to include

Additional information & file uploads

Would be nice if the script could see that "Retract at Layer Change" is enabled and put the M600 after that.

here is the project file. filament change test.3mf.zip

johncarlson21 commented 2 years ago

Here is a snippet of code with the retract at layer change:

;TIME_ELAPSED:51.904498 M600 ; Generated by FilamentChange plugin ;LAYER:1 G1 F2280 E21.18398 ; -----> This is the retract at layer change M106 S72.2 ;TYPE:WALL-OUTER ;MESH:Cube G1 F2280 E27.18398

Ghostkeeper commented 2 years ago

But it also unretracts afterwards, doesn't it? In your snippet, it looks like the line G1 F2280 E27.18398 is the unretraction, exactly 6mm and at the same speed as the retraction. It shouldn't cause the filament to be left retracted while printing? And it's still doing the retract at layer change as requested, although perhaps that's not something you'd want when also changing the filament.

johncarlson21 commented 2 years ago

The problem is that it starts to move when it starts to extrude that meaning it is moving before the extruder gets the filament to the nozzle