update upper_slices_cache

This commit is contained in:
Wang YB
2024-03-05 10:30:39 +08:00
parent 7a7fb7da00
commit 48ed13e6f1

View File

@@ -1093,8 +1093,10 @@ void PerimeterGenerator::add_infill_contour_for_arachne(ExPolygons infill_contou
for (ExPolygon &ex : infill_contour)
ex.simplify_p(params.scaled_resolution, &inner_pp);
ExPolygons inner_union = union_ex(inner_pp);
infill_areas = offset_ex(inner_union, insert);
append(out_fill_expolygons, std::move(infill_areas));
float offset1 = -min_perimeter_infill_spacing / 2.;
float offset2 = insert + min_perimeter_infill_spacing / 2.;
infill_areas = offset2_ex(inner_union, offset1, offset2);
append(out_fill_expolygons, offset2_ex(union_ex(inner_pp), float(-min_perimeter_infill_spacing / 2.), float(insert + min_perimeter_infill_spacing / 2.)));
}
@@ -1399,7 +1401,7 @@ void PerimeterGenerator::process_with_one_wall_arachne(
}
if (params.config.overhangs && upper_slices != nullptr && upper_slices_polygons_cache.empty()) {
double upper_nozzle_diameter = params.print_config.nozzle_diameter.get_at(params.config.perimeter_extruder - 1);
upper_slices_polygons_cache = offset(*upper_slices, float(scale_(+upper_nozzle_diameter / 2)));
upper_slices_polygons_cache = offset(*upper_slices, float(scale_(EPSILON)));
}