diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index d29dd7ad8..eec230c37 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -5492,7 +5492,7 @@ bool DynamicPrintConfig::support_different_extruders(int& extruder_count) return (variant_set.size() > 1); } -int DynamicPrintConfig::get_index_for_extruder(int extruder_id, std::string id_name, ExtruderType extruder_type, NozzleVolumeType nozzle_volume_type, std::string variant_name) const +int DynamicPrintConfig::get_index_for_extruder(int extruder_id, std::string id_name, ExtruderType extruder_type, NozzleVolumeType nozzle_volume_type, std::string variant_name, unsigned int stride) const { int ret = -1; @@ -5509,12 +5509,12 @@ int DynamicPrintConfig::get_index_for_extruder(int extruder_id, std::string id_n if (id_opt) { const int id = id_opt->get_at(index); if (id == extruder_id) { - ret = index; + ret = index * stride; break; } } else { - ret = index; + ret = index * stride; break; } diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index c60a4c6af..aefe3e788 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -498,7 +498,7 @@ public: //BBS bool is_using_different_extruders(); bool support_different_extruders(int& extruder_count); - int get_index_for_extruder(int extruder_id, std::string id_name, ExtruderType extruder_type, NozzleVolumeType nozzle_volume_type, std::string variant_name) const; + int get_index_for_extruder(int extruder_id, std::string id_name, ExtruderType extruder_type, NozzleVolumeType nozzle_volume_type, std::string variant_name, unsigned int stride = 1) const; void update_values_to_printer_extruders(DynamicPrintConfig& printer_config, std::set& key_set, std::string id_name, std::string variant_name, unsigned int stride = 1, unsigned int extruder_id = 0); bool is_custom_defined();