mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-04 22:00:42 +08:00
Wipe tower: cold ramming should use temperature of the old tool, not the new one
This commit is contained in:
parent
4900235332
commit
02982073b6
@ -757,7 +757,7 @@ std::vector<WipeTower::ToolChangeResult> WipeTower::prime(
|
|||||||
toolchange_Wipe(writer, cleaning_box , 20.f);
|
toolchange_Wipe(writer, cleaning_box , 20.f);
|
||||||
box_coordinates box = cleaning_box;
|
box_coordinates box = cleaning_box;
|
||||||
box.translate(0.f, writer.y() - cleaning_box.ld.y() + m_perimeter_width);
|
box.translate(0.f, writer.y() - cleaning_box.ld.y() + m_perimeter_width);
|
||||||
toolchange_Unload(writer, box , m_filpar[m_current_tool].material, m_filpar[tools[idx_tool + 1]].first_layer_temperature);
|
toolchange_Unload(writer, box , m_filpar[m_current_tool].material, m_filpar[m_current_tool].first_layer_temperature, m_filpar[tools[idx_tool + 1]].first_layer_temperature);
|
||||||
cleaning_box.translate(prime_section_width, 0.f);
|
cleaning_box.translate(prime_section_width, 0.f);
|
||||||
writer.travel(cleaning_box.ld, 7200);
|
writer.travel(cleaning_box.ld, 7200);
|
||||||
}
|
}
|
||||||
@ -845,14 +845,15 @@ WipeTower::ToolChangeResult WipeTower::tool_change(size_t tool)
|
|||||||
// Ram the hot material out of the melt zone, retract the filament into the cooling tubes and let it cool.
|
// Ram the hot material out of the melt zone, retract the filament into the cooling tubes and let it cool.
|
||||||
if (tool != (unsigned int)-1){ // This is not the last change.
|
if (tool != (unsigned int)-1){ // This is not the last change.
|
||||||
toolchange_Unload(writer, cleaning_box, m_filpar[m_current_tool].material,
|
toolchange_Unload(writer, cleaning_box, m_filpar[m_current_tool].material,
|
||||||
is_first_layer() ? m_filpar[tool].first_layer_temperature : m_filpar[tool].temperature);
|
(is_first_layer() ? m_filpar[m_current_tool].first_layer_temperature : m_filpar[m_current_tool].temperature),
|
||||||
|
(is_first_layer() ? m_filpar[tool].first_layer_temperature : m_filpar[tool].temperature));
|
||||||
toolchange_Change(writer, tool, m_filpar[tool].material); // Change the tool, set a speed override for soluble and flex materials.
|
toolchange_Change(writer, tool, m_filpar[tool].material); // Change the tool, set a speed override for soluble and flex materials.
|
||||||
toolchange_Load(writer, cleaning_box);
|
toolchange_Load(writer, cleaning_box);
|
||||||
writer.travel(writer.x(), writer.y()-m_perimeter_width); // cooling and loading were done a bit down the road
|
writer.travel(writer.x(), writer.y()-m_perimeter_width); // cooling and loading were done a bit down the road
|
||||||
toolchange_Wipe(writer, cleaning_box, wipe_volume); // Wipe the newly loaded filament until the end of the assigned wipe area.
|
toolchange_Wipe(writer, cleaning_box, wipe_volume); // Wipe the newly loaded filament until the end of the assigned wipe area.
|
||||||
++ m_num_tool_changes;
|
++ m_num_tool_changes;
|
||||||
} else
|
} else
|
||||||
toolchange_Unload(writer, cleaning_box, m_filpar[m_current_tool].material, m_filpar[m_current_tool].temperature);
|
toolchange_Unload(writer, cleaning_box, m_filpar[m_current_tool].material, m_filpar[m_current_tool].temperature, m_filpar[m_current_tool].temperature);
|
||||||
|
|
||||||
m_depth_traversed += wipe_area;
|
m_depth_traversed += wipe_area;
|
||||||
|
|
||||||
@ -879,6 +880,7 @@ void WipeTower::toolchange_Unload(
|
|||||||
WipeTowerWriter &writer,
|
WipeTowerWriter &writer,
|
||||||
const box_coordinates &cleaning_box,
|
const box_coordinates &cleaning_box,
|
||||||
const std::string& current_material,
|
const std::string& current_material,
|
||||||
|
const int old_temperature,
|
||||||
const int new_temperature)
|
const int new_temperature)
|
||||||
{
|
{
|
||||||
float xl = cleaning_box.ld.x() + 1.f * m_perimeter_width;
|
float xl = cleaning_box.ld.x() + 1.f * m_perimeter_width;
|
||||||
@ -905,7 +907,7 @@ void WipeTower::toolchange_Unload(
|
|||||||
if (! m_is_mk4mmu3)
|
if (! m_is_mk4mmu3)
|
||||||
writer.disable_linear_advance();
|
writer.disable_linear_advance();
|
||||||
if (cold_ramming)
|
if (cold_ramming)
|
||||||
writer.set_extruder_temp(new_temperature - 20);
|
writer.set_extruder_temp(old_temperature - 20);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
writer.set_position(ramming_start_pos);
|
writer.set_position(ramming_start_pos);
|
||||||
|
@ -401,6 +401,7 @@ private:
|
|||||||
WipeTowerWriter &writer,
|
WipeTowerWriter &writer,
|
||||||
const box_coordinates &cleaning_box,
|
const box_coordinates &cleaning_box,
|
||||||
const std::string& current_material,
|
const std::string& current_material,
|
||||||
|
const int old_temperature,
|
||||||
const int new_temperature);
|
const int new_temperature);
|
||||||
|
|
||||||
void toolchange_Change(
|
void toolchange_Change(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user