Skip to content

Commit

Permalink
Avoid collisions when moving to scarf joint start
Browse files Browse the repository at this point in the history
  • Loading branch information
fritzw authored Oct 23, 2024
1 parent 425d9c9 commit 8e60832
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions src/libslic3r/GCode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4752,8 +4752,13 @@ std::string GCode::extrude_loop(ExtrusionLoop loop, std::string description, dou
ExtrusionLoopSloped new_loop(paths, seam_gap, slope_min_length, slope_max_segment_length, start_slope_ratio, loop.loop_role());
new_loop.clip_slope(seam_gap);

// Then extrude it
for (const auto& p : new_loop.get_all_paths()) {
const auto seam_slope_paths = new_loop.get_all_paths();
const auto & seam_slope_start = seam_slope_paths[0]->first_point();
// Orca: First move to XY position, not Z, to avoid colliding with previous extrusions
gcode += m_writer.extrude_to_xy(this->point_to_gcode(seam_slope_start), 0,"horizontal before down to avoid collision",true);

// Then extrude it
for (const auto& p : seam_slope_paths) {
gcode += this->_extrude(*p, description, speed_for_path(*p));
// Orca: Adaptive PA - dont adapt PA after the first pultipath extrusion is completed
// as we have already set the PA value to the average flow over the totality of the path
Expand Down

0 comments on commit 8e60832

Please sign in to comment.