diff --git a/README.md b/README.md
index 11e090e65c3..88f587db954 100644
--- a/README.md
+++ b/README.md
@@ -134,11 +134,6 @@ Thank you! :)
-
-
-
- |
-
diff --git a/src/libslic3r/Slicing.cpp b/src/libslic3r/Slicing.cpp
index 290871b9142..6655e3911d2 100644
--- a/src/libslic3r/Slicing.cpp
+++ b/src/libslic3r/Slicing.cpp
@@ -319,6 +319,13 @@ std::vector layer_height_profile_adaptive(const SlicingParameters& slici
else if (layer_height_profile.back() > height && layer_height_profile.back() - height > LAYER_HEIGHT_CHANGE_STEP)
height = layer_height_profile.back() - LAYER_HEIGHT_CHANGE_STEP;
+ for (auto const& [range,options] : object.layer_config_ranges) {
+ if ( print_z >= range.first && print_z <= range.second) {
+ height = options.opt_float("layer_height");
+ break;
+ };
+ };
+
layer_height_profile.push_back(print_z);
layer_height_profile.push_back(height);
print_z += height;
@@ -444,6 +451,7 @@ std::vector smooth_height_profile(const std::vector& profile, co
}
void adjust_layer_height_profile(
+ const ModelObject &model_object,
const SlicingParameters &slicing_params,
std::vector &layer_height_profile,
coordf_t z,
@@ -478,6 +486,11 @@ void adjust_layer_height_profile(
}
}
+ for (auto const& [range,options] : model_object.layer_config_ranges) {
+ if (z >= range.first - current_layer_height && z <= range.second + current_layer_height)
+ return;
+ };
+
// 2) Is it possible to apply the delta?
switch (action) {
case LAYER_HEIGHT_EDIT_ACTION_DECREASE:
diff --git a/src/libslic3r/Slicing.hpp b/src/libslic3r/Slicing.hpp
index 6ba3403bba8..a7b21a140d3 100644
--- a/src/libslic3r/Slicing.hpp
+++ b/src/libslic3r/Slicing.hpp
@@ -176,6 +176,7 @@ enum LayerHeightEditActionType : unsigned int {
};
void adjust_layer_height_profile(
+ const ModelObject &model_object,
const SlicingParameters &slicing_params,
std::vector &layer_height_profile,
coordf_t z,
diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp
index 9fc70c62451..539cf687035 100644
--- a/src/slic3r/GUI/GLCanvas3D.cpp
+++ b/src/slic3r/GUI/GLCanvas3D.cpp
@@ -590,7 +590,7 @@ void GLCanvas3D::LayersEditing::adjust_layer_height_profile()
{
this->update_slicing_parameters();
PrintObject::update_layer_height_profile(*m_model_object, *m_slicing_parameters, m_layer_height_profile);
- Slic3r::adjust_layer_height_profile(*m_slicing_parameters, m_layer_height_profile, this->last_z, this->strength, this->band_width, this->last_action);
+ Slic3r::adjust_layer_height_profile(*m_model_object, *m_slicing_parameters, m_layer_height_profile, this->last_z, this->strength, this->band_width, this->last_action);
m_layers_texture.valid = false;
}
diff --git a/version.inc b/version.inc
index 9df5c133ebd..7eb37fdde40 100644
--- a/version.inc
+++ b/version.inc
@@ -10,7 +10,7 @@ endif()
if(NOT DEFINED BBL_INTERNAL_TESTING)
set(BBL_INTERNAL_TESTING "0")
endif()
-set(SoftFever_VERSION "2.2.0")
+set(SoftFever_VERSION "2.3.0-dev")
string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)"
SoftFever_VERSION_MATCH ${SoftFever_VERSION})
set(ORCA_VERSION_MAJOR ${CMAKE_MATCH_1})
|