diff --git a/src/slic3r/GUI/DoubleSlider.hpp b/src/slic3r/GUI/DoubleSlider.hpp index 4c7c3e1bb..36fa7b660 100644 --- a/src/slic3r/GUI/DoubleSlider.hpp +++ b/src/slic3r/GUI/DoubleSlider.hpp @@ -146,7 +146,7 @@ struct ExtrudersSequence bool is_mm_intervals = true; double interval_by_mm = 3.0; int interval_by_layers = 10; - bool random_sequence { true }; + bool random_sequence { false }; bool color_repetition { false }; std::vector extruders = { 0 }; diff --git a/src/slic3r/GUI/ExtruderSequenceDialog.cpp b/src/slic3r/GUI/ExtruderSequenceDialog.cpp index 4099d62c7..4a0600e53 100644 --- a/src/slic3r/GUI/ExtruderSequenceDialog.cpp +++ b/src/slic3r/GUI/ExtruderSequenceDialog.cpp @@ -91,7 +91,8 @@ ExtruderSequenceDialog::ExtruderSequenceDialog(const DoubleSlider::ExtrudersSequ double_to_string(sequence.interval_by_mm), wxDefaultPosition, editor_sz, wxTE_PROCESS_ENTER); - auto change_value = [this]() + double min_layer_height = wxGetApp().preset_bundle->prints.get_edited_preset().config.opt_float("layer_height"); + auto change_value = [this, min_layer_height]() { wxString str = m_interval_by_mm->GetValue(); if (str.IsEmpty()) { @@ -112,6 +113,11 @@ ExtruderSequenceDialog::ExtruderSequenceDialog(const DoubleSlider::ExtrudersSequ if (fabs(m_sequence.interval_by_layers - val) < 0.001) return; + if (val < min_layer_height) { + val = min_layer_height; + m_interval_by_mm->SetValue(double_to_string(val, 2)); + } + m_sequence.interval_by_mm = val; };