diff --git a/src/libslic3r/GCode/WipeTower.cpp b/src/libslic3r/GCode/WipeTower.cpp index 245ea9271c..9d85845cc2 100644 --- a/src/libslic3r/GCode/WipeTower.cpp +++ b/src/libslic3r/GCode/WipeTower.cpp @@ -643,8 +643,8 @@ void WipeTower::set_extruder(size_t idx, const PrintConfig& config) m_filpar[idx].cooling_moves = config.filament_cooling_moves.get_at(idx); m_filpar[idx].cooling_initial_speed = float(config.filament_cooling_initial_speed.get_at(idx)); m_filpar[idx].cooling_final_speed = float(config.filament_cooling_final_speed.get_at(idx)); - m_filpar[idx].filament_skinnydip_loading_speed = float(config.filament_skinnydip_loading_speed.get_at(idx)); - m_filpar[idx].filament_skinnydip_distance = float(config.filament_skinnydip_distance.get_at(idx)); + m_filpar[idx].filament_stamping_loading_speed = float(config.filament_stamping_loading_speed.get_at(idx)); + m_filpar[idx].filament_stamping_distance = float(config.filament_stamping_distance.get_at(idx)); } m_filpar[idx].filament_area = float((M_PI/4.f) * pow(config.filament_diameter.get_at(idx), 2)); // all extruders are assumed to have the same filament diameter at this point @@ -1022,28 +1022,28 @@ void WipeTower::toolchange_Unload( .travel(writer.x(), writer.y() + y_step); old_x = writer.x(); turning_point = xr-old_x > old_x-xl ? xr : xl; - float skinnydip_dist_e = m_filpar[m_current_tool].filament_skinnydip_distance + m_cooling_tube_length / 2.f; + float stamping_dist_e = m_filpar[m_current_tool].filament_stamping_distance + m_cooling_tube_length / 2.f; for (int i=0; i0 && m_filpar[m_current_tool].filament_skinnydip_distance != 0) { + // Stamping - happens after every cooling move except for the last one. + if (i>0 && m_filpar[m_current_tool].filament_stamping_distance != 0) { - // Skinnydip turning point shall be no farther than 20mm from the current nozzle position: - float skinnydip_turning_point = std::clamp(old_x + 20.f * (turning_point - old_x > 0.f ? 1.f : -1.f), xl, xr); + // Stamping turning point shall be no farther than 20mm from the current nozzle position: + float stamping_turning_point = std::clamp(old_x + 20.f * (turning_point - old_x > 0.f ? 1.f : -1.f), xl, xr); // Only last 5mm will be done with the fast x travel. The point is to spread possible blobs // along the whole wipe tower. - if (skinnydip_dist_e > 5) { + if (stamping_dist_e > 5) { float cent = writer.x(); - writer.load_move_x_advanced(skinnydip_turning_point, (skinnydip_dist_e - 5), m_filpar[m_current_tool].filament_skinnydip_loading_speed, 200); - writer.load_move_x_advanced(cent, 5, m_filpar[m_current_tool].filament_skinnydip_loading_speed, m_travel_speed); + writer.load_move_x_advanced(stamping_turning_point, (stamping_dist_e - 5), m_filpar[m_current_tool].filament_stamping_loading_speed, 200); + writer.load_move_x_advanced(cent, 5, m_filpar[m_current_tool].filament_stamping_loading_speed, m_travel_speed); writer.travel(cent, writer.y()); } else - writer.load_move_x_advanced_there_and_back(skinnydip_turning_point, skinnydip_dist_e, m_filpar[m_current_tool].filament_skinnydip_loading_speed, m_travel_speed); + writer.load_move_x_advanced_there_and_back(stamping_turning_point, stamping_dist_e, m_filpar[m_current_tool].filament_stamping_loading_speed, m_travel_speed); // Retract while the print head is stationary, so if there is a blob, it is not dragged along. - writer.retract(skinnydip_dist_e, m_filpar[m_current_tool].unloading_speed * 60.f); + writer.retract(stamping_dist_e, m_filpar[m_current_tool].unloading_speed * 60.f); } if (i == number_of_cooling_moves - 1 && change_temp_later) { @@ -1156,7 +1156,6 @@ void WipeTower::toolchange_Wipe( const float& xl = cleaning_box.ld.x(); const float& xr = cleaning_box.rd.x(); - // MATHIEU TEST: writer.set_extrusion_flow(m_extrusion_flow * m_extra_flow); const float line_width = m_perimeter_width * m_extra_flow; writer.change_analyzer_line_width(line_width); diff --git a/src/libslic3r/GCode/WipeTower.hpp b/src/libslic3r/GCode/WipeTower.hpp index c6c4add480..09c5598fbf 100644 --- a/src/libslic3r/GCode/WipeTower.hpp +++ b/src/libslic3r/GCode/WipeTower.hpp @@ -237,8 +237,8 @@ public: float unloading_speed_start = 0.f; float delay = 0.f ; - float filament_skinnydip_loading_speed = 0.f; - float filament_skinnydip_distance = 0.f; + float filament_stamping_loading_speed = 0.f; + float filament_stamping_distance = 0.f; int cooling_moves = 0; float cooling_initial_speed = 0.f; diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index d3edc2bbb9..c62f6d8161 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -478,7 +478,7 @@ static std::vector s_Preset_print_options { static std::vector s_Preset_filament_options { "filament_colour", "filament_diameter", "filament_type", "filament_soluble", "filament_notes", "filament_max_volumetric_speed", "extrusion_multiplier", "filament_density", "filament_cost", "filament_spool_weight", "filament_loading_speed", "filament_loading_speed_start", "filament_load_time", - "filament_unloading_speed", "filament_unloading_speed_start", "filament_unload_time", "filament_toolchange_delay", "filament_cooling_moves", "filament_skinnydip_loading_speed", "filament_skinnydip_distance", + "filament_unloading_speed", "filament_unloading_speed_start", "filament_unload_time", "filament_toolchange_delay", "filament_cooling_moves", "filament_stamping_loading_speed", "filament_stamping_distance", "filament_cooling_initial_speed", "filament_cooling_final_speed", "filament_ramming_parameters", "filament_minimal_purge_on_wipe_tower", "filament_multitool_ramming", "filament_multitool_ramming_volume", "filament_multitool_ramming_flow", "temperature", "idle_temperature", "first_layer_temperature", "bed_temperature", "first_layer_bed_temperature", "fan_always_on", "cooling", "min_fan_speed", diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 3640631dff..0263657885 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -219,8 +219,8 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n || opt_key == "filament_unloading_speed_start" || opt_key == "filament_toolchange_delay" || opt_key == "filament_cooling_moves" - || opt_key == "filament_skinnydip_loading_speed" - || opt_key == "filament_skinnydip_distance" + || opt_key == "filament_stamping_loading_speed" + || opt_key == "filament_stamping_distance" || opt_key == "filament_minimal_purge_on_wipe_tower" || opt_key == "filament_cooling_initial_speed" || opt_key == "filament_cooling_final_speed" diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 4e41745d9b..4af003b9f3 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1093,16 +1093,17 @@ void PrintConfigDef::init_fff_params() def->mode = comExpert; def->set_default_value(new ConfigOptionFloats { 0. }); - def = this->add("filament_skinnydip_loading_speed", coFloats); - def->label = L("ELIAS: Skinnydip loading speed"); - def->tooltip = L(""); + def = this->add("filament_stamping_loading_speed", coFloats); + def->label = L("Stamping loading speed"); + def->tooltip = L("Speed used for stamping."); def->min = 0; def->mode = comExpert; def->set_default_value(new ConfigOptionFloats { 0. }); - def = this->add("filament_skinnydip_distance", coFloats); - def->label = L("ELIAS: Skinnydip distance measured from the center of the cooling tube"); - def->tooltip = L(""); + def = this->add("filament_stamping_distance", coFloats); + def->label = L("Stamping distance measured from the center of the cooling tube"); + def->tooltip = L("If set to nonzero value, filament is moved toward the nozzle between the individual cooling moves (\"stamping\"). " + "This option configures how long this movement should be before the filament is retracted again."); def->min = 0; def->mode = comExpert; def->set_default_value(new ConfigOptionFloats { 0. }); @@ -3357,7 +3358,7 @@ void PrintConfigDef::init_fff_params() def->set_default_value(new ConfigOptionPercent(100.)); def = this->add("wipe_tower_extra_flow", coPercent); - def->label = L("MATHIEU TEST: extra flow"); + def->label = L("Extra flow for purging"); def->tooltip = L(""); def->sidetext = L("%"); def->mode = comExpert; diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 8919b2a5a3..6e4793bf7d 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -731,8 +731,8 @@ PRINT_CONFIG_CLASS_DEFINE( ((ConfigOptionBools, filament_multitool_ramming)) ((ConfigOptionFloats, filament_multitool_ramming_volume)) ((ConfigOptionFloats, filament_multitool_ramming_flow)) - ((ConfigOptionFloats, filament_skinnydip_loading_speed)) - ((ConfigOptionFloats, filament_skinnydip_distance)) + ((ConfigOptionFloats, filament_stamping_loading_speed)) + ((ConfigOptionFloats, filament_stamping_distance)) ((ConfigOptionBool, gcode_comments)) ((ConfigOptionEnum, gcode_flavor)) ((ConfigOptionEnum, gcode_label_objects)) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 45c0d5a6be..a80df44e5f 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2271,8 +2271,8 @@ void TabFilament::build() optgroup->append_single_option_line("filament_cooling_moves"); optgroup->append_single_option_line("filament_cooling_initial_speed"); optgroup->append_single_option_line("filament_cooling_final_speed"); - optgroup->append_single_option_line("filament_skinnydip_loading_speed"); - optgroup->append_single_option_line("filament_skinnydip_distance"); + optgroup->append_single_option_line("filament_stamping_loading_speed"); + optgroup->append_single_option_line("filament_stamping_distance"); create_line_with_widget(optgroup.get(), "filament_ramming_parameters", "", [this](wxWindow* parent) { auto ramming_dialog_btn = new wxButton(parent, wxID_ANY, _(L("Ramming settings"))+dots, wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT);