Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsupermerill <merill@free.fr>2022-09-07 23:40:35 +0300
committersupermerill <merill@free.fr>2022-09-16 17:27:14 +0300
commitfe6d2ba62464896102c6a7af9622229ff35b9ee1 (patch)
treee0ad204a3ca569a5a0c28408c63bacbea6011eef
parent0ff485cc027f13c3bb045113ce45c4b1ce9c5c5d (diff)
fix missing retraction when the lift is merged in start_gcode_manual & no layer_gcode
supermerill/SuperSlicer#2916
-rw-r--r--src/libslic3r/GCode.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp
index 94d8acee7..e2d838865 100644
--- a/src/libslic3r/GCode.cpp
+++ b/src/libslic3r/GCode.cpp
@@ -2736,7 +2736,7 @@ GCode::LayerResult GCode::process_layer(
print.config().before_layer_gcode.value, m_writer.tool()->id(), &config)
+ "\n";
}
- // print z move to next layer UNLESS
+ // print z move to next layer UNLESS (HACK for superslicer#1775)
// if it's going to the first layer, then we may want to delay the move in these condition:
// there is no "after layer change gcode" and it's the first move from the unknown
if (print.config().layer_gcode.value.empty() && !m_last_pos_defined && m_config.start_gcode_manual && (
@@ -2745,6 +2745,9 @@ GCode::LayerResult GCode::process_layer(
|| // or lift_min is higher than the first layer height.
m_config.lift_min.value > layer.print_z
)) {
+ // still do the retraction
+ gcode += m_writer.retract();
+ gcode += m_writer.reset_e();
m_delayed_layer_change = this->change_layer(print_z); //HACK for superslicer#1775
} else {
//extra lift on layer change if multiple objects