diff --git a/src/slic3r/GUI/SSWCP.cpp b/src/slic3r/GUI/SSWCP.cpp index 16787a0b1e..eaa9d4c802 100644 --- a/src/slic3r/GUI/SSWCP.cpp +++ b/src/slic3r/GUI/SSWCP.cpp @@ -3058,26 +3058,16 @@ void SSWCP_MachineOption_Instance::sw_GetFileFilamentMapping() return -1; } - if (oriclr.size() == 7) { - for (int i = 1; i <= 6; ++i) { - if (oriclr[7 - i] - '0' >= 0 && oriclr[7 - i] - '0' <= 9) { - res += std::pow(16, i - 1) * (oriclr[7 - i] - '0'); - } else { - res += std::pow(16, i - 1) * (oriclr[7 - i] - 'A' + 10); - } - } - } else { - for (int i = 1; i <= 8; ++i) { - if (oriclr[7 - i] - '0' >= 0 && oriclr[7 - i] - '0' <= 9) { - res += std::pow(16, i - 1) * (oriclr[7 - i] - '0'); - } else { - res += std::pow(16, i - 1) * (oriclr[7 - i] - 'A' + 10); - } - } + auto colorSize = oriclr.size();//7 or 9 + for (auto i = 1; i < colorSize; i++) + { + if (oriclr[colorSize - i] - '0' >= 0 && oriclr[colorSize - i] - '0' <= 9) { + res += std::pow(16, i - 1) * (oriclr[colorSize - i] - '0'); + } else { + res += std::pow(16, i - 1) * (oriclr[colorSize - i] - 'A' + 10); + } } - - return res; };