mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 16:57:53 -06:00
Fix an issue when loading older 3mf project
This commit is contained in:
parent
793a753cfc
commit
67de85ba43
2 changed files with 66 additions and 64 deletions
|
@ -3494,62 +3494,64 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
|
|||
if(load_type != LoadType::LoadGeometry)
|
||||
show_info(q, _L("The 3mf is not supported by OrcaSlicer, load geometry data only."), _L("Load 3mf"));
|
||||
}
|
||||
else if (load_config && (file_version.maj() != app_version.maj())) {
|
||||
// version mismatch, only load geometries
|
||||
load_config = false;
|
||||
if (!load_model) {
|
||||
// only load config case, return directly
|
||||
show_info(q, _L("The Config can not be loaded."), _L("Load 3mf"));
|
||||
q->skip_thumbnail_invalid = false;
|
||||
return empty_result;
|
||||
}
|
||||
load_old_project = true;
|
||||
// select view to 3D
|
||||
q->select_view_3D("3D");
|
||||
// select plate 0 as default
|
||||
q->select_plate(0);
|
||||
if (load_type != LoadType::LoadGeometry) {
|
||||
if (en_3mf_file_type == En3mfType::From_BBS)
|
||||
show_info(q, _L("The 3mf is generated by old Orca Slicer, load geometry data only."), _L("Load 3mf"));
|
||||
else
|
||||
show_info(q, _L("The 3mf is not supported by OrcaSlicer, load geometry data only."), _L("Load 3mf"));
|
||||
}
|
||||
for (ModelObject *model_object : model.objects) {
|
||||
model_object->config.reset();
|
||||
// Is there any modifier or advanced config data?
|
||||
for (ModelVolume *model_volume : model_object->volumes) model_volume->config.reset();
|
||||
}
|
||||
}
|
||||
// else if (load_config && (file_version > app_version)) {
|
||||
// if (config_substitutions.unrecogized_keys.size() > 0) {
|
||||
// wxString text = wxString::Format(_L("The 3mf's version %s is newer than %s's version %s, Found following keys unrecognized:"),
|
||||
// file_version.to_string(), std::string(SLIC3R_APP_FULL_NAME), app_version.to_string());
|
||||
// text += "\n";
|
||||
// bool first = true;
|
||||
// // std::string context = into_u8(text);
|
||||
// wxString context = text;
|
||||
// for (auto &key : config_substitutions.unrecogized_keys) {
|
||||
// context += " -";
|
||||
// context += key;
|
||||
// context += ";\n";
|
||||
// first = false;
|
||||
// }
|
||||
// wxString append = _L("You'd better upgrade your software.\n");
|
||||
// context += "\n\n";
|
||||
// // context += into_u8(append);
|
||||
// context += append;
|
||||
// show_info(q, context, _L("Newer 3mf version"));
|
||||
// else if (load_config && (file_version.maj() != app_version.maj())) {
|
||||
// // version mismatch, only load geometries
|
||||
// load_config = false;
|
||||
// if (!load_model) {
|
||||
// // only load config case, return directly
|
||||
// show_info(q, _L("The Config can not be loaded."), _L("Load 3mf"));
|
||||
// q->skip_thumbnail_invalid = false;
|
||||
// return empty_result;
|
||||
// }
|
||||
// else {
|
||||
// //if the minor version is not matched
|
||||
// if (file_version.min() != app_version.min()) {
|
||||
// wxString text = wxString::Format(_L("The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your software."),
|
||||
// file_version.to_string(), std::string(SLIC3R_APP_FULL_NAME), app_version.to_string());
|
||||
// text += "\n";
|
||||
// show_info(q, text, _L("Newer 3mf version"));
|
||||
// }
|
||||
// load_old_project = true;
|
||||
// // select view to 3D
|
||||
// q->select_view_3D("3D");
|
||||
// // select plate 0 as default
|
||||
// q->select_plate(0);
|
||||
// if (load_type != LoadType::LoadGeometry) {
|
||||
// if (en_3mf_file_type == En3mfType::From_BBS)
|
||||
// show_info(q, _L("The 3mf is generated by old Orca Slicer, load geometry data only."), _L("Load 3mf"));
|
||||
// else
|
||||
// show_info(q, _L("The 3mf is not supported by OrcaSlicer, load geometry data only."), _L("Load 3mf"));
|
||||
// }
|
||||
// for (ModelObject *model_object : model.objects) {
|
||||
// model_object->config.reset();
|
||||
// // Is there any modifier or advanced config data?
|
||||
// for (ModelVolume *model_volume : model_object->volumes) model_volume->config.reset();
|
||||
// }
|
||||
// }
|
||||
else if (load_config && (file_version > app_version)) {
|
||||
if (config_substitutions.unrecogized_keys.size() > 0) {
|
||||
wxString text = wxString::Format(_L("The 3mf's version %s is newer than %s's version %s, Found following keys unrecognized:"),
|
||||
file_version.to_string(), std::string(SLIC3R_APP_FULL_NAME), app_version.to_string());
|
||||
text += "\n";
|
||||
bool first = true;
|
||||
// std::string context = into_u8(text);
|
||||
wxString context = text;
|
||||
// if (wxGetApp().app_config->get("user_mode") == "develop") {
|
||||
// for (auto &key : config_substitutions.unrecogized_keys) {
|
||||
// context += " -";
|
||||
// context += key;
|
||||
// context += ";\n";
|
||||
// first = false;
|
||||
// }
|
||||
// }
|
||||
wxString append = _L("You'd better upgrade your software.\n");
|
||||
context += "\n\n";
|
||||
// context += into_u8(append);
|
||||
context += append;
|
||||
show_info(q, context, _L("Newer 3mf version"));
|
||||
}
|
||||
else {
|
||||
//if the minor version is not matched
|
||||
if (file_version.min() != app_version.min()) {
|
||||
wxString text = wxString::Format(_L("The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your software."),
|
||||
file_version.to_string(), std::string(SLIC3R_APP_FULL_NAME), app_version.to_string());
|
||||
text += "\n";
|
||||
show_info(q, text, _L("Newer 3mf version"));
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!load_config) {
|
||||
// reset config except color
|
||||
for (ModelObject *model_object : model.objects) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue