Feature: Add inward wipe for external perimeters (#15407)

This commit is contained in:
Valerii Bokhan
2026-09-15 20:01:39 -03:00
committed by GitHub
parent a0ada1aa88
commit 3e1daccd7c
19 changed files with 3041 additions and 83 deletions
+3
View File
@@ -1104,6 +1104,9 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, in
auto is_role_based_wipe_speed = config->opt_bool("role_based_wipe_speed");
toggle_field("wipe_speed",!is_role_based_wipe_speed);
const bool have_wipe_inward = config->opt_bool("wipe_inward");
toggle_line("wipe_inward_distance", have_wipe_inward);
for (auto el : {"accel_to_decel_enable", "accel_to_decel_factor"})
toggle_line(el, gcf_is_klipper);
if(gcf_is_klipper)
+2
View File
@@ -15755,6 +15755,7 @@ void Plater::calib_pa(const Calib_Params& params)
auto printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config;
print_config->set_key_value("overhang_reverse", new ConfigOptionBool(false));
print_config->set_key_value("precise_z_height", new ConfigOptionBool(false));
print_config->set_key_value("wipe_inward", new ConfigOptionBool(false));
printer_config->set_key_value("resonance_avoidance", new ConfigOptionBool{false});
switch (params.mode) {
case CalibMode::Calib_PA_Line:
@@ -16440,6 +16441,7 @@ void Plater::calib_retraction(const Calib_Params& params)
auto obj = model().objects[0];
print_config->set_key_value("enable_wrapping_detection", new ConfigOptionBool(false));
print_config->set_key_value("wipe_inward", new ConfigOptionBool(false));
float nozzle_diameter = printer_config->option<ConfigOptionFloats>("nozzle_diameter")->get_at(0);
float layer_height;
+2
View File
@@ -2669,6 +2669,8 @@ void TabPrint::build()
optgroup->append_single_option_line("role_based_wipe_speed","quality_settings_seam#role-based-wipe-speed");
optgroup->append_single_option_line("wipe_speed", "quality_settings_seam#wipe-speed");
optgroup->append_single_option_line("wipe_on_loops","quality_settings_seam#wipe-on-loop-inward-movement");
optgroup->append_single_option_line("wipe_inward", "quality_settings_seam#wipe-inward");
optgroup->append_single_option_line("wipe_inward_distance", "quality_settings_seam#wipe-inward");
optgroup->append_single_option_line("wipe_before_external_loop","quality_settings_seam#wipe-before-external");
+2
View File
@@ -1096,6 +1096,7 @@ bool CalibUtils::calib_generic_PA(const CalibInfo &calib_info, wxString &error_m
calib_pa_pattern(calib_info, model);
DynamicPrintConfig print_config = calib_info.print_prest->config;
print_config.set_key_value("wipe_inward", new ConfigOptionBool(false));
DynamicPrintConfig filament_config = calib_info.filament_prest->config;
DynamicPrintConfig printer_config = calib_info.printer_prest->config;
@@ -1357,6 +1358,7 @@ void CalibUtils::calib_retraction(const CalibInfo &calib_info, wxString &error_m
read_model_from_file(input_file, model);
DynamicPrintConfig print_config = calib_info.print_prest->config;
print_config.set_key_value("wipe_inward", new ConfigOptionBool(false));
DynamicPrintConfig filament_config = calib_info.filament_prest->config;
DynamicPrintConfig printer_config = calib_info.printer_prest->config;