ENH: CLI: skip layer height limit validate when slicing for existing models

JIRA: no jira
Change-Id: I1444a28b500ca7d08ed2606eecfa5cfaf261105e
This commit is contained in:
lane.wei 2023-11-14 09:55:52 +08:00 committed by Lane.Wei
parent ac6cc81591
commit 72989c8a2f
1 changed files with 30 additions and 25 deletions

View File

@ -4287,32 +4287,37 @@ int CLI::run(int argc, char **argv)
StringObjectException warning; StringObjectException warning;
auto err = print->validate(&warning); auto err = print->validate(&warning);
if (!err.string.empty()) { if (!err.string.empty()) {
BOOST_LOG_TRIVIAL(error) << "got error when validate: "<< err.string << std::endl; if ((STRING_EXCEPT_LAYER_HEIGHT_EXCEEDS_LIMIT == err.type) && no_check) {
boost::nowide::cerr << err.string << std::endl; BOOST_LOG_TRIVIAL(warning) << "got warnings: "<< err.string << std::endl;
int validate_error; }
switch (err.type) else {
{ BOOST_LOG_TRIVIAL(error) << "got error when validate: "<< err.string << std::endl;
case STRING_EXCEPT_FILAMENT_NOT_MATCH_BED_TYPE: boost::nowide::cerr << err.string << std::endl;
validate_error = CLI_FILAMENT_NOT_MATCH_BED_TYPE; int validate_error;
break; switch (err.type)
case STRING_EXCEPT_FILAMENTS_DIFFERENT_TEMP: {
validate_error = CLI_FILAMENTS_DIFFERENT_TEMP; case STRING_EXCEPT_FILAMENT_NOT_MATCH_BED_TYPE:
break; validate_error = CLI_FILAMENT_NOT_MATCH_BED_TYPE;
case STRING_EXCEPT_OBJECT_COLLISION_IN_SEQ_PRINT: break;
validate_error = CLI_OBJECT_COLLISION_IN_SEQ_PRINT; case STRING_EXCEPT_FILAMENTS_DIFFERENT_TEMP:
break; validate_error = CLI_FILAMENTS_DIFFERENT_TEMP;
case STRING_EXCEPT_OBJECT_COLLISION_IN_LAYER_PRINT: break;
validate_error = CLI_OBJECT_COLLISION_IN_LAYER_PRINT; case STRING_EXCEPT_OBJECT_COLLISION_IN_SEQ_PRINT:
break; validate_error = CLI_OBJECT_COLLISION_IN_SEQ_PRINT;
default: break;
validate_error = CLI_VALIDATE_ERROR; case STRING_EXCEPT_OBJECT_COLLISION_IN_LAYER_PRINT:
break; validate_error = CLI_OBJECT_COLLISION_IN_LAYER_PRINT;
break;
default:
validate_error = CLI_VALIDATE_ERROR;
break;
}
if (no_check)
record_exit_reson(outfile_dir, validate_error, index+1, err.string, sliced_info);
else
record_exit_reson(outfile_dir, validate_error, index+1, cli_errors[validate_error], sliced_info);
flush_and_exit(validate_error);
} }
if (no_check)
record_exit_reson(outfile_dir, validate_error, index+1, err.string, sliced_info);
else
record_exit_reson(outfile_dir, validate_error, index+1, cli_errors[validate_error], sliced_info);
flush_and_exit(validate_error);
} }
else if (!warning.string.empty()) { else if (!warning.string.empty()) {
BOOST_LOG_TRIVIAL(warning) << "got warnings: "<< warning.string << std::endl; BOOST_LOG_TRIVIAL(warning) << "got warnings: "<< warning.string << std::endl;