Tech ENABLE_SEAMS_VISUALIZATION -> Added threshold to place seams
This commit is contained in:
parent
15f376e468
commit
7ae77c06d0
1 changed files with 6 additions and 4 deletions
|
@ -2375,10 +2375,12 @@ void GCodeProcessor::process_G1(const GCodeReader::GCodeLine& line)
|
|||
const Vec3f curr_pos(m_end_position[X], m_end_position[Y], m_end_position[Z]);
|
||||
const Vec3f new_pos = m_result.moves.back().position - m_extruder_offsets[m_extruder_id];
|
||||
const std::optional<Vec3f> first_vertex = m_seams_detector.get_first_vertex();
|
||||
const Vec3f mid_pos = 0.5f * (new_pos + *first_vertex);
|
||||
set_end_position(mid_pos);
|
||||
store_move_vertex(EMoveType::Seam);
|
||||
set_end_position(curr_pos);
|
||||
// the threshold value = 0.25 is arbitrary, we may find some smarter condition later
|
||||
if ((new_pos - *first_vertex).norm() < 0.25f) {
|
||||
set_end_position(0.5f * (new_pos + *first_vertex));
|
||||
store_move_vertex(EMoveType::Seam);
|
||||
set_end_position(curr_pos);
|
||||
}
|
||||
|
||||
m_seams_detector.activate(false);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue