From a6c4e22e15079a466aebaa4a123de6e0d7f0faf9 Mon Sep 17 00:00:00 2001 From: "qing.zhang" Date: Mon, 20 Jan 2025 15:38:03 +0800 Subject: [PATCH] ENH: move extra params Jira: none Signed-off-by: qing.zhang Change-Id: Ib5c4d203c6585b9946d8703d9f33477780afb275 (cherry picked from commit 78079dacd1c4f14c171668d6c7895e72dd96c52a) --- src/libslic3r/GCode/WipeTower.cpp | 14 ++------------ src/libslic3r/GCode/WipeTower.hpp | 2 -- src/libslic3r/Preset.cpp | 4 ++-- src/libslic3r/Print.cpp | 1 - src/libslic3r/PrintConfig.cpp | 14 -------------- src/libslic3r/PrintConfig.hpp | 2 -- src/slic3r/GUI/ConfigManipulation.cpp | 2 +- src/slic3r/GUI/Plater.cpp | 4 ++-- src/slic3r/GUI/Tab.cpp | 2 -- 9 files changed, 7 insertions(+), 38 deletions(-) diff --git a/src/libslic3r/GCode/WipeTower.cpp b/src/libslic3r/GCode/WipeTower.cpp index 0af13d5552..3816e07a15 100644 --- a/src/libslic3r/GCode/WipeTower.cpp +++ b/src/libslic3r/GCode/WipeTower.cpp @@ -1333,10 +1333,8 @@ WipeTower::WipeTower(const PrintConfig& config, int plate_idx, Vec3d plate_origi //wipe_volumes(flush_matrix) m_wipe_volume(prime_volume), m_enable_timelapse_print(config.timelapse_type.value == TimelapseType::tlSmooth), - m_nozzle_change_length(config.extruder_change_length.get_at(0)), m_filaments_change_length(config.filament_change_length.values), m_is_multi_extruder(config.nozzle_diameter.size() > 1), - m_is_print_outer_first(config.prime_tower_outer_first.value), m_use_gap_wall(config.prime_tower_skip_points.value), m_use_rib_wall(config.prime_tower_rib_wall.value), m_extra_rib_length(config.prime_tower_extra_rib_length.value), @@ -1595,7 +1593,7 @@ WipeTower::ToolChangeResult WipeTower::tool_change(size_t tool, bool extrude_per Vec2f initial_position = get_next_pos(cleaning_box, wipe_length); writer.set_initial_position(initial_position, m_wipe_tower_width, m_wipe_tower_depth, m_internal_rotation); - if (extrude_perimeter && m_is_print_outer_first) { + if (extrude_perimeter) { box_coordinates wt_box(Vec2f(0.f, (m_current_shape == SHAPE_REVERSED) ? m_layer_info->toolchanges_depth() - m_layer_info->depth : 0.f), m_wipe_tower_width, m_layer_info->depth + m_perimeter_width); @@ -1626,14 +1624,6 @@ WipeTower::ToolChangeResult WipeTower::tool_change(size_t tool, bool extrude_per toolchange_Wipe(writer, cleaning_box, wipe_length); // Wipe the newly loaded filament until the end of the assigned wipe area. - if (extrude_perimeter && !m_is_print_outer_first) { - box_coordinates wt_box(Vec2f(0.f, (m_current_shape == SHAPE_REVERSED) ? m_layer_info->toolchanges_depth() - m_layer_info->depth : 0.f), m_wipe_tower_width, - m_layer_info->depth + m_perimeter_width); - // align the perimeter - wt_box = align_perimeter(wt_box); - writer.rectangle(wt_box, feedrate); - } - writer.append(";" + GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Wipe_Tower_End) + "\n"); ++ m_num_tool_changes; } else @@ -2337,7 +2327,7 @@ void WipeTower::plan_toolchange(float z_par, float layer_height_par, unsigned in float nozzle_change_depth = 0; if (!m_filament_map.empty() && m_filament_map[old_tool] != m_filament_map[new_tool]) { double e_flow = extrusion_flow(0.2); - double length = (m_nozzle_change_length + m_filaments_change_length[old_tool]) / e_flow; + double length = m_filaments_change_length[old_tool] / e_flow; int nozzle_change_line_count = length / (m_wipe_tower_width - 2*m_perimeter_width) + 1; if (has_tpu_filament()) nozzle_change_depth = m_tpu_fixed_spacing * nozzle_change_line_count * m_perimeter_width; diff --git a/src/libslic3r/GCode/WipeTower.hpp b/src/libslic3r/GCode/WipeTower.hpp index 868cbdbf67..a6dd1dc67e 100644 --- a/src/libslic3r/GCode/WipeTower.hpp +++ b/src/libslic3r/GCode/WipeTower.hpp @@ -398,14 +398,12 @@ private: float m_first_layer_speed = 0.f; size_t m_first_layer_idx = size_t(-1); - double m_nozzle_change_length = 0; std::vector m_filaments_change_length; size_t m_cur_layer_id; NozzleChangeResult m_nozzle_change_result; std::vector m_filament_map; bool m_has_tpu_filament{false}; bool m_is_multi_extruder{false}; - bool m_is_print_outer_first{false}; bool m_use_gap_wall{false}; bool m_use_rib_wall{false}; float m_rib_length=0.f; diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 439762c5a5..5f1a3313ab 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -815,7 +815,7 @@ static std::vector s_Preset_print_options { "skin_infill_line_width","skeleton_infill_line_width", "top_surface_line_width", "support_line_width", "infill_wall_overlap","top_bottom_infill_wall_overlap", "bridge_flow", "internal_bridge_flow", "elefant_foot_compensation", "elefant_foot_compensation_layers", "xy_contour_compensation", "xy_hole_compensation", "resolution", "enable_prime_tower", - "prime_tower_width", "prime_tower_brim_width", "prime_tower_outer_first", "prime_tower_skip_points", "prime_volume", + "prime_tower_width", "prime_tower_brim_width", "prime_tower_skip_points", "prime_volume", "prime_tower_rib_wall","prime_tower_extra_rib_length","prime_tower_rib_width","prime_tower_fillet_wall", "wipe_tower_no_sparse_layers", "compatible_printers", "compatible_printers_condition", "inherits", "flush_into_infill", "flush_into_objects", "flush_into_support", @@ -905,7 +905,7 @@ static std::vector s_Preset_printer_options { "silent_mode", "scan_first_layer", "machine_load_filament_time", "machine_unload_filament_time", "machine_tool_change_time", "time_cost", "machine_pause_gcode", "template_custom_gcode", "nozzle_type", "nozzle_hrc","auxiliary_fan", "nozzle_volume","upward_compatible_machine", "z_hop_types", "travel_slope", "retract_lift_enforce","support_chamber_temp_control","support_air_filtration","printer_structure", - "best_object_pos","extruder_change_length","head_wrap_detect_zone", + "best_object_pos", "head_wrap_detect_zone", "host_type", "print_host", "printhost_apikey", "bbl_use_printhost", "print_host_webui", "printhost_cafile","printhost_port","printhost_authorization_type", diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index b8fe330415..f1a313a3a8 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -297,7 +297,6 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n || opt_key == "enable_prime_tower" || opt_key == "prime_tower_width" || opt_key == "prime_tower_brim_width" - || opt_key == "prime_tower_outer_first" || opt_key == "prime_tower_skip_points" || opt_key == "prime_tower_rib_wall" || opt_key == "prime_tower_extra_rib_length" diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 94761d009b..0b635d1ad4 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -4534,14 +4534,6 @@ void PrintConfigDef::init_fff_params() def->set_default_value(new ConfigOptionStrings { "Direct Drive Standard" }); def->cli = ConfigOptionDef::nocli; - def = this->add("extruder_change_length", coFloats); - def->label = L("Extruder change length"); - def->tooltip = L("Extruder change length"); - def->sidetext = L("mm"); - def->min = 0; - def->mode = comAdvanced; - def->set_default_value(new ConfigOptionFloats{0}); - def = this->add("extruder_ams_count", coStrings); def->label = "Extruder ams count"; def->tooltip = "Ams counts of per extruder"; @@ -6048,12 +6040,6 @@ void PrintConfigDef::init_fff_params() def->min = 0; def->set_default_value(new ConfigOptionFloat(4)); - def = this->add("prime_tower_outer_first", coBool); - def->label = L("Outer first"); - def->tooltip = L("The prime tower print outer first"); - def->mode = comAdvanced; - def->set_default_value(new ConfigOptionBool(false)); - def = this->add("prime_tower_skip_points", coBool); def->label = L("Skip points"); def->tooltip = L("The wall of prime tower will skip the start points of wipe path"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 88e48fc418..8397f1ca91 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -1349,7 +1349,6 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE( ((ConfigOptionFloatOrPercent, max_travel_detour_distance)) ((ConfigOptionPoints, printable_area)) ((ConfigOptionPointsGroups, extruder_printable_area)) - ((ConfigOptionFloats, extruder_change_length)) //BBS: add bed_exclude_area ((ConfigOptionPoints, bed_exclude_area)) ((ConfigOptionPoints, head_wrap_detect_zone)) @@ -1451,7 +1450,6 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE( ((ConfigOptionFloat, prime_tower_brim_width)) ((ConfigOptionFloat, prime_tower_extra_rib_length)) ((ConfigOptionFloat, prime_tower_rib_width)) - ((ConfigOptionBool, prime_tower_outer_first)) ((ConfigOptionBool, prime_tower_skip_points)) ((ConfigOptionBool, prime_tower_rib_wall)) ((ConfigOptionBool, prime_tower_fillet_wall)) diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 6e660fe6a5..d46967960c 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -758,7 +758,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co toggle_line("preheat_steps", have_ooze_prevention && (preheat_steps > 0)); bool have_prime_tower = config->opt_bool("enable_prime_tower"); - for (auto el : {"prime_tower_width", "prime_tower_brim_width", "prime_tower_outer_first", "prime_tower_skip_points", "prime_tower_rib_wall"}) + for (auto el : {"prime_tower_width", "prime_tower_brim_width", "prime_tower_skip_points", "prime_tower_rib_wall"}) toggle_line(el, have_prime_tower); bool have_rib_wall = config->opt_bool("prime_tower_rib_wall")&&have_prime_tower; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 8b987d8913..876d13d2e4 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -3920,7 +3920,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) "extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod", "nozzle_height", "skirt_type", "skirt_loops", "skirt_speed","min_skirt_length", "skirt_distance", "skirt_start_angle", "brim_width", "brim_object_gap", "brim_type", "nozzle_diameter", "single_extruder_multi_material", "preferred_orientation", - "enable_prime_tower", "wipe_tower_x", "wipe_tower_y", "prime_tower_width", "prime_tower_brim_width", "prime_tower_outer_first", "prime_tower_skip_points", "prime_volume", + "enable_prime_tower", "wipe_tower_x", "wipe_tower_y", "prime_tower_width", "prime_tower_brim_width", "prime_tower_skip_points", "prime_volume", "prime_tower_rib_wall","prime_tower_extra_rib_length", "prime_tower_rib_width","prime_tower_fillet_wall", "extruder_colour", "filament_colour", "filament_type", "material_colour", "printable_height", "extruder_printable_height", "printer_model", "printer_technology", // These values are necessary to construct SlicingParameters by the Canvas3D variable layer height editor. @@ -3931,7 +3931,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) "wipe_tower_rotation_angle", "wipe_tower_cone_angle", "wipe_tower_extra_spacing", "wipe_tower_extra_flow", "wipe_tower_max_purge_speed", "wipe_tower_wall_type", "wipe_tower_extra_rib_length","wipe_tower_rib_width","wipe_tower_fillet_wall", "wipe_tower_filament", - "best_object_pos", "extruder_change_length", "master_extruder_id" + "best_object_pos", "master_extruder_id" })) , sidebar(new Sidebar(q)) , notification_manager(std::make_unique(q)) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index c2700837af..bc47e2610d 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2446,7 +2446,6 @@ void TabPrint::build() page = add_options_page(L("Multimaterial"), "custom-gcode_multi_material"); // ORCA: icon only visible on placeholders optgroup = page->new_optgroup(L("Prime tower"), L"param_tower"); optgroup->append_single_option_line("enable_prime_tower", "multimaterial_settings_prime_tower"); - optgroup->append_single_option_line("prime_tower_outer_first", "parameter/prime-tower"); optgroup->append_single_option_line("prime_tower_skip_points", "parameter/prime-tower"); optgroup->append_single_option_line("prime_tower_width", "multimaterial_settings_prime_tower#width"); optgroup->append_single_option_line("prime_volume", "multimaterial_settings_prime_tower"); @@ -4040,7 +4039,6 @@ void TabPrinter::build_fff() optgroup->append_single_option_line("nozzle_volume"); optgroup->append_single_option_line("best_object_pos"); // todo: for multi_extruder test - optgroup->append_single_option_line("extruder_change_length"); optgroup->append_single_option_line("z_offset"); optgroup->append_single_option_line("preferred_orientation");