From 48fcf4b012951ca99d7699bf47b48e954649d3ea Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Mon, 11 Sep 2023 18:24:53 +0800 Subject: [PATCH] FIX: spiral vase not support timelapse for i3 structure Jira: XXXX Change-Id: I2dd5c285c4d687d72a2dfcf94d0ff75a4d5dd498 --- src/libslic3r/GCode.cpp | 4 ++-- src/slic3r/GUI/ConfigManipulation.cpp | 6 ++++++ src/slic3r/GUI/Plater.cpp | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 6f8de3afeb..ce94665e17 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2874,7 +2874,7 @@ GCode::LayerResult GCode::process_layer( PrinterStructure printer_structure = m_config.printer_structure.value; bool need_insert_timelapse_gcode_for_traditional = false; - if (printer_structure == PrinterStructure::psI3 && (!m_wipe_tower || !m_wipe_tower->enable_timelapse_print())) { + if (printer_structure == PrinterStructure::psI3 && !m_spiral_vase && (!m_wipe_tower || !m_wipe_tower->enable_timelapse_print())) { need_insert_timelapse_gcode_for_traditional = true; } bool has_insert_timelapse_gcode = false; @@ -2896,7 +2896,7 @@ GCode::LayerResult GCode::process_layer( gcode += this->change_layer(print_z); // this will increase m_layer_index m_layer = &layer; m_object_layer_over_raft = false; - if (printer_structure == PrinterStructure::psI3 && !need_insert_timelapse_gcode_for_traditional) { + if (printer_structure == PrinterStructure::psI3 && !need_insert_timelapse_gcode_for_traditional && !m_spiral_vase) { std::string timepals_gcode = insert_timelapse_gcode(); gcode += timepals_gcode; m_writer.set_current_position_clear(false); diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 1df0588808..e23813b228 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -278,6 +278,12 @@ void ConfigManipulation::update_print_fff_config(DynamicPrintConfig* config, con config->opt_enum("timelapse_type") == TimelapseType::tlTraditional)) { wxString msg_text = _(L("Spiral mode only works when wall loops is 1, support is disabled, top shell layers is 0, sparse infill density is 0 and timelapse type is traditional.")); + + auto printer_structure_opt = wxGetApp().preset_bundle->printers.get_edited_preset().config.option>("printer_structure"); + if (printer_structure_opt && printer_structure_opt->value == PrinterStructure::psI3) { + msg_text += _(L(" But machines with I3 structure will not generate timelapse videos.")); + } + if (is_global_config) msg_text += "\n\n" + _(L("Change these settings automatically? \n" "Yes - Change these settings and enable spiral mode automatically\n" diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index a8f64b722f..bf54a2c5ac 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -3019,7 +3019,7 @@ wxString Plater::get_slice_warning_string(GCodeProcessorResult::SliceWarning& wa } else if (warning.msg == NOZZLE_HRC_CHECKER) { return _L("The nozzle hardness required by the filament is higher than the default nozzle hardness of the printer. Please replace the hardened nozzle or filament, otherwise, the nozzle will be attrited or damaged."); } else if (warning.msg == NOT_SUPPORT_TRADITIONAL_TIMELAPSE) { - return _L("Enable traditional timelapse will cause artifacts on this model."); + return _L("Enabling traditional timelapse photography may cause surface imperfections. It is recommended to change to smooth mode."); } else { return wxString(warning.msg); }