FIX: the wipe tower is not correct for tpu
jira: none Change-Id: I79ed204638602013d73525e23a2b74af2c0efff2
This commit is contained in:
parent
43773d7701
commit
78eea0a36f
|
@ -876,6 +876,9 @@ WipeTower::ToolChangeResult WipeTower::tool_change(size_t tool, bool extrude_per
|
||||||
case 3: pos = wt_box.lu; break;
|
case 3: pos = wt_box.lu; break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
writer.travel(Vec2f(0, pos.y()));
|
||||||
|
writer.travel(pos);
|
||||||
writer.set_initial_position(pos, m_wipe_tower_width, m_wipe_tower_depth, m_internal_rotation);
|
writer.set_initial_position(pos, m_wipe_tower_width, m_wipe_tower_depth, m_internal_rotation);
|
||||||
|
|
||||||
// align the perimeter
|
// align the perimeter
|
||||||
|
@ -902,10 +905,7 @@ WipeTower::ToolChangeResult WipeTower::tool_change(size_t tool, bool extrude_per
|
||||||
writer.rectangle(wt_box);
|
writer.rectangle(wt_box);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
writer.travel(Vec2f(0, 0));
|
|
||||||
writer.travel(initial_position);
|
writer.travel(initial_position);
|
||||||
}
|
|
||||||
|
|
||||||
toolchange_Wipe(writer, cleaning_box, wipe_length); // Wipe the newly loaded filament until the end of the assigned wipe area.
|
toolchange_Wipe(writer, cleaning_box, wipe_length); // Wipe the newly loaded filament until the end of the assigned wipe area.
|
||||||
|
|
||||||
|
@ -957,7 +957,7 @@ WipeTower::NozzleChangeResult WipeTower::nozzle_change(int old_filament_id, int
|
||||||
wipe_depth = b.required_depth;
|
wipe_depth = b.required_depth;
|
||||||
purge_volume = b.purge_volume;
|
purge_volume = b.purge_volume;
|
||||||
if (has_tpu_filament())
|
if (has_tpu_filament())
|
||||||
nozzle_change_line_count = ((b.nozzle_change_depth + WT_EPSILON) / m_perimeter_width + 1) / 2;
|
nozzle_change_line_count = ((b.nozzle_change_depth + WT_EPSILON) / m_perimeter_width) / 2;
|
||||||
else
|
else
|
||||||
nozzle_change_line_count = (b.nozzle_change_depth + WT_EPSILON) / m_perimeter_width;
|
nozzle_change_line_count = (b.nozzle_change_depth + WT_EPSILON) / m_perimeter_width;
|
||||||
break;
|
break;
|
||||||
|
@ -1641,7 +1641,7 @@ void WipeTower::plan_toolchange(float z_par, float layer_height_par, unsigned in
|
||||||
double length = m_nozzle_change_length / e_flow;
|
double length = m_nozzle_change_length / e_flow;
|
||||||
int nozzle_change_line_count = length / (m_wipe_tower_width - m_perimeter_width) + 1;
|
int nozzle_change_line_count = length / (m_wipe_tower_width - m_perimeter_width) + 1;
|
||||||
if (has_tpu_filament())
|
if (has_tpu_filament())
|
||||||
nozzle_change_depth = (2 * nozzle_change_line_count - 1) * m_perimeter_width;
|
nozzle_change_depth = (2 * nozzle_change_line_count) * m_perimeter_width;
|
||||||
else
|
else
|
||||||
nozzle_change_depth = nozzle_change_line_count * m_perimeter_width;
|
nozzle_change_depth = nozzle_change_line_count * m_perimeter_width;
|
||||||
depth += nozzle_change_depth;
|
depth += nozzle_change_depth;
|
||||||
|
|
Loading…
Reference in New Issue