mirror of
https://git.mirrors.martin98.com/https://github.com/bambulab/BambuStudio.git
synced 2025-08-05 20:46:01 +08:00
FIX: layer height cannot exceed limits
Jira: STUDIO-4279 Change-Id: I9c580f9192f7d37123d76e72a62022a48c2a5315
This commit is contained in:
parent
b3d9ff95ec
commit
76f3f22bcc
@ -1188,11 +1188,23 @@ StringObjectException Print::validate(StringObjectException *warning, Polygons*
|
||||
if (layer_height > min_nozzle_diameter)
|
||||
return {L("Layer height cannot exceed nozzle diameter"), object, "layer_height"};
|
||||
|
||||
double min_layer_height_from_nozzle = 0.01;
|
||||
double max_layer_height_from_nozzle = std::numeric_limits<double>::max();
|
||||
for (unsigned int extruder_id : extruders) {
|
||||
min_layer_height_from_nozzle = std::max(min_layer_height_from_nozzle, m_config.min_layer_height.get_at(extruder_id));
|
||||
max_layer_height_from_nozzle = std::min(max_layer_height_from_nozzle, m_config.max_layer_height.get_at(extruder_id));
|
||||
}
|
||||
|
||||
if (layer_height > max_layer_height_from_nozzle ||
|
||||
layer_height < min_layer_height_from_nozzle) {
|
||||
return { L("Layer height cannot exceed the limit in Printer Settings -> Extruder -> Layer height limits"), object, "layer_height" };
|
||||
}
|
||||
|
||||
for (auto range : object->m_model_object->layer_config_ranges) {
|
||||
double range_layer_height = range.second.opt_float("layer_height");
|
||||
if (range_layer_height > object->m_slicing_params.max_layer_height ||
|
||||
range_layer_height < object->m_slicing_params.min_layer_height)
|
||||
return { L("Layer height cannot exceed nozzle diameter"), nullptr, "layer_height" };
|
||||
if (range_layer_height > max_layer_height_from_nozzle ||
|
||||
range_layer_height < min_layer_height_from_nozzle)
|
||||
return { L("Layer height cannot exceed the limit in Printer Settings -> Extruder -> Layer height limits"), nullptr, "layer_height" };
|
||||
}
|
||||
|
||||
// Validate extrusion widths.
|
||||
|
Loading…
x
Reference in New Issue
Block a user