mirror of
https://github.com/QIDITECH/QIDISlicer.git
synced 2026-02-02 08:58:43 +03:00
update infill_overlap
This commit is contained in:
@@ -340,6 +340,7 @@ std::vector<SurfaceFill> group_fills(const Layer &layer)
|
|||||||
continue;
|
continue;
|
||||||
} else if (narrow_expolygons_index.size() == expolygons_size) {
|
} else if (narrow_expolygons_index.size() == expolygons_size) {
|
||||||
// w11
|
// w11
|
||||||
|
// w14
|
||||||
surface_fills[i].params.pattern = ipConcentricInternal;
|
surface_fills[i].params.pattern = ipConcentricInternal;
|
||||||
} else {
|
} else {
|
||||||
params = surface_fills[i].params;
|
params = surface_fills[i].params;
|
||||||
@@ -547,6 +548,7 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
|
|||||||
params.anchor_length = surface_fill.params.anchor_length;
|
params.anchor_length = surface_fill.params.anchor_length;
|
||||||
params.anchor_length_max = surface_fill.params.anchor_length_max;
|
params.anchor_length_max = surface_fill.params.anchor_length_max;
|
||||||
params.resolution = resolution;
|
params.resolution = resolution;
|
||||||
|
//w14
|
||||||
params.use_arachne = (perimeter_generator == PerimeterGeneratorType::Arachne && surface_fill.params.pattern == ipConcentricInternal) || surface_fill.params.pattern == ipEnsuring;
|
params.use_arachne = (perimeter_generator == PerimeterGeneratorType::Arachne && surface_fill.params.pattern == ipConcentricInternal) || surface_fill.params.pattern == ipEnsuring;
|
||||||
params.layer_height = layerm.layer()->height;
|
params.layer_height = layerm.layer()->height;
|
||||||
|
|
||||||
@@ -568,8 +570,18 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
|
|||||||
f->overlap = 0;
|
f->overlap = 0;
|
||||||
thick_polylines = f->fill_surface_arachne(&surface_fill.surface, params);
|
thick_polylines = f->fill_surface_arachne(&surface_fill.surface, params);
|
||||||
}
|
}
|
||||||
else
|
//w14
|
||||||
polylines = f->fill_surface(&surface_fill.surface, params);
|
else {
|
||||||
|
if (surface_fill.params.pattern == ipConcentricInternal) {
|
||||||
|
layerm.region().config().infill_overlap.percent ?
|
||||||
|
f->overlap = layerm.region().config().perimeter_extrusion_width *
|
||||||
|
layerm.region().config().infill_overlap.value / 100 * (-1) :
|
||||||
|
f->overlap = float(layerm.region().config().infill_overlap.value);
|
||||||
|
|
||||||
|
} else
|
||||||
|
f->overlap = 0;
|
||||||
|
polylines = f->fill_surface(&surface_fill.surface, params);
|
||||||
|
}
|
||||||
} catch (InfillFailedException &) {
|
} catch (InfillFailedException &) {
|
||||||
}
|
}
|
||||||
if (!polylines.empty() || !thick_polylines.empty()) {
|
if (!polylines.empty() || !thick_polylines.empty()) {
|
||||||
@@ -698,6 +710,7 @@ Polylines Layer::generate_sparse_infill_polylines_for_anchoring(FillAdaptive::Oc
|
|||||||
case ipHilbertCurve:
|
case ipHilbertCurve:
|
||||||
case ipArchimedeanChords:
|
case ipArchimedeanChords:
|
||||||
case ipOctagramSpiral:
|
case ipOctagramSpiral:
|
||||||
|
//w14
|
||||||
case ipConcentricInternal: break;
|
case ipConcentricInternal: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user