From 72989c8a2f64f603ec94d60be50b97c128873a20 Mon Sep 17 00:00:00 2001 From: "lane.wei" Date: Tue, 14 Nov 2023 09:55:52 +0800 Subject: [PATCH] ENH: CLI: skip layer height limit validate when slicing for existing models JIRA: no jira Change-Id: I1444a28b500ca7d08ed2606eecfa5cfaf261105e --- src/BambuStudio.cpp | 55 ++++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/src/BambuStudio.cpp b/src/BambuStudio.cpp index e95f3e7de..37238ae60 100644 --- a/src/BambuStudio.cpp +++ b/src/BambuStudio.cpp @@ -4287,32 +4287,37 @@ int CLI::run(int argc, char **argv) StringObjectException warning; auto err = print->validate(&warning); if (!err.string.empty()) { - BOOST_LOG_TRIVIAL(error) << "got error when validate: "<< err.string << std::endl; - boost::nowide::cerr << err.string << std::endl; - int validate_error; - switch (err.type) - { - case STRING_EXCEPT_FILAMENT_NOT_MATCH_BED_TYPE: - validate_error = CLI_FILAMENT_NOT_MATCH_BED_TYPE; - break; - case STRING_EXCEPT_FILAMENTS_DIFFERENT_TEMP: - validate_error = CLI_FILAMENTS_DIFFERENT_TEMP; - break; - case STRING_EXCEPT_OBJECT_COLLISION_IN_SEQ_PRINT: - validate_error = CLI_OBJECT_COLLISION_IN_SEQ_PRINT; - break; - case STRING_EXCEPT_OBJECT_COLLISION_IN_LAYER_PRINT: - validate_error = CLI_OBJECT_COLLISION_IN_LAYER_PRINT; - break; - default: - validate_error = CLI_VALIDATE_ERROR; - break; + if ((STRING_EXCEPT_LAYER_HEIGHT_EXCEEDS_LIMIT == err.type) && no_check) { + BOOST_LOG_TRIVIAL(warning) << "got warnings: "<< err.string << std::endl; + } + else { + BOOST_LOG_TRIVIAL(error) << "got error when validate: "<< err.string << std::endl; + boost::nowide::cerr << err.string << std::endl; + int validate_error; + switch (err.type) + { + case STRING_EXCEPT_FILAMENT_NOT_MATCH_BED_TYPE: + validate_error = CLI_FILAMENT_NOT_MATCH_BED_TYPE; + break; + case STRING_EXCEPT_FILAMENTS_DIFFERENT_TEMP: + validate_error = CLI_FILAMENTS_DIFFERENT_TEMP; + break; + case STRING_EXCEPT_OBJECT_COLLISION_IN_SEQ_PRINT: + validate_error = CLI_OBJECT_COLLISION_IN_SEQ_PRINT; + break; + case STRING_EXCEPT_OBJECT_COLLISION_IN_LAYER_PRINT: + 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()) { BOOST_LOG_TRIVIAL(warning) << "got warnings: "<< warning.string << std::endl;