FIX: error toppest layer height on scarf seam

Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: Iac47613c8e161059c420f04f2c34febfb630cd45
This commit is contained in:
qing.zhang 2024-06-19 14:23:01 +08:00 committed by Lane.Wei
parent edf8a4bdc0
commit 773e79d9f4
1 changed files with 11 additions and 0 deletions

View File

@ -3677,6 +3677,17 @@ void GCodeProcessor::process_G2_G3(const GCodeReader::GCodeLine& line)
m_seams_detector.activate(true);
m_seams_detector.set_first_vertex(m_result.moves.back().position - m_extruder_offsets[m_extruder_id] - plate_offset);
}
//BBS: some layer may only has G3/G3, update right layer height
if (m_detect_layer_based_on_tag && !m_result.spiral_vase_layers.empty()) {
if (delta_pos[Z] >= 0.0 && type == EMoveType::Extrude && m_result.spiral_vase_layers.back().first == FLT_MAX) {
// replace layer height placeholder with correct value
m_result.spiral_vase_layers.back().first = static_cast<float>(m_end_position[Z]);
}
if (!m_result.moves.empty())
m_result.spiral_vase_layers.back().second.second = m_result.moves.size() - 1 - m_seams_count;
}
//BBS: store move
store_move_vertex(type, m_move_path_type);
}