fix ironing on support material interface

This commit is contained in:
supermerill 2020-11-23 00:54:27 +01:00
parent 1a19b023f0
commit 95b546e47d
2 changed files with 4 additions and 2 deletions

View File

@ -68,7 +68,8 @@ void ExtrusionPath::polygons_covered_by_spacing(Polygons &out, const float scale
{
// Instantiating the Flow class to get the line spacing.
// Don't know the nozzle diameter, setting to zero. It shall not matter it shall be optimized out by the compiler.
Flow flow(this->width, this->height, 0.f, is_bridge(this->role()));
// if the spacing is negative, use the width instead. can happen on ironing second pass.
Flow flow(this->width, this->height, 0.f, (this->width*4 < this->height)?true:is_bridge(this->role()));
polygons_append(out, offset(this->polyline, 0.5f * double(flow.scaled_spacing()) + scaled_epsilon));
}

View File

@ -132,6 +132,7 @@ namespace Slic3r {
// first infill
FillParams first_pass_params = params;
if(first_pass_params.role != ExtrusionRole::erSupportMaterial && first_pass_params.role != ExtrusionRole::erSupportMaterialInterface)
first_pass_params.role = ExtrusionRole::erSolidInfill;
perform_single_fill(0, *eecroot, *surface, first_pass_params, volumeToOccupy);