Enable no_edge_overlap for boundary skin infill interior

This commit is contained in:
sentientstardust
2026-06-02 10:23:54 +01:00
parent a58b964e52
commit e9a4aae68a
2 changed files with 2 additions and 1 deletions

View File

@@ -12030,6 +12030,7 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree,
FillParams fallback_params = params;
fallback_params.flow = fallback_flow;
fallback_params.pattern = ipRectilinear;
fallback_params.no_edge_overlap = true;
ExtrusionEntitiesPtr hybrid_interior_entities;
if (!hybrid_boundary_skin && collection && !collection->empty()) {
apply_top_surface_image_collection_metadata(*collection, surface_fill.params, std::nullopt, throw_if_canceled_ptr);

View File

@@ -2768,7 +2768,7 @@ bool FillRectilinear::fill_surface_by_lines(const Surface *surface, const FillPa
assert(params.density > 0.0001f && params.density <= 1.f);
coord_t line_spacing = coord_t(scale_(this->spacing) / params.density);
const coordf_t edge_width = std::max<coordf_t>(this->spacing, coordf_t(params.flow.width()));
const coordf_t edge_overlap_width = 0.075 * edge_width;
const coordf_t edge_overlap_width = std::min<coordf_t>(0.075 * edge_width, coordf_t(0.05));
const coordf_t outer_clearance = params.no_edge_overlap ?
std::max<coordf_t>(0.5 * edge_width - edge_overlap_width, coordf_t(0.0)) :
(0.5f - INFILL_OVERLAP_OVER_SPACING) * this->spacing;