diff --git a/src/libslic3r/GCode/WipeTower.cpp b/src/libslic3r/GCode/WipeTower.cpp index 2fb93c5f4..8563d2571 100644 --- a/src/libslic3r/GCode/WipeTower.cpp +++ b/src/libslic3r/GCode/WipeTower.cpp @@ -1326,10 +1326,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), @@ -1588,7 +1586,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); @@ -1619,14 +1617,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 9d4919a28..2ef39fda7 100644 --- a/src/libslic3r/GCode/WipeTower.hpp +++ b/src/libslic3r/GCode/WipeTower.hpp @@ -394,14 +394,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 42b1cd499..95e6dc934 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -879,7 +879,7 @@ static std::vector s_Preset_print_options { "inner_wall_line_width", "outer_wall_line_width", "sparse_infill_line_width", "internal_solid_infill_line_width", "top_surface_line_width", "support_line_width", "infill_wall_overlap", "bridge_flow", "elefant_foot_compensation", "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", "enable_circle_compensation", "circle_compensation_speed", "circle_compensation_manual_offset", "counter_coef_1", "counter_coef_2", "counter_coef_3", "hole_coef_1", "hole_coef_2", "hole_coef_3", @@ -958,7 +958,7 @@ static std::vector s_Preset_printer_options { // BBS "scan_first_layer", "machine_load_filament_time", "machine_unload_filament_time", "machine_pause_gcode", "template_custom_gcode", "nozzle_type","auxiliary_fan", "nozzle_volume","upward_compatible_machine", "z_hop_types","support_chamber_temp_control","support_air_filtration","printer_structure","thumbnail_size", - "best_object_pos","extruder_change_length","head_wrap_detect_zone","printer_notes", + "best_object_pos", "head_wrap_detect_zone","printer_notes", "enable_long_retraction_when_cut","long_retractions_when_cut","retraction_distances_when_cut", //OrcaSlicer "host_type", "print_host", "printhost_apikey", diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 901a7bd2e..a0e694da3 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -254,7 +254,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 28d93b37d..9b47ff905 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3260,14 +3260,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"; @@ -4362,12 +4354,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 4423f6c23..0b3a27c07 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -1100,7 +1100,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)) @@ -1200,7 +1199,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 555574957..33a1ada60 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -678,7 +678,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, in toggle_field("standby_temperature_delta", have_ooze_prevention); bool have_prime_tower = config->opt_bool("enable_prime_tower"); - for (auto el : {"prime_tower_width", "prime_volume", "prime_tower_brim_width", "prime_tower_outer_first", "prime_tower_skip_points", "prime_tower_rib_wall"}) + for (auto el : {"prime_tower_width", "prime_volume", "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 f3425259b..b6b937c08 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -4043,7 +4043,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) "extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod", "nozzle_height", "skirt_loops", "skirt_distance", "brim_width", "brim_object_gap", "brim_type", "nozzle_diameter", "single_extruder_multi_material", - "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. @@ -4051,7 +4051,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) "brim_width", "wall_loops", "wall_filament", "sparse_infill_density", "sparse_infill_filament", "top_shell_layers", "enable_support", "support_filament", "support_interface_filament", "support_top_z_distance", "support_bottom_z_distance", "raft_layers", - "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 151c2f9fc..4d9670784 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2224,7 +2224,6 @@ void TabPrint::build() optgroup = page->new_optgroup(L("Prime tower"), L"param_tower"); optgroup->append_single_option_line("enable_prime_tower","parameter/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","parameter/prime-tower"); optgroup->append_single_option_line("prime_volume","parameter/prime-tower"); @@ -3599,7 +3598,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"); // BBS #if 0 //optgroup->append_single_option_line("z_offset");