SPE-1769: fix issue https://github.com/prusa3d/PrusaSlicer/issues/10786
Split regions if dynamic overhang settings differ. I also tried the same with bridge_speed, but for some reason it does not work at all.
This commit is contained in:
parent
43f3093e66
commit
053f7e6344
@ -656,12 +656,22 @@ void Layer::make_perimeters()
|
|||||||
layer_region_ids.push_back(region_id);
|
layer_region_ids.push_back(region_id);
|
||||||
for (LayerRegionPtrs::const_iterator it = layerm + 1; it != m_regions.end(); ++it)
|
for (LayerRegionPtrs::const_iterator it = layerm + 1; it != m_regions.end(); ++it)
|
||||||
if (! (*it)->slices().empty()) {
|
if (! (*it)->slices().empty()) {
|
||||||
LayerRegion* other_layerm = *it;
|
LayerRegion *other_layerm = *it;
|
||||||
const PrintRegionConfig &other_config = other_layerm->region().config();
|
const PrintRegionConfig &other_config = other_layerm->region().config();
|
||||||
|
bool dynamic_overhang_speed_compatibility = config.enable_dynamic_overhang_speeds ==
|
||||||
|
other_config.enable_dynamic_overhang_speeds;
|
||||||
|
if (dynamic_overhang_speed_compatibility && config.enable_dynamic_overhang_speeds) {
|
||||||
|
dynamic_overhang_speed_compatibility = config.overhang_speed_0 == other_config.overhang_speed_0 &&
|
||||||
|
config.overhang_speed_1 == other_config.overhang_speed_1 &&
|
||||||
|
config.overhang_speed_2 == other_config.overhang_speed_2 &&
|
||||||
|
config.overhang_speed_3 == other_config.overhang_speed_3;
|
||||||
|
}
|
||||||
|
|
||||||
if (config.perimeter_extruder == other_config.perimeter_extruder
|
if (config.perimeter_extruder == other_config.perimeter_extruder
|
||||||
&& config.perimeters == other_config.perimeters
|
&& config.perimeters == other_config.perimeters
|
||||||
&& config.perimeter_speed == other_config.perimeter_speed
|
&& config.perimeter_speed == other_config.perimeter_speed
|
||||||
&& config.external_perimeter_speed == other_config.external_perimeter_speed
|
&& config.external_perimeter_speed == other_config.external_perimeter_speed
|
||||||
|
&& dynamic_overhang_speed_compatibility
|
||||||
&& (config.gap_fill_enabled ? config.gap_fill_speed.value : 0.) ==
|
&& (config.gap_fill_enabled ? config.gap_fill_speed.value : 0.) ==
|
||||||
(other_config.gap_fill_enabled ? other_config.gap_fill_speed.value : 0.)
|
(other_config.gap_fill_enabled ? other_config.gap_fill_speed.value : 0.)
|
||||||
&& config.overhangs == other_config.overhangs
|
&& config.overhangs == other_config.overhangs
|
||||||
|
Loading…
Reference in New Issue
Block a user