Fix: Post-processing scripts do not run on "Send Print" #491
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
Post-processing scripts were executed correctly when exporting gcode files after slicing, but were not executed when sending gcode directly to the printer.
Root Cause
In
BackgroundSlicingProcess.cpp, thefinalize_gcode()function callsrun_post_process_scripts()to execute post-processing scripts when exporting G-code. However, inSendToPrinter.cpp, thehandle_send_gcode()function directly used the temporary G-code file path to send to the printer, bypassing the post-processing step entirely.Solution
libslic3r/GCode/PostProcessor.hppheader include inSendToPrinter.cpprun_post_process_scripts()call inhandle_send_gcode()function after obtaining the gcode file path and before uploadingFiles Changed
src/slic3r/GUI/print_manage/App/SendToPrinter.cppThis should fix issue #449.