ENH:ramming depth can set 0

jira: none
Change-Id: I6498e9a53b4850bed280f0f7bad821906b32464c
This commit is contained in:
jiangkai.zhao 2025-03-21 17:20:56 +08:00 committed by lane.wei
parent 2290e89abc
commit d45061b607
1 changed files with 3 additions and 2 deletions

View File

@ -2535,7 +2535,7 @@ void WipeTower::plan_toolchange(float z_par, float layer_height_par, unsigned in
if (!m_filament_map.empty() && m_filament_map[old_tool] != m_filament_map[new_tool]) {
double e_flow = nozzle_change_extrusion_flow(layer_height_par);
double length = m_filaments_change_length[old_tool] / e_flow;
int nozzle_change_line_count = length / (m_wipe_tower_width - 2*m_nozzle_change_perimeter_width) + 1;
int nozzle_change_line_count = std::ceil(length / (m_wipe_tower_width - 2*m_nozzle_change_perimeter_width));
if (m_need_reverse_travel)
nozzle_change_depth = m_tpu_fixed_spacing * nozzle_change_line_count * m_nozzle_change_perimeter_width;
else
@ -2925,6 +2925,7 @@ WipeTower::NozzleChangeResult WipeTower::nozzle_change_new(int old_filament_id,
break;
}
}
if (nozzle_change_line_count <= 0) return m_nozzle_change_result;
auto format_nozzle_change_line = [](bool start, int old_filament_id, int new_filament_id) -> std::string {
char buff[64];
std::string tag = start ? GCodeProcessor::reserved_tag(GCodeProcessor::ETags::NozzleChangeStart) : GCodeProcessor::reserved_tag(GCodeProcessor::ETags::NozzleChangeEnd);
@ -3752,7 +3753,7 @@ void WipeTower::plan_tower_new()
if (!m_filament_map.empty() && m_filament_map[toolchange.old_tool] != m_filament_map[toolchange.new_tool]) {
double e_flow = nozzle_change_extrusion_flow(m_plan[idx].height);
double length = m_filaments_change_length[toolchange.old_tool] / e_flow;
int nozzle_change_line_count = length / (m_wipe_tower_width - 2*m_nozzle_change_perimeter_width) + 1;
int nozzle_change_line_count = std::ceil(length / (m_wipe_tower_width - 2*m_nozzle_change_perimeter_width));
if (m_need_reverse_travel)
nozzle_change_depth = m_tpu_fixed_spacing * nozzle_change_line_count * m_nozzle_change_perimeter_width;
else