Skip to content

Commit

Permalink
Purge tower last layer collision potential fix (for SEMM)
Browse files Browse the repository at this point in the history
  • Loading branch information
igiannakas committed Sep 27, 2024
1 parent 27cd983 commit 9fc465c
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions src/libslic3r/GCode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -766,11 +766,15 @@ static std::vector<Vec2d> get_path_of_change_filament(const Print& print)
gcodegen.m_wipe.reset_path(); // We don't want wiping on the ramming lines.
toolchange_gcode_str = gcodegen.set_extruder(new_extruder_id, tcr.print_z); // TODO: toolchange_z vs print_z
if (gcodegen.config().enable_prime_tower) {
deretraction_str += gcodegen.writer().travel_to_z(z, "restore layer Z");
Vec3d position{gcodegen.writer().get_position()};
position.z() = z;
gcodegen.writer().set_position(position);
deretraction_str += gcodegen.unretract();
// ORCA: For SEMM, this move causes the nozzle to crash on the wipe tower for the final wipe layer.
// TODO: Requires validation whether this is an issue even with multi extruder printers
if(!this->m_single_extruder_multi_material){
deretraction_str += gcodegen.writer().travel_to_z(z, "restore layer Z");
Vec3d position{gcodegen.writer().get_position()};
position.z() = z;
gcodegen.writer().set_position(position);
}
deretraction_str += gcodegen.unretract();
}
}

Expand Down

0 comments on commit 9fc465c

Please sign in to comment.