From bba3c30517801299ea8272e7ad85e377cea4208a Mon Sep 17 00:00:00 2001 From: "lane.wei" Date: Fri, 9 Aug 2024 10:52:53 +0800 Subject: [PATCH] FIX: CLI: fix the obj color not correct issue wrong first_filament_id used Change-Id: I371e7c6bcbf174ffda8966b05c7f4abe74a7771f (cherry picked from commit 07757be0c70112e86550f5cdae3393313e7d3582) --- src/BambuStudio.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/BambuStudio.cpp b/src/BambuStudio.cpp index d60629894..5d0387b9e 100644 --- a/src/BambuStudio.cpp +++ b/src/BambuStudio.cpp @@ -779,7 +779,7 @@ void merge_or_add_object(assemble_plate_info_t& assemble_plate_info, Model &mode } } -bool convert_obj_cluster_colors(std::vector& input_colors, std::vector& all_colours, int max_filament_count, std::vector& output_filament_ids) +bool convert_obj_cluster_colors(std::vector& input_colors, std::vector& all_colours, int max_filament_count, std::vector& output_filament_ids, unsigned char & first_filament_id) { using namespace Slic3r::GUI; @@ -826,6 +826,7 @@ bool convert_obj_cluster_colors(std::vector& input_colors, std::ve int label = cluster_labels[i]; output_filament_ids[i] = cluster_color_maps[label]; } + first_filament_id = cluster_color_maps[0]; BOOST_LOG_TRIVIAL(info) << boost::format("%1%:%2%, all_colours size changes to %3%")%__FUNCTION__ %__LINE__%all_colours.size(); @@ -933,17 +934,16 @@ static int construct_assemble_list(std::vector &assemble_ } std::vector output_filament_ids; + unsigned char first_extruder_id; if (obj_info.vertex_colors.size() > 0) { - convert_obj_cluster_colors(obj_info.vertex_colors, all_colours, max_filament_count, output_filament_ids); + convert_obj_cluster_colors(obj_info.vertex_colors, all_colours, max_filament_count, output_filament_ids, first_extruder_id); if (output_filament_ids.size() > 0) { - unsigned char first_extruder_id = output_filament_ids.front(); result = Model::obj_import_vertex_color_deal(output_filament_ids, first_extruder_id, & obj_temp_model); } skip_filament = true; } else if (obj_info.face_colors.size() > 0 && obj_info.has_uv_png == false) { // mtl file - convert_obj_cluster_colors(obj_info.face_colors, all_colours, max_filament_count, output_filament_ids); + convert_obj_cluster_colors(obj_info.face_colors, all_colours, max_filament_count, output_filament_ids, first_extruder_id); if (output_filament_ids.size() > 0) { - unsigned char first_extruder_id = output_filament_ids.front(); result = Model::obj_import_face_color_deal(output_filament_ids, first_extruder_id, & obj_temp_model); } skip_filament = true;