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.65k stars 1.92k forks source link

v2.8.0 - Cold extrusion - gcode generation doesnt pre-heat nozzle for "First Layer" at all #13208

Open PhoenixCZE opened 1 month ago

PhoenixCZE commented 1 month ago

Description of the bug

extruder is not heated at all, first heating command in gcode is after first layer => cold extrusion

Project file & How to reproduce

slicer settings bowdenleft NEW.zip

Checklist of files included above

Version of PrusaSlicer

win64 2.7.x - 2.8.0

Operating system

windows 10

Printer model

Anet A8, but it doesnt matter since issue is missing gcode setting

neophyl commented 1 month ago

The devs need your saved project file from PS. Not gcode. File>Save project as. That will save a PS 3mf format file. They need the settings from your profiles which the project will contain. In this case the Printer profile most likely.

Given the gcode file shows that your start gcode doesn't have any lines telling it to preheat to the first layer temp, so do you by any chance have the Printer Settings>Custom Gcode> Emit temperature commands automatically = unticked as an option ?

image

If that is unticked you have to explicitly add the correct lines to the start gcode. If its ticked then the slicer should automatically add them for you. Not always in the place you want them which is why its best to add them yourself anyway.

With the project file it would be easy to check.

PhoenixCZE commented 1 month ago

Hi,

thanks for fast response, the setting is ticked so it should be added as you mentioned. [image: image.png]

3mf file is attached below.

Thanks for help

po 5. 8. 2024 v 15:44 odesílatel neophyl @.***> napsal:

The devs need your saved project file from PS. Not gcode. File>Save project as. That will save a PS 3mf format file. They need the settings from your profiles which the project will contain. In this case the Printer profile most likely.

Given the gcode file shows that your start gcode doesn't have any lines telling it to preheat to the first layer temp, so do you by any chance have the Printer Settings>Custom Gcode> Emit temperature commands automatically = unticked as an option ?

image.png (view on web) https://github.com/user-attachments/assets/c60d4a9f-c068-4917-adc2-982b1a31b95b

If that is unticked you have to explicitly add the correct lines to the start gcode. If its ticked then the slicer should automatically add them for you. Not always in the place you want them which is why its best to add them yourself anyway.

With the project file it would be easy to check.

— Reply to this email directly, view it on GitHub https://github.com/prusa3d/PrusaSlicer/issues/13208#issuecomment-2269116406, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADDCSJMC2EKOC5I2C2SSQYDZP56TRAVCNFSM6AAAAABMAEGUICVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRZGEYTMNBQGY . You are receiving this because you authored the thread.Message ID: @.***>

PhoenixCZE commented 1 month ago

temp settings plus 3mf.zip

neophyl commented 1 month ago

Thanks for that (not a dev btw - just another user)

Looking at your profile you are sort of supplying the heat extruder commands which is why its not automatically adding them. However you are supplying ANY parameters for the M109 (which is strange as you are supplying a parameter for S0 in the End gcode section.

So you have ;M109 ; wait for temp but what temp ? For a fixed temp you would use M109 S210 for example to set 210 degrees. If you want to use the first layer temp from the Filament profile you have to use a placeholder.

For PS you need to provide the proper placeholder (which can be found by hovering over a setting. SO in this case it is first_layer_temperature.

For a normal printer profile the correct block of lines are along this M104 S[first_layer_temperature] ; set extruder temp M140 S[first_layer_bed_temperature] ; set bed temp M190 S[first_layer_bed_temperature] ; wait for bed temp M109 S[first_layer_temperature] ; wait for extruder temp

So the M109 S is followed by the appropriate placeholder.

I don't know where you got your Anet A8 profile from but it is a bit lacking. If I recall the A8 is basically a MK3 clones isn't it ? I would install a Mk3 printer profile and examine the contents and settings of the printer settings.

Correct the profile and it should work.

PhoenixCZE commented 1 month ago

Hi,

well that M109 was commented out, I was testing it back then. Then I realize that I should not set it directly since some time you need a little bit different temperature etc ... so I commented that out.

Yes, its MK3 clone I think, powered by marlin FW.

I might try to backup settings and start vanilla settings, then inspect gcode if there is M104 before extrusion. It might be related with upgrade among versions ....

PhoenixCZE commented 1 week ago

Hi, I just found the solution ... it looks like there is some twisted sense of humor behind it :D You just have to go to Printers => Custom G-code and uncheck "Emit temperature commands automatically" then save settings. After that you have to check it again and save settings, now it works perfectly.

PrusaSlicer - cold extrusion fix