diff --git a/lib/Slic3r/Print/GCode.pm b/lib/Slic3r/Print/GCode.pm index 47f56ef45..1de040ff2 100644 --- a/lib/Slic3r/Print/GCode.pm +++ b/lib/Slic3r/Print/GCode.pm @@ -249,7 +249,7 @@ sub export { print $fh $gcodegen->writer->set_fan(0); printf $fh "%s\n", $gcodegen->placeholder_parser->process($self->config->end_gcode); print $fh $gcodegen->writer->update_progress($gcodegen->layer_count, $gcodegen->layer_count, 1); # 100% - print $fh $gcodegen->writer->end_program(); + print $fh $gcodegen->writer->postamble; $self->print->total_used_filament(0); $self->print->total_extruded_volume(0); diff --git a/xs/src/libslic3r/GCodeWriter.cpp b/xs/src/libslic3r/GCodeWriter.cpp index cacedd427..801e0ebd4 100644 --- a/xs/src/libslic3r/GCodeWriter.cpp +++ b/xs/src/libslic3r/GCodeWriter.cpp @@ -66,6 +66,15 @@ GCodeWriter::preamble() return gcode.str(); } +std::string +GCodeWriter::postamble() +{ + std::ostringstream gcode; + if (FLAVOR_IS(gcfMachinekit)) + gcode << "M2 ; end of program\n"; + return gcode.str(); +} + std::string GCodeWriter::set_temperature(unsigned int temperature, bool wait, int tool) { @@ -511,15 +520,6 @@ GCodeWriter::get_position() const return this->_pos; } -std::string -GCodeWriter::end_program() -{ - std::ostringstream gcode; - if (FLAVOR_IS(gcfMachinekit)) - gcode << "M2 ; end of program\n"; - return gcode.str(); -} - #ifdef SLIC3RXS REGISTER_CLASS(GCodeWriter, "GCode::Writer"); #endif diff --git a/xs/src/libslic3r/GCodeWriter.hpp b/xs/src/libslic3r/GCodeWriter.hpp index 6854f02e0..dbedc1766 100644 --- a/xs/src/libslic3r/GCodeWriter.hpp +++ b/xs/src/libslic3r/GCodeWriter.hpp @@ -24,6 +24,7 @@ class GCodeWriter { void apply_print_config(const PrintConfig &print_config); void set_extruders(const std::vector<unsigned int> &extruder_ids); std::string preamble(); + std::string postamble(); std::string set_temperature(unsigned int temperature, bool wait = false, int tool = -1); std::string set_bed_temperature(unsigned int temperature, bool wait = false); std::string set_fan(unsigned int speed, bool dont_save = false); @@ -46,7 +47,6 @@ class GCodeWriter { std::string lift(); std::string unlift(); Pointf3 get_position() const; - std::string end_program(); private: std::string _extrusion_axis; diff --git a/xs/xsp/GCodeWriter.xsp b/xs/xsp/GCodeWriter.xsp index d2f1e00d4..18ae7b0e2 100644 --- a/xs/xsp/GCodeWriter.xsp +++ b/xs/xsp/GCodeWriter.xsp @@ -19,6 +19,7 @@ %code{% THIS->apply_print_config(*print_config); %}; void set_extruders(std::vector<unsigned int> extruder_ids); std::string preamble(); + std::string postamble(); std::string set_temperature(unsigned int temperature, bool wait = false, int tool = -1); std::string set_bed_temperature(unsigned int temperature, bool wait = false); std::string set_fan(unsigned int speed, bool dont_save = false); @@ -45,7 +46,6 @@ std::string lift(); std::string unlift(); Clone<Pointf3> get_position() const; - std::string end_program(); %{ SV*