FIX: no soild ironing if top or bottom shell is 0
fix the ironing be apply to the preview layer of bridge Signed-off-by: qing.zhang <qing.zhang@bambulab.com> Change-Id: I53cb4e6ff80176953c2927c1d9dc5eecc590764c
This commit is contained in:
parent
6b5ba84075
commit
4fce50453c
|
@ -662,7 +662,7 @@ void Layer::make_ironing()
|
|||
// Check whether there is any non-solid hole in the regions.
|
||||
bool internal_infill_solid = region_config.sparse_infill_density.value > 95.;
|
||||
for (const Surface &surface : ironing_params.layerm->fill_surfaces.surfaces)
|
||||
if ((! internal_infill_solid && surface.surface_type == stInternal) || surface.surface_type == stInternalBridge || surface.surface_type == stInternalVoid) {
|
||||
if ((!internal_infill_solid && surface.surface_type == stInternal) || surface.surface_type == stInternalBridge || surface.surface_type == stInternalVoid || surface.surface_type==stInternalWithLoop) {
|
||||
// Some fill region is not quite solid. Don't iron over the whole surface.
|
||||
iron_completely = false;
|
||||
break;
|
||||
|
@ -674,7 +674,7 @@ void Layer::make_ironing()
|
|||
polygons_append(polys, surface.expolygon);
|
||||
} else {
|
||||
for (const Surface &surface : ironing_params.layerm->slices.surfaces)
|
||||
if (surface.surface_type == stTop || (iron_everything && surface.surface_type == stBottom))
|
||||
if ((surface.surface_type == stTop && region_config.top_shell_layers > 0) || (iron_everything && surface.surface_type == stBottom && region_config.bottom_shell_layers > 0))
|
||||
// stBottomBridge is not being ironed on purpose, as it would likely destroy the bridges.
|
||||
polygons_append(polys, surface.expolygon);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue