ENH: move extra params
Jira: none Signed-off-by: qing.zhang <qing.zhang@bambulab.com> Change-Id: Ib5c4d203c6585b9946d8703d9f33477780afb275
This commit is contained in:
parent
868b056f1a
commit
78079dacd1
|
@ -1326,10 +1326,8 @@ WipeTower::WipeTower(const PrintConfig& config, int plate_idx, Vec3d plate_origi
|
||||||
//wipe_volumes(flush_matrix)
|
//wipe_volumes(flush_matrix)
|
||||||
m_wipe_volume(prime_volume),
|
m_wipe_volume(prime_volume),
|
||||||
m_enable_timelapse_print(config.timelapse_type.value == TimelapseType::tlSmooth),
|
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_filaments_change_length(config.filament_change_length.values),
|
||||||
m_is_multi_extruder(config.nozzle_diameter.size() > 1),
|
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_gap_wall(config.prime_tower_skip_points.value),
|
||||||
m_use_rib_wall(config.prime_tower_rib_wall.value),
|
m_use_rib_wall(config.prime_tower_rib_wall.value),
|
||||||
m_extra_rib_length(config.prime_tower_extra_rib_length.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);
|
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);
|
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,
|
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);
|
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.
|
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");
|
writer.append(";" + GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Wipe_Tower_End) + "\n");
|
||||||
++ m_num_tool_changes;
|
++ m_num_tool_changes;
|
||||||
} else
|
} else
|
||||||
|
@ -2337,7 +2327,7 @@ void WipeTower::plan_toolchange(float z_par, float layer_height_par, unsigned in
|
||||||
float nozzle_change_depth = 0;
|
float nozzle_change_depth = 0;
|
||||||
if (!m_filament_map.empty() && m_filament_map[old_tool] != m_filament_map[new_tool]) {
|
if (!m_filament_map.empty() && m_filament_map[old_tool] != m_filament_map[new_tool]) {
|
||||||
double e_flow = extrusion_flow(0.2);
|
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;
|
int nozzle_change_line_count = length / (m_wipe_tower_width - 2*m_perimeter_width) + 1;
|
||||||
if (has_tpu_filament())
|
if (has_tpu_filament())
|
||||||
nozzle_change_depth = m_tpu_fixed_spacing * nozzle_change_line_count * m_perimeter_width;
|
nozzle_change_depth = m_tpu_fixed_spacing * nozzle_change_line_count * m_perimeter_width;
|
||||||
|
|
|
@ -394,14 +394,12 @@ private:
|
||||||
float m_first_layer_speed = 0.f;
|
float m_first_layer_speed = 0.f;
|
||||||
size_t m_first_layer_idx = size_t(-1);
|
size_t m_first_layer_idx = size_t(-1);
|
||||||
|
|
||||||
double m_nozzle_change_length = 0;
|
|
||||||
std::vector<double> m_filaments_change_length;
|
std::vector<double> m_filaments_change_length;
|
||||||
size_t m_cur_layer_id;
|
size_t m_cur_layer_id;
|
||||||
NozzleChangeResult m_nozzle_change_result;
|
NozzleChangeResult m_nozzle_change_result;
|
||||||
std::vector<int> m_filament_map;
|
std::vector<int> m_filament_map;
|
||||||
bool m_has_tpu_filament{false};
|
bool m_has_tpu_filament{false};
|
||||||
bool m_is_multi_extruder{false};
|
bool m_is_multi_extruder{false};
|
||||||
bool m_is_print_outer_first{false};
|
|
||||||
bool m_use_gap_wall{false};
|
bool m_use_gap_wall{false};
|
||||||
bool m_use_rib_wall{false};
|
bool m_use_rib_wall{false};
|
||||||
float m_rib_length=0.f;
|
float m_rib_length=0.f;
|
||||||
|
|
|
@ -879,7 +879,7 @@ static std::vector<std::string> s_Preset_print_options {
|
||||||
"inner_wall_line_width", "outer_wall_line_width", "sparse_infill_line_width", "internal_solid_infill_line_width",
|
"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",
|
"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",
|
"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",
|
"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",
|
"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",
|
"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<std::string> s_Preset_printer_options {
|
||||||
// BBS
|
// BBS
|
||||||
"scan_first_layer", "machine_load_filament_time", "machine_unload_filament_time", "machine_pause_gcode", "template_custom_gcode",
|
"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",
|
"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",
|
"enable_long_retraction_when_cut","long_retractions_when_cut","retraction_distances_when_cut",
|
||||||
//OrcaSlicer
|
//OrcaSlicer
|
||||||
"host_type", "print_host", "printhost_apikey",
|
"host_type", "print_host", "printhost_apikey",
|
||||||
|
|
|
@ -254,7 +254,6 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
|
||||||
|| opt_key == "enable_prime_tower"
|
|| opt_key == "enable_prime_tower"
|
||||||
|| opt_key == "prime_tower_width"
|
|| opt_key == "prime_tower_width"
|
||||||
|| opt_key == "prime_tower_brim_width"
|
|| opt_key == "prime_tower_brim_width"
|
||||||
|| opt_key == "prime_tower_outer_first"
|
|
||||||
|| opt_key == "prime_tower_skip_points"
|
|| opt_key == "prime_tower_skip_points"
|
||||||
|| opt_key == "prime_tower_rib_wall"
|
|| opt_key == "prime_tower_rib_wall"
|
||||||
|| opt_key == "prime_tower_extra_rib_length"
|
|| opt_key == "prime_tower_extra_rib_length"
|
||||||
|
|
|
@ -3260,14 +3260,6 @@ void PrintConfigDef::init_fff_params()
|
||||||
def->set_default_value(new ConfigOptionStrings { "Direct Drive Standard" });
|
def->set_default_value(new ConfigOptionStrings { "Direct Drive Standard" });
|
||||||
def->cli = ConfigOptionDef::nocli;
|
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 = this->add("extruder_ams_count", coStrings);
|
||||||
def->label = "Extruder ams count";
|
def->label = "Extruder ams count";
|
||||||
def->tooltip = "Ams counts of per extruder";
|
def->tooltip = "Ams counts of per extruder";
|
||||||
|
@ -4362,12 +4354,6 @@ void PrintConfigDef::init_fff_params()
|
||||||
def->min = 0;
|
def->min = 0;
|
||||||
def->set_default_value(new ConfigOptionFloat(4));
|
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 = this->add("prime_tower_skip_points", coBool);
|
||||||
def->label = L("Skip points");
|
def->label = L("Skip points");
|
||||||
def->tooltip = L("The wall of prime tower will skip the start points of wipe path");
|
def->tooltip = L("The wall of prime tower will skip the start points of wipe path");
|
||||||
|
|
|
@ -1100,7 +1100,6 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
|
||||||
((ConfigOptionFloatOrPercent, max_travel_detour_distance))
|
((ConfigOptionFloatOrPercent, max_travel_detour_distance))
|
||||||
((ConfigOptionPoints, printable_area))
|
((ConfigOptionPoints, printable_area))
|
||||||
((ConfigOptionPointsGroups, extruder_printable_area))
|
((ConfigOptionPointsGroups, extruder_printable_area))
|
||||||
((ConfigOptionFloats, extruder_change_length))
|
|
||||||
//BBS: add bed_exclude_area
|
//BBS: add bed_exclude_area
|
||||||
((ConfigOptionPoints, bed_exclude_area))
|
((ConfigOptionPoints, bed_exclude_area))
|
||||||
((ConfigOptionPoints, head_wrap_detect_zone))
|
((ConfigOptionPoints, head_wrap_detect_zone))
|
||||||
|
@ -1200,7 +1199,6 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
|
||||||
((ConfigOptionFloat, prime_tower_brim_width))
|
((ConfigOptionFloat, prime_tower_brim_width))
|
||||||
((ConfigOptionFloat, prime_tower_extra_rib_length))
|
((ConfigOptionFloat, prime_tower_extra_rib_length))
|
||||||
((ConfigOptionFloat, prime_tower_rib_width))
|
((ConfigOptionFloat, prime_tower_rib_width))
|
||||||
((ConfigOptionBool, prime_tower_outer_first))
|
|
||||||
((ConfigOptionBool, prime_tower_skip_points))
|
((ConfigOptionBool, prime_tower_skip_points))
|
||||||
((ConfigOptionBool, prime_tower_rib_wall))
|
((ConfigOptionBool, prime_tower_rib_wall))
|
||||||
((ConfigOptionBool, prime_tower_fillet_wall))
|
((ConfigOptionBool, prime_tower_fillet_wall))
|
||||||
|
|
|
@ -678,7 +678,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, in
|
||||||
toggle_field("standby_temperature_delta", have_ooze_prevention);
|
toggle_field("standby_temperature_delta", have_ooze_prevention);
|
||||||
|
|
||||||
bool have_prime_tower = config->opt_bool("enable_prime_tower");
|
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);
|
toggle_line(el, have_prime_tower);
|
||||||
|
|
||||||
bool have_rib_wall = config->opt_bool("prime_tower_rib_wall")&&have_prime_tower;
|
bool have_rib_wall = config->opt_bool("prime_tower_rib_wall")&&have_prime_tower;
|
||||||
|
|
|
@ -4043,7 +4043,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
|
||||||
"extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod",
|
"extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod",
|
||||||
"nozzle_height", "skirt_loops", "skirt_distance",
|
"nozzle_height", "skirt_loops", "skirt_distance",
|
||||||
"brim_width", "brim_object_gap", "brim_type", "nozzle_diameter", "single_extruder_multi_material",
|
"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",
|
"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",
|
"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.
|
// 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",
|
"brim_width", "wall_loops", "wall_filament", "sparse_infill_density", "sparse_infill_filament", "top_shell_layers",
|
||||||
"enable_support", "support_filament", "support_interface_filament",
|
"enable_support", "support_filament", "support_interface_filament",
|
||||||
"support_top_z_distance", "support_bottom_z_distance", "raft_layers",
|
"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))
|
, sidebar(new Sidebar(q))
|
||||||
, notification_manager(std::make_unique<NotificationManager>(q))
|
, notification_manager(std::make_unique<NotificationManager>(q))
|
||||||
|
|
|
@ -2224,7 +2224,6 @@ void TabPrint::build()
|
||||||
|
|
||||||
optgroup = page->new_optgroup(L("Prime tower"), L"param_tower");
|
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("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_skip_points", "parameter/prime-tower");
|
||||||
optgroup->append_single_option_line("prime_tower_width","parameter/prime-tower");
|
optgroup->append_single_option_line("prime_tower_width","parameter/prime-tower");
|
||||||
optgroup->append_single_option_line("prime_volume","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("nozzle_volume");
|
||||||
optgroup->append_single_option_line("best_object_pos");
|
optgroup->append_single_option_line("best_object_pos");
|
||||||
// todo: for multi_extruder test
|
// todo: for multi_extruder test
|
||||||
optgroup->append_single_option_line("extruder_change_length");
|
|
||||||
// BBS
|
// BBS
|
||||||
#if 0
|
#if 0
|
||||||
//optgroup->append_single_option_line("z_offset");
|
//optgroup->append_single_option_line("z_offset");
|
||||||
|
|
Loading…
Reference in New Issue