mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-07-26 06:34:30 +08:00
set the ironing pattern first pass to use filled monotonic instead of filled rectilinear.
also allow half overlap for the first pass. supermerill/SuperSlicer#1708
This commit is contained in:
parent
a166f37e4f
commit
003a0dba07
@ -88,9 +88,9 @@ public:
|
|||||||
// Index of the layer.
|
// Index of the layer.
|
||||||
size_t layer_id;
|
size_t layer_id;
|
||||||
// Z coordinate of the top print surface, in unscaled coordinates
|
// Z coordinate of the top print surface, in unscaled coordinates
|
||||||
coordf_t z;
|
double z;
|
||||||
// infill / perimeter overlap, in unscaled coordinates
|
// infill / perimeter overlap, in unscaled coordinates
|
||||||
coordf_t overlap;
|
double overlap;
|
||||||
ExPolygons no_overlap_expolygons;
|
ExPolygons no_overlap_expolygons;
|
||||||
// in radians, ccw, 0 = East
|
// in radians, ccw, 0 = East
|
||||||
float angle;
|
float angle;
|
||||||
|
@ -46,7 +46,10 @@ namespace Slic3r {
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
Surface surfaceNoOverlap(srf_source);
|
Surface surfaceNoOverlap(srf_source);
|
||||||
for (const ExPolygon &poly : this->no_overlap_expolygons) {
|
//use half overlap instead of none.
|
||||||
|
ExPolygons half_overlap = offset_ex(this->no_overlap_expolygons, scale_(this->overlap / 2));
|
||||||
|
half_overlap = intersection_ex({ srf_source.expolygon }, half_overlap);
|
||||||
|
for (const ExPolygon &poly : half_overlap) {
|
||||||
if (poly.empty()) continue;
|
if (poly.empty()) continue;
|
||||||
surfaceNoOverlap.expolygon = poly;
|
surfaceNoOverlap.expolygon = poly;
|
||||||
this->fill_expolygon(idx, *eec, surfaceNoOverlap, params_modifided, volume);
|
this->fill_expolygon(idx, *eec, surfaceNoOverlap, params_modifided, volume);
|
||||||
|
@ -15,7 +15,7 @@ public:
|
|||||||
anglePass[0] = 0;
|
anglePass[0] = 0;
|
||||||
anglePass[1] = float(M_PI/2);
|
anglePass[1] = float(M_PI/2);
|
||||||
anglePass[2] = 0;
|
anglePass[2] = 0;
|
||||||
fillPattern[0] = InfillPattern::ipRectilinearWGapFill;
|
fillPattern[0] = InfillPattern::ipMonotonicWGapFill;//ipRectilinearWGapFill;
|
||||||
fillPattern[1] = InfillPattern::ipRectilinear;
|
fillPattern[1] = InfillPattern::ipRectilinear;
|
||||||
fillPattern[2] = InfillPattern::ipRectilinear;
|
fillPattern[2] = InfillPattern::ipRectilinear;
|
||||||
rolePass[0] = erNone;// erTopSolidInfill;
|
rolePass[0] = erNone;// erTopSolidInfill;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user