mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-16 10:02:12 +00:00
ENH: seperate statitics for auto for flush mode
1.Compare stats of AutoForFlush with other filament map modes 2.Refine the function signature of filament group jira:NONE Signed-off-by: xun.zhang <xun.zhang@bambulab.com> Change-Id: Iec2aff069d8c44343df8b82f045c61354c7d1c2a (cherry picked from commit 95e49986f32070756182a31843f4f37f863f07ac)
This commit is contained in:
@@ -4452,8 +4452,8 @@ void GCodeViewer::render_legend_color_arr_recommen(float window_padding)
|
||||
auto is_auto = filament_map_mode < FilamentMapMode::fmmManual;
|
||||
bool has_tips = true;
|
||||
if (is_auto) {
|
||||
float saved_flush_weight = stats_by_extruder.stats_by_single_extruder.filament_flush_weight - stats_by_extruder.stats_by_multi_extruder_auto.filament_flush_weight;
|
||||
int saved_filament_changed_time = stats_by_extruder.stats_by_single_extruder.filament_change_count - stats_by_extruder.stats_by_multi_extruder_auto.filament_change_count;
|
||||
float saved_flush_weight = stats_by_extruder.stats_by_single_extruder.filament_flush_weight - stats_by_extruder.stats_by_multi_extruder_curr.filament_flush_weight;
|
||||
int saved_filament_changed_time = stats_by_extruder.stats_by_single_extruder.filament_change_count - stats_by_extruder.stats_by_multi_extruder_curr.filament_change_count;
|
||||
if (!(saved_flush_weight > EPSILON || saved_filament_changed_time > 0)) has_tips = false;
|
||||
}
|
||||
// BBS AMS containers
|
||||
@@ -4528,16 +4528,16 @@ void GCodeViewer::render_legend_color_arr_recommen(float window_padding)
|
||||
}
|
||||
return static_cast<int>(num);
|
||||
};
|
||||
if (filament_map_mode < fmmManual) {
|
||||
float saved_flush_weight = stats_by_extruder.stats_by_single_extruder.filament_flush_weight - stats_by_extruder.stats_by_multi_extruder_auto.filament_flush_weight;
|
||||
int saved_filament_changed_time = stats_by_extruder.stats_by_single_extruder.filament_change_count - stats_by_extruder.stats_by_multi_extruder_auto.filament_change_count;
|
||||
if (filament_map_mode == fmmAutoForFlush) {
|
||||
float saved_flush_weight = stats_by_extruder.stats_by_single_extruder.filament_flush_weight - stats_by_extruder.stats_by_multi_extruder_best.filament_flush_weight;
|
||||
int saved_filament_changed_time = stats_by_extruder.stats_by_single_extruder.filament_change_count - stats_by_extruder.stats_by_multi_extruder_best.filament_change_count;
|
||||
if (saved_flush_weight > EPSILON || saved_filament_changed_time > 0) {
|
||||
imgui.text(_u8L("This arrangement would be optimal."));
|
||||
imgui.text_wrapped(from_u8((boost::format(_u8L("Save %1%g filament and %2% changes than one-extruder printer.")) % number_format(saved_flush_weight) % saved_filament_changed_time).str()), parent_width);
|
||||
}
|
||||
} else if (filament_map_mode == fmmManual) {
|
||||
float more_cost = stats_by_extruder.stats_by_multi_extruder_manual.filament_flush_weight - stats_by_extruder.stats_by_multi_extruder_auto.filament_flush_weight;
|
||||
int more_time = stats_by_extruder.stats_by_multi_extruder_manual.filament_change_count - stats_by_extruder.stats_by_multi_extruder_auto.filament_change_count;
|
||||
} else if (filament_map_mode != fmmAutoForFlush) {
|
||||
float more_cost = stats_by_extruder.stats_by_multi_extruder_curr.filament_flush_weight - stats_by_extruder.stats_by_multi_extruder_best.filament_flush_weight;
|
||||
int more_time = stats_by_extruder.stats_by_multi_extruder_curr.filament_change_count - stats_by_extruder.stats_by_multi_extruder_best.filament_change_count;
|
||||
|
||||
if (more_cost > EPSILON || more_time > 0) {
|
||||
is_optimal_group = false;
|
||||
@@ -4547,8 +4547,8 @@ void GCodeViewer::render_legend_color_arr_recommen(float window_padding)
|
||||
imgui.text_wrapped(from_u8((boost::format(_u8L("Cost %1%g filament and %2% changes more than optimal arrangement.")) % number_format(more_cost) % more_time).str()), parent_width);
|
||||
ImGui::PopStyleColor(1);
|
||||
} else {
|
||||
float saved_flush_weight = stats_by_extruder.stats_by_single_extruder.filament_flush_weight - stats_by_extruder.stats_by_multi_extruder_auto.filament_flush_weight;
|
||||
int saved_filament_changed_time = stats_by_extruder.stats_by_single_extruder.filament_change_count - stats_by_extruder.stats_by_multi_extruder_auto.filament_change_count;
|
||||
float saved_flush_weight = stats_by_extruder.stats_by_single_extruder.filament_flush_weight - stats_by_extruder.stats_by_multi_extruder_best.filament_flush_weight;
|
||||
int saved_filament_changed_time = stats_by_extruder.stats_by_single_extruder.filament_change_count - stats_by_extruder.stats_by_multi_extruder_best.filament_change_count;
|
||||
if (saved_flush_weight > EPSILON || saved_filament_changed_time > 0) {
|
||||
imgui.text(_u8L("This arrangement would be optimal."));
|
||||
imgui.text_wrapped(from_u8((boost::format(_u8L("Save %1%g filament and %2% changes than one-extruder printer.")) % number_format(saved_flush_weight) % saved_filament_changed_time).str()), parent_width);
|
||||
|
||||
Reference in New Issue
Block a user