ENH: refine the logic of filament map dialog

1. Always change the map and mode in plate if plate mode is not default
2. Always add pop up before slice
3. Fix the mapping issue in gcode viewer

jira: studio-9523,studio-9519,studio-9513,studio-9479

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I0d7d5daf081951ea2d49e06565762ac24064e77c
(cherry picked from commit afaa48520e16b6808f05e511ac1cfe91acadc84b)
This commit is contained in:
xun.zhang
2025-01-08 21:14:10 +08:00
committed by Noisyfox
parent 522a8b63d1
commit 897a78ce9a
12 changed files with 262 additions and 160 deletions

View File

@@ -199,6 +199,8 @@ private:
void register_raycasters_for_picking(GLCanvas3D& canvas);
int picking_id_component(int idx) const;
void on_filament_map_mode_change();
public:
static const unsigned int PLATE_NAME_HOVER_ID = 6;
static const unsigned int PLATE_FILAMENT_MAP_ID = 8;
@@ -322,10 +324,11 @@ public:
Vec3d estimate_wipe_tower_size(const DynamicPrintConfig & config, const double w, const double d, int plate_extruder_size = 0, bool use_global_objects = false) const;
arrangement::ArrangePolygon estimate_wipe_tower_polygon(const DynamicPrintConfig & config, int plate_index, int plate_extruder_size = 0, bool use_global_objects = false) const;
bool check_objects_empty_and_gcode3mf(std::vector<int> &result) const;
// get used filaments from config, 1 based idx
std::vector<int> get_extruders(bool conside_custom_gcode = false) const;
std::vector<int> get_extruders_under_cli(bool conside_custom_gcode, DynamicPrintConfig& full_config) const;
std::vector<int> get_extruders_without_support(bool conside_custom_gcode = false) const;
// get used filaments, 1 based idx
// get used filaments from gcode result, 1 based idx
std::vector<int> get_used_filaments();
int get_physical_extruder_by_filament_id(const DynamicConfig& g_config, int idx) const;
bool check_tpu_printable_status(const DynamicPrintConfig & config, const std::vector<int> &tpu_filaments);