FIX: some filament group issues

1. Add filament_is_support field. Format the filament type
2. Optimize machine filament info logic

jira:STUDIO-10326

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: Ia8bfc37095339e73c98209b4e3f1e0804e511e88
(cherry picked from commit 001144400b841629439a890d46fa40a7296689ba)
This commit is contained in:
xun.zhang
2025-02-12 18:28:28 +08:00
committed by Noisyfox
parent 2db3c63b7b
commit 58c877976d
8 changed files with 142 additions and 70 deletions

View File

@@ -29,9 +29,13 @@ namespace Slic3r
struct FilamentInfo {
Color color;
std::string type;
bool is_support;
};
struct MachineFilamentInfo: public FilamentInfo {
int extruder_id;
bool is_extended;
bool operator<(const FilamentInfo& other) const;
bool operator<(const MachineFilamentInfo& other) const;
};
@@ -62,7 +66,7 @@ namespace Slic3r
std::vector<int> calc_max_group_size(const std::vector<std::map<int, int>>& ams_counts,bool ignore_ext_filament);
std::vector<std::vector<FilamentInfo>> build_machine_filaments(const std::vector<std::vector<DynamicPrintConfig>>& filament_configs, const std::vector<std::map<int, int>>& ams_counts, bool ignore_ext_filament);
std::vector<std::vector<MachineFilamentInfo>> build_machine_filaments(const std::vector<std::vector<DynamicPrintConfig>>& filament_configs, const std::vector<std::map<int, int>>& ams_counts, bool ignore_ext_filament);
bool collect_unprintable_limits(const std::vector<std::set<int>>& physical_unprintables, const std::vector<std::set<int>>& geometric_unprintables, std::vector<std::set<int>>& unprintable_limits);