mirror of
https://github.com/QIDITECH/QIDISlicer.git
synced 2026-01-31 07:58:43 +03:00
update infill_overlap
This commit is contained in:
@@ -62,6 +62,9 @@ struct SurfaceFillParams
|
||||
|
||||
// Index of this entry in a linear vector.
|
||||
size_t idx = 0;
|
||||
//w14
|
||||
double perimeter_extrusion_width = 0;
|
||||
double infill_overlap = 0;
|
||||
|
||||
|
||||
bool operator<(const SurfaceFillParams &rhs) const {
|
||||
@@ -549,6 +552,9 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
|
||||
params.resolution = resolution;
|
||||
params.use_arachne = (perimeter_generator == PerimeterGeneratorType::Arachne && surface_fill.params.pattern == ipConcentric) || surface_fill.params.pattern == ipEnsuring;
|
||||
params.layer_height = layerm.layer()->height;
|
||||
//w14
|
||||
const PrintRegionConfig &getregion = layerm.region().config();
|
||||
params.perimeter_extrusion_width = float(getregion.perimeter_extrusion_width);
|
||||
|
||||
for (ExPolygon &expoly : surface_fill.expolygons) {
|
||||
// Spacing is modified by the filler to indicate adjustments. Reset it for each expolygon.
|
||||
@@ -557,8 +563,18 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
|
||||
Polylines polylines;
|
||||
ThickPolylines thick_polylines;
|
||||
try {
|
||||
if (params.use_arachne)
|
||||
if (params.use_arachne) {
|
||||
//w14
|
||||
if (surface_fill.surface.surface_type == stInternalSolid) {
|
||||
getregion.infill_overlap.percent ?
|
||||
params.temp_set = params.perimeter_extrusion_width *getregion.infill_overlap.value / 100 :
|
||||
params.temp_set = float(getregion.infill_overlap.value);
|
||||
|
||||
f->overlap = params.temp_set * (-1);
|
||||
}
|
||||
thick_polylines = f->fill_surface_arachne(&surface_fill.surface, params);
|
||||
f->overlap = 0;
|
||||
}
|
||||
else
|
||||
polylines = f->fill_surface(&surface_fill.surface, params);
|
||||
} catch (InfillFailedException &) {
|
||||
|
||||
@@ -63,6 +63,11 @@ struct FillParams
|
||||
bool use_arachne { false };
|
||||
// Layer height for Concentric infill with Arachne.
|
||||
coordf_t layer_height { 0.f };
|
||||
//w14
|
||||
double perimeter_extrusion_width{0};
|
||||
double infill_overlap {0};
|
||||
double castifop{0};
|
||||
float temp_set;
|
||||
};
|
||||
static_assert(IsTriviallyCopyable<FillParams>::value, "FillParams class is not POD (and it should be - see constructor).");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user