#269 fix to makes it recognize slic3r++ config from gcode

This commit is contained in:
supermerill 2020-06-05 16:52:22 +02:00
parent 2dfe215245
commit 2f31776ca6

View File

@ -694,14 +694,16 @@ void ConfigBase::load_from_gcode_file(const std::string &file)
boost::nowide::ifstream ifs(file); boost::nowide::ifstream ifs(file);
{ {
const char slic3r_gcode_header[] = "; generated by Slic3r "; const char slic3r_gcode_header[] = "; generated by Slic3r ";
const char slic3rpp_gcode_header[] = "; generated by SuperSlicer "; const char slic3rpp_gcode_header[] = "; generated by Slic3r++ ";
const char superslicer_gcode_header[] = "; generated by SuperSlicer ";
const char prusaslicer_gcode_header[] = "; generated by PrusaSlicer "; const char prusaslicer_gcode_header[] = "; generated by PrusaSlicer ";
std::string firstline; std::string firstline;
std::getline(ifs, firstline); std::getline(ifs, firstline);
if (strncmp(slic3r_gcode_header, firstline.c_str(), strlen(slic3r_gcode_header)) != 0 && if (strncmp(slic3r_gcode_header, firstline.c_str(), strlen(slic3r_gcode_header)) != 0 &&
strncmp(slic3rpp_gcode_header, firstline.c_str(), strlen(slic3rpp_gcode_header)) != 0&& strncmp(slic3rpp_gcode_header, firstline.c_str(), strlen(slic3rpp_gcode_header)) != 0 &&
strncmp(superslicer_gcode_header, firstline.c_str(), strlen(superslicer_gcode_header)) != 0 &&
strncmp(prusaslicer_gcode_header, firstline.c_str(), strlen(prusaslicer_gcode_header)) != 0) strncmp(prusaslicer_gcode_header, firstline.c_str(), strlen(prusaslicer_gcode_header)) != 0)
throw std::runtime_error("Not a PrusaSlicer / Slic3r PE / SuperSlicer generated g-code."); throw std::runtime_error("Not a PrusaSlicer / Slic3r / SuperSlicer generated g-code.");
} }
ifs.seekg(0, ifs.end); ifs.seekg(0, ifs.end);
auto file_length = ifs.tellg(); auto file_length = ifs.tellg();