From 63daf0c087f12a7dc4ec6e478195b6b1f8344170 Mon Sep 17 00:00:00 2001 From: sunsets <845944018@qq.com> Date: Fri, 22 Mar 2024 13:52:42 +0800 Subject: [PATCH] Fixed a bug where calibration part of the parameters were read incorrectly --- src/libslic3r/PrintConfig.cpp | 6 ------ src/slic3r/GUI/Plater.cpp | 35 ++++++++++++++++++++++++++--------- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 4f1473c..1b9c037 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3652,8 +3652,6 @@ void PrintConfigDef::init_fff_params() "deretract_speed", "retract_restart_extra", "retract_before_travel", "retract_length_toolchange", "retract_restart_extra_toolchange", //w15 "wipe_distance", - //B34 - "filament_diameter", "extrusion_multiplier", // bools "retract_layer_change", "wipe", "travel_lift_before_obstacle", "travel_ramping_lift", @@ -3704,8 +3702,6 @@ void PrintConfigDef::init_extruder_option_keys() "retract_before_wipe", "retract_restart_extra", "retract_before_travel", "wipe", "travel_slope", "travel_max_lift", "travel_ramping_lift", "travel_lift_before_obstacle", "retract_layer_change", "retract_length_toolchange", "retract_restart_extra_toolchange", "extruder_colour", - //B34 - "filament_diameter", "extrusion_multiplier", "default_filament_profile", //w15 @@ -3718,8 +3714,6 @@ void PrintConfigDef::init_extruder_option_keys() "retract_before_wipe", "retract_layer_change", "retract_length", - //B34 - // "filament_diameter", "extrusion_multiplier", "retract_length_toolchange", "retract_lift", diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 37ce8e9..8800990 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -5585,13 +5585,20 @@ void Plater::calib_pa_line(const double StartPA, double EndPA, double PAStep) print_config->get_abs_value("extrusion_width", pa_layer_height) : print_config->get_abs_value("external_perimeter_extrusion_width", pa_layer_height); double pa_travel_speed = print_config->get_abs_value("first_layer_travel_speed") * 60; - double retract_length = double(printer_config->opt_float("retract_length", 0)); - double retract_speed = double(printer_config->opt_float("retract_speed", 0)) * 60; + //B58 + double retract_length = (filament_config->option("filament_retract_length")->is_nil()) ? + double(printer_config->opt_float("retract_length", 0)) : + double(filament_config->opt_float("filament_retract_length", 0)); + double retract_speed = (filament_config->option("filament_retract_speed")->is_nil()) ? + double(printer_config->opt_float("retract_speed", 0)) * 60 : + double(filament_config->opt_float("filament_retract_speed", 0)) * 60; - double filament_diameter = double(printer_config->opt_float("filament_diameter", 0)); + //B58 + double filament_diameter = double(filament_config->opt_float("filament_diameter", 0)); const Flow line_flow = Flow(pa_line_width, pa_layer_height, nozzle_diameter); const double filament_area = M_PI * std::pow(filament_diameter / 2, 2); - const double print_flow_ratio = double(printer_config->opt_float("extrusion_multiplier", 0)); + //B58 + const double print_flow_ratio = double(filament_config->opt_float("extrusion_multiplier", 0)); const double e_per_mm = line_flow.mm3_per_mm() / filament_area * print_flow_ratio; @@ -5672,6 +5679,7 @@ void Plater::calib_pa_pattern(const double StartPA, double EndPA, double PAStep) DynamicPrintConfig new_config; DynamicPrintConfig *printer_config = &wxGetApp().preset_bundle->printers.get_edited_preset().config; DynamicPrintConfig *print_config = &wxGetApp().preset_bundle->prints.get_edited_preset().config; + DynamicPrintConfig *filament_config = &wxGetApp().preset_bundle->filaments.get_edited_preset().config; double pa_travel_speed = print_config->get_abs_value("travel_speed") * 60; @@ -5682,10 +5690,12 @@ void Plater::calib_pa_pattern(const double StartPA, double EndPA, double PAStep) nozzle_diameter * 1.125 : print_config->get_abs_value("extrusion_width", pa_layer_height) : print_config->get_abs_value("external_perimeter_extrusion_width", pa_layer_height); - double filament_diameter = double(printer_config->opt_float("filament_diameter", 0)); + //B58 + double filament_diameter = double(filament_config->opt_float("filament_diameter", 0)); const Flow line_flow = Flow(pa_line_width, pa_layer_height, nozzle_diameter); const double filament_area = M_PI * std::pow(filament_diameter / 2, 2); - const double print_flow_ratio = double(printer_config->opt_float("extrusion_multiplier", 0)); + //B58 + const double print_flow_ratio = double(filament_config->opt_float("extrusion_multiplier", 0)); const double e_per_mm = line_flow.mm3_per_mm() / filament_area * print_flow_ratio; const double external_perimeter_acceleration = print_config->get_abs_value("external_perimeter_acceleration"); @@ -5705,9 +5715,16 @@ void Plater::calib_pa_pattern(const double StartPA, double EndPA, double PAStep) const double speed_fast = print_config->get_abs_value("external_perimeter_speed") * 60; const double speed_first_layer = print_config->get_abs_value("first_layer_speed", speed_perimeter) * 60; - double retract_lift = double(printer_config->opt_float("retract_lift", 0)); - double retract_length = double(printer_config->opt_float("retract_length", 0)); - double retract_speed = double(printer_config->opt_float("retract_speed", 0)) * 60; + //B58 + double retract_length = (filament_config->option("filament_retract_length")->is_nil()) ? + double(printer_config->opt_float("retract_length", 0)) : + double(filament_config->opt_float("filament_retract_length", 0)); + double retract_speed = (filament_config->option("filament_retract_speed")->is_nil()) ? + double(printer_config->opt_float("retract_speed", 0)) * 60 : + double(filament_config->opt_float("filament_retract_speed", 0)) * 60; + double retract_lift = (filament_config->option("filament_retract_lift")->is_nil()) ? + double(printer_config->opt_float("retract_lift", 0)) : + double(filament_config->opt_float("filament_retract_lift", 0)); // Position aided model select_all();