diff --git a/src/slic3r/Utils/NetworkAgent.hpp b/src/slic3r/Utils/NetworkAgent.hpp index 27525227c3..0db3a08684 100644 --- a/src/slic3r/Utils/NetworkAgent.hpp +++ b/src/slic3r/Utils/NetworkAgent.hpp @@ -8,91 +8,93 @@ using namespace BBL; namespace Slic3r { typedef bool (*func_check_debug_consistent)(bool is_debug); -typedef std::string (*func_get_version)(void); +typedef std::string(*func_get_version)(void); typedef void* (*func_create_agent)(void); -typedef int (*func_destroy_agent)(void *agent); -typedef int (*func_init_log)(void *agent); -typedef int (*func_set_config_dir)(void *agent, std::string config_dir); -typedef int (*func_set_cert_file)(void *agent, std::string folder, std::string filename); -typedef int (*func_set_country_code)(void *agent, std::string country_code); -typedef int (*func_start)(void *agent); -typedef int (*func_set_on_ssdp_msg_fn)(void *agent, OnMsgArrivedFn fn); -typedef int (*func_set_on_user_login_fn)(void *agent, OnUserLoginFn fn); -typedef int (*func_set_on_printer_connected_fn)(void *agent, OnPrinterConnectedFn fn); -typedef int (*func_set_on_server_connected_fn)(void *agent, OnServerConnectedFn fn); -typedef int (*func_set_on_http_error_fn)(void *agent, OnHttpErrorFn fn); -typedef int (*func_set_get_country_code_fn)(void *agent, GetCountryCodeFn fn); -typedef int (*func_set_on_message_fn)(void *agent, OnMessageFn fn); -typedef int (*func_set_on_local_connect_fn)(void *agent, OnLocalConnectedFn fn); -typedef int (*func_set_on_local_message_fn)(void *agent, OnMessageFn fn); -typedef int (*func_set_queue_on_main_fn)(void *agent, QueueOnMainFn fn); -typedef int (*func_connect_server)(void *agent); -typedef bool (*func_is_server_connected)(void *agent); -typedef int (*func_refresh_connection)(void *agent); -typedef int (*func_start_subscribe)(void *agent, std::string module); -typedef int (*func_stop_subscribe)(void *agent, std::string module); -typedef int (*func_send_message)(void *agent, std::string dev_id, std::string json_str, int qos); -typedef int (*func_connect_printer)(void *agent, std::string dev_id, std::string dev_ip, std::string username, std::string password, bool use_ssl); -typedef int (*func_disconnect_printer)(void *agent); -typedef int (*func_send_message_to_printer)(void *agent, std::string dev_id, std::string json_str, int qos); -typedef bool (*func_start_discovery)(void *agent, bool start, bool sending); -typedef int (*func_change_user)(void *agent, std::string user_info); -typedef bool (*func_is_user_login)(void *agent); -typedef int (*func_user_logout)(void *agent); -typedef std::string (*func_get_user_id)(void *agent); -typedef std::string (*func_get_user_name)(void *agent); -typedef std::string (*func_get_user_avatar)(void *agent); -typedef std::string (*func_get_user_nickanme)(void *agent); -typedef std::string (*func_build_login_cmd)(void *agent); -typedef std::string (*func_build_logout_cmd)(void *agent); -typedef std::string (*func_build_login_info)(void *agent); -typedef int (*func_bind)(void *agent, std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn); -typedef int (*func_unbind)(void *agent, std::string dev_id); -typedef std::string (*func_get_bambulab_host)(void *agent); -typedef std::string (*func_get_user_selected_machine)(void *agent); -typedef int (*func_set_user_selected_machine)(void *agent, std::string dev_id); -typedef int (*func_start_print)(void *agent, PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn); -typedef int (*func_start_local_print_with_record)(void *agent, PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn); -typedef int (*func_start_send_gcode_to_sdcard)(void *agent, PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn); -typedef int (*func_start_local_print)(void *agent, PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn); -typedef int (*func_get_user_presets)(void *agent, std::map>* user_presets); -typedef std::string (*func_request_setting_id)(void *agent, std::string name, std::map* values_map, unsigned int* http_code); -typedef int (*func_put_setting)(void *agent, std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code); -typedef int (*func_get_setting_list)(void *agent, std::string bundle_version, ProgressFn pro_fn, WasCancelledFn cancel_fn); -typedef int (*func_delete_setting)(void *agent, std::string setting_id); -typedef std::string (*func_get_studio_info_url)(void *agent); -typedef int (*func_set_extra_http_header)(void *agent, std::map extra_headers); -typedef int (*func_get_my_message)(void *agent, int type, int after, int limit, unsigned int* http_code, std::string* http_body); -typedef int (*func_check_user_task_report)(void *agent, int* task_id, bool* printable); -typedef int (*func_get_user_print_info)(void *agent, unsigned int* http_code, std::string* http_body); -typedef int (*func_get_printer_firmware)(void *agent, std::string dev_id, unsigned* http_code, std::string* http_body); -typedef int (*func_get_task_plate_index)(void *agent, std::string task_id, int* plate_index); -typedef int (*func_get_user_info)(void *agent, int* identifier); -typedef int (*func_request_bind_ticket)(void *agent, std::string* ticket); -typedef int (*func_get_subtask_info)(void *agent, std::string subtask_id, std::string* task_json, unsigned int* http_code, std::string *http_body); -typedef int (*func_get_slice_info)(void *agent, std::string project_id, std::string profile_id, int plate_index, std::string* slice_json); -typedef int (*func_query_bind_status)(void *agent, std::vector query_list, unsigned int* http_code, std::string* http_body); -typedef int (*func_modify_printer_name)(void *agent, std::string dev_id, std::string dev_name); -typedef int (*func_get_camera_url)(void *agent, std::string dev_id, std::function callback); -typedef int (*func_get_design_staffpick)(void *agent, int offset, int limit, std::function callback); -typedef int (*func_start_pubilsh)(void *agent, PublishParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, std::string* out); -typedef int (*func_get_profile_3mf)(void *agent, BBLProfile* profile); -typedef int (*func_get_model_publish_url)(void *agent, std::string* url); -typedef int (*func_get_subtask)(void *agent, BBLModelTask* task, OnGetSubTaskFn getsub_fn); -typedef int (*func_get_model_mall_home_url)(void *agent, std::string* url); -typedef int (*func_get_model_mall_detail_url)(void *agent, std::string* url, std::string id); -typedef int (*func_get_my_profile)(void *agent, std::string token, unsigned int *http_code, std::string *http_body); -typedef int (*func_track_enable)(void *agent, bool enable); -typedef int (*func_track_event)(void *agent, std::string evt_key, std::string content); -typedef int (*func_track_header)(void *agent, std::string header); -typedef int (*func_track_update_property)(void *agent, std::string name, std::string value, std::string type); -typedef int (*func_track_get_property)(void *agent, std::string name, std::string& value, std::string type); +typedef int (*func_destroy_agent)(void* agent); +typedef int (*func_init_log)(void* agent); +typedef int (*func_set_config_dir)(void* agent, std::string config_dir); +typedef int (*func_set_cert_file)(void* agent, std::string folder, std::string filename); +typedef int (*func_set_country_code)(void* agent, std::string country_code); +typedef int (*func_start)(void* agent); +typedef int (*func_set_on_ssdp_msg_fn)(void* agent, OnMsgArrivedFn fn); +typedef int (*func_set_on_user_login_fn)(void* agent, OnUserLoginFn fn); +typedef int (*func_set_on_printer_connected_fn)(void* agent, OnPrinterConnectedFn fn); +typedef int (*func_set_on_server_connected_fn)(void* agent, OnServerConnectedFn fn); +typedef int (*func_set_on_http_error_fn)(void* agent, OnHttpErrorFn fn); +typedef int (*func_set_get_country_code_fn)(void* agent, GetCountryCodeFn fn); +typedef int (*func_set_on_message_fn)(void* agent, OnMessageFn fn); +typedef int (*func_set_on_local_connect_fn)(void* agent, OnLocalConnectedFn fn); +typedef int (*func_set_on_local_message_fn)(void* agent, OnMessageFn fn); +typedef int (*func_set_queue_on_main_fn)(void* agent, QueueOnMainFn fn); +typedef int (*func_connect_server)(void* agent); +typedef bool (*func_is_server_connected)(void* agent); +typedef int (*func_refresh_connection)(void* agent); +typedef int (*func_start_subscribe)(void* agent, std::string module); +typedef int (*func_stop_subscribe)(void* agent, std::string module); +typedef int (*func_send_message)(void* agent, std::string dev_id, std::string json_str, int qos); +typedef int (*func_connect_printer)(void* agent, std::string dev_id, std::string dev_ip, std::string username, std::string password, bool use_ssl); +typedef int (*func_disconnect_printer)(void* agent); +typedef int (*func_send_message_to_printer)(void* agent, std::string dev_id, std::string json_str, int qos); +typedef bool (*func_start_discovery)(void* agent, bool start, bool sending); +typedef int (*func_change_user)(void* agent, std::string user_info); +typedef bool (*func_is_user_login)(void* agent); +typedef int (*func_user_logout)(void* agent); +typedef std::string(*func_get_user_id)(void* agent); +typedef std::string(*func_get_user_name)(void* agent); +typedef std::string(*func_get_user_avatar)(void* agent); +typedef std::string(*func_get_user_nickanme)(void* agent); +typedef std::string(*func_build_login_cmd)(void* agent); +typedef std::string(*func_build_logout_cmd)(void* agent); +typedef std::string(*func_build_login_info)(void* agent); +typedef int (*func_bind)(void* agent, std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn); +typedef int (*func_unbind)(void* agent, std::string dev_id); +typedef std::string(*func_get_bambulab_host)(void* agent); +typedef std::string(*func_get_user_selected_machine)(void* agent); +typedef int (*func_set_user_selected_machine)(void* agent, std::string dev_id); +typedef int (*func_start_print)(void* agent, PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn); +typedef int (*func_start_local_print_with_record)(void* agent, PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn); +typedef int (*func_start_send_gcode_to_sdcard)(void* agent, PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn); +typedef int (*func_start_local_print)(void* agent, PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn); +typedef int (*func_get_user_presets)(void* agent, std::map>* user_presets); +typedef std::string(*func_request_setting_id)(void* agent, std::string name, std::map* values_map, unsigned int* http_code); +typedef int (*func_put_setting)(void* agent, std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code); +typedef int (*func_get_setting_list)(void* agent, std::string bundle_version, ProgressFn pro_fn, WasCancelledFn cancel_fn); +typedef int (*func_get_setting_list2)(void* agent, std::string bundle_version, CheckFn chk_fn, ProgressFn pro_fn, WasCancelledFn cancel_fn); +typedef int (*func_delete_setting)(void* agent, std::string setting_id); +typedef std::string(*func_get_studio_info_url)(void* agent); +typedef int (*func_set_extra_http_header)(void* agent, std::map extra_headers); +typedef int (*func_get_my_message)(void* agent, int type, int after, int limit, unsigned int* http_code, std::string* http_body); +typedef int (*func_check_user_task_report)(void* agent, int* task_id, bool* printable); +typedef int (*func_check_user_report)(void* agent, int* task_id, bool* printable, std::string* report_url); +typedef int (*func_get_user_print_info)(void* agent, unsigned int* http_code, std::string* http_body); +typedef int (*func_get_printer_firmware)(void* agent, std::string dev_id, unsigned* http_code, std::string* http_body); +typedef int (*func_get_task_plate_index)(void* agent, std::string task_id, int* plate_index); +typedef int (*func_get_user_info)(void* agent, int* identifier); +typedef int (*func_request_bind_ticket)(void* agent, std::string* ticket); +typedef int (*func_get_subtask_info)(void* agent, std::string subtask_id, std::string* task_json, unsigned int* http_code, std::string* http_body); +typedef int (*func_get_slice_info)(void* agent, std::string project_id, std::string profile_id, int plate_index, std::string* slice_json); +typedef int (*func_query_bind_status)(void* agent, std::vector query_list, unsigned int* http_code, std::string* http_body); +typedef int (*func_modify_printer_name)(void* agent, std::string dev_id, std::string dev_name); +typedef int (*func_get_camera_url)(void* agent, std::string dev_id, std::function callback); +typedef int (*func_get_design_staffpick)(void* agent, int offset, int limit, std::function callback); +typedef int (*func_start_pubilsh)(void* agent, PublishParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, std::string* out); +typedef int (*func_get_profile_3mf)(void* agent, BBLProfile* profile); +typedef int (*func_get_model_publish_url)(void* agent, std::string* url); +typedef int (*func_get_subtask)(void* agent, BBLModelTask* task, OnGetSubTaskFn getsub_fn); +typedef int (*func_get_model_mall_home_url)(void* agent, std::string* url); +typedef int (*func_get_model_mall_detail_url)(void* agent, std::string* url, std::string id); +typedef int (*func_get_my_profile)(void* agent, std::string token, unsigned int* http_code, std::string* http_body); +typedef int (*func_track_enable)(void* agent, bool enable); +typedef int (*func_track_event)(void* agent, std::string evt_key, std::string content); +typedef int (*func_track_header)(void* agent, std::string header); +typedef int (*func_track_update_property)(void* agent, std::string name, std::string value, std::string type); +typedef int (*func_track_get_property)(void* agent, std::string name, std::string& value, std::string type); typedef int (*func_put_model_mall_rating_url)( - void *agent, int rating_id, int score, std::string content, std::vector images, unsigned int &http_code, std::string &http_error); -typedef int (*func_get_oss_config)(void *agent, std::string &config, std::string country_code, unsigned int &http_code, std::string &http_error); + void* agent, int rating_id, int score, std::string content, std::vector images, unsigned int& http_code, std::string& http_error); +typedef int (*func_get_oss_config)(void* agent, std::string& config, std::string country_code, unsigned int& http_code, std::string& http_error); typedef int (*func_put_rating_picture_oss)( - void *agent, std::string &config, std::string &pic_oss_path, std::string model_id, int profile_id, unsigned int &http_code, std::string &http_error); -typedef int (*func_get_model_mall_rating_result)(void *agent, int job_id, std::string &rating_result, unsigned int &http_code, std::string &http_error); + void* agent, std::string& config, std::string& pic_oss_path, std::string model_id, int profile_id, unsigned int& http_code, std::string& http_error); +typedef int (*func_get_model_mall_rating_result)(void* agent, int job_id, std::string& rating_result, unsigned int& http_code, std::string& http_error); //the NetworkAgent class @@ -147,24 +149,26 @@ public: std::string build_login_cmd(); std::string build_logout_cmd(); std::string build_login_info(); - int bind(std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn); + int bind(std::string dev_ip, std::string dev_id, std::string sec_link, std::string timezone, bool improved, OnUpdateStatusFn update_fn); int unbind(std::string dev_id); std::string get_bambulab_host(); std::string get_user_selected_machine(); int set_user_selected_machine(std::string dev_id); - int start_print(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn); - int start_local_print_with_record(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn); - int start_send_gcode_to_sdcard(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn); + int start_print(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn); + int start_local_print_with_record(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn); + int start_send_gcode_to_sdcard(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn, OnWaitFn wait_fn); int start_local_print(PrintParams params, OnUpdateStatusFn update_fn, WasCancelledFn cancel_fn); int get_user_presets(std::map>* user_presets); std::string request_setting_id(std::string name, std::map* values_map, unsigned int* http_code); int put_setting(std::string setting_id, std::string name, std::map* values_map, unsigned int* http_code); int get_setting_list(std::string bundle_version, ProgressFn pro_fn = nullptr, WasCancelledFn cancel_fn = nullptr); + int get_setting_list2(std::string bundle_version, CheckFn chk_fn, ProgressFn pro_fn = nullptr, WasCancelledFn cancel_fn = nullptr); int delete_setting(std::string setting_id); std::string get_studio_info_url(); int set_extra_http_header(std::map extra_headers); int get_my_message(int type, int after, int limit, unsigned int* http_code, std::string* http_body); int check_user_task_report(int* task_id, bool* printable); + int check_user_report(int* task_id, bool* printable, std::string* report_url); int get_user_print_info(unsigned int* http_code, std::string* http_body); int get_printer_firmware(std::string dev_id, unsigned* http_code, std::string* http_body); int get_task_plate_index(std::string task_id, int* plate_index); @@ -180,7 +184,7 @@ public: int get_profile_3mf(BBLProfile* profile); int get_model_publish_url(std::string* url); int get_subtask(BBLModelTask* task, OnGetSubTaskFn getsub_fn); - int get_model_mall_home_url(std::string* url); + int get_model_mall_home_url(std::string* url); int get_model_mall_detail_url(std::string* url, std::string id); int get_my_profile(std::string token, unsigned int* http_code, std::string* http_body); int track_enable(bool enable); @@ -188,14 +192,14 @@ public: int track_header(std::string header); int track_update_property(std::string name, std::string value, std::string type = "string"); int track_get_property(std::string name, std::string& value, std::string type = "string"); - int put_model_mall_rating(int design_id, int score, std::string content, std::vector images, unsigned int &http_code, std::string &http_error); - int get_oss_config(std::string &config, std::string country_code, unsigned int &http_code, std::string &http_error); - int put_rating_picture_oss(std::string &config, std::string &pic_oss_path, std::string model_id, int profile_id, unsigned int &http_code, std::string &http_error); - int get_model_mall_rating_result(int job_id, std::string &rating_result, unsigned int &http_code, std::string &http_error); + int put_model_mall_rating(int design_id, int score, std::string content, std::vector images, unsigned int& http_code, std::string& http_error); + int get_oss_config(std::string& config, std::string country_code, unsigned int& http_code, std::string& http_error); + int put_rating_picture_oss(std::string& config, std::string& pic_oss_path, std::string model_id, int profile_id, unsigned int& http_code, std::string& http_error); + int get_model_mall_rating_result(int job_id, std::string& rating_result, unsigned int& http_code, std::string& http_error); bool get_track_enable() { return enable_track; } private: bool enable_track = false; - void* network_agent { nullptr }; + void* network_agent{ nullptr }; static func_check_debug_consistent check_debug_consistent_ptr; static func_get_version get_version_ptr; @@ -249,11 +253,13 @@ private: static func_request_setting_id request_setting_id_ptr; static func_put_setting put_setting_ptr; static func_get_setting_list get_setting_list_ptr; + static func_get_setting_list2 get_setting_list2_ptr; static func_delete_setting delete_setting_ptr; static func_get_studio_info_url get_studio_info_url_ptr; static func_set_extra_http_header set_extra_http_header_ptr; static func_get_my_message get_my_message_ptr; static func_check_user_task_report check_user_task_report_ptr; + static func_check_user_report check_user_report_ptr; static func_get_user_print_info get_user_print_info_ptr; static func_get_printer_firmware get_printer_firmware_ptr; static func_get_task_plate_index get_task_plate_index_ptr; diff --git a/src/slic3r/Utils/bambu_networking.hpp b/src/slic3r/Utils/bambu_networking.hpp index 75795b500b..a533da2bb9 100644 --- a/src/slic3r/Utils/bambu_networking.hpp +++ b/src/slic3r/Utils/bambu_networking.hpp @@ -27,6 +27,11 @@ namespace BBL { #define BAMBU_NETWORK_ERR_CANCELED -18 #define BAMBU_NETWORK_ERR_INVALID_RESULT -19 #define BAMBU_NETWORK_ERR_FTP_UPLOAD_FAILED -20 +#define BAMBU_NETWORK_ERR_GET_RATING_ID_FAILED -21 +#define BAMBU_NETWORK_ERR_OPEN_FILE_FAILED -22 +#define BAMBU_NETWORK_ERR_PARSE_CONFIG_FAILED -23 +#define BAMBU_NETWORK_ERR_NO_CORRESPONDING_BUCKET -24 +#define BAMBU_NETWORK_ERR_GET_INSTANCE_ID_FAILED -25 //bind error #define BAMBU_NETWORK_ERR_BIND_CREATE_SOCKET_FAILED -1010 //failed to create socket @@ -50,7 +55,7 @@ namespace BBL { #define BAMBU_NETWORK_ERR_PRINT_WR_PATCH_PROJECT_FAILED -2080 //failed to patch project #define BAMBU_NETWORK_ERR_PRINT_WR_GET_MY_SETTING_FAILED -2090 //failed to get my setting #define BAMBU_NETWORK_ERR_PRINT_WR_FILE_NOT_EXIST -2100 //3mf file is not exists -#define BAMBU_NETWORK_ERR_PRINT_WR_UPLOAD_3MF_TO_OSS_FAILED -2110 //failed to upload 3mf to oss +#define BAMBU_NETWORK_ERR_PRINT_WR_UPLOAD_3MF_TO_OSS_FAILED -2110 //failed to upload 3mf to oss #define BAMBU_NETWORK_ERR_PRINT_WR_POST_TASK_FAILED -2120 //failed to post task #define BAMBU_NETWORK_ERR_PRINT_WR_UPLOAD_FTP_FAILED -2130 //failed to upload to ftp #define BAMBU_NETWORK_ERR_PRINT_WR_GET_USER_UPLOAD_FAILED -2140 //failed to get_user_upload @@ -79,8 +84,8 @@ namespace BBL { #define BAMBU_NETWORK_ERR_PRINT_SG_UPLOAD_FTP_FAILED -5010 //failed to upload ftp //connection to printer failed -#define BAMBU_NETWORK_ERR_CONNECTION_TO_PRINTER_FAILED -6010 //Connection to printer failed -#define BAMBU_NETWORK_ERR_CONNECTION_TO_SERVER_FAILED -6020 //Connection to server failed +#define BAMBU_NETWORK_ERR_CONNECTION_TO_PRINTER_FAILED -6010 //Connection to printer failed +#define BAMBU_NETWORK_ERR_CONNECTION_TO_SERVER_FAILED -6020 //Connection to server failed #define BAMBU_NETWORK_LIBRARY "bambu_networking" @@ -125,23 +130,24 @@ typedef std::function ProgressFn; typedef std::function LoginFn; typedef std::function ResultFn; typedef std::function CancelFn; +typedef std::function info)> CheckFn; enum SendingPrintJobStage { PrintingStageCreate = 0, PrintingStageUpload = 1, PrintingStageWaiting = 2, PrintingStageSending = 3, - PrintingStageRecord = 4, + PrintingStageRecord = 4, PrintingStageWaitPrinter = 5, PrintingStageFinished = 6, PrintingStageERROR = 7, }; enum PublishingStage { - PublishingCreate = 0, - PublishingUpload = 1, - PublishingWaiting = 2, - PublishingJumpUrl = 3, + PublishingCreate = 0, + PublishingUpload = 1, + PublishingWaiting = 2, + PublishingJumpUrl = 3, }; enum BindJobStage { diff --git a/version.inc b/version.inc index fda23e7902..94411bb006 100644 --- a/version.inc +++ b/version.inc @@ -12,4 +12,4 @@ set(BBL_INTERNAL_TESTING "1") endif() # The build_version should start from 50 in master branch -set(SLIC3R_VERSION "01.07.04.54") +set(SLIC3R_VERSION "01.07.06.80")