ENH: add filament group strategy

1.When capacity is greater than the num of filaments, always choose the
map result that can be accommodated
2.In BestFit strategy,always try to fill up the existing capacity
3.In BestCost strategy, just try the group with fewest flush

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ifd6d64b77774039e57ffff26cf2243a4d3f89054
(cherry picked from commit cddf8cae27f4320f830b463e92703d3a6cf344e7)
This commit is contained in:
xun.zhang
2024-07-12 18:04:01 +08:00
committed by Noisyfox
parent d0a5b280f8
commit 3cb6b7ff38
3 changed files with 82 additions and 48 deletions

View File

@@ -1037,7 +1037,7 @@ std::vector<int> ToolOrdering::get_recommended_filament_maps(const std::vector<s
{ 16,16 }
);
fg.get_custom_seq = get_custom_seq;
fg.calc_filament_group(layer_filaments);
fg.calc_filament_group(layer_filaments,FGStrategy::BestFit);
auto filament_map = fg.get_filament_map();
for (size_t idx = 0; idx < filament_map.size(); ++idx) {