mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-07-24 23:14:33 +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.
|
||||
size_t layer_id;
|
||||
// Z coordinate of the top print surface, in unscaled coordinates
|
||||
coordf_t z;
|
||||
double z;
|
||||
// infill / perimeter overlap, in unscaled coordinates
|
||||
coordf_t overlap;
|
||||
double overlap;
|
||||
ExPolygons no_overlap_expolygons;
|
||||
// in radians, ccw, 0 = East
|
||||
float angle;
|
||||
|
@ -46,7 +46,10 @@ namespace Slic3r {
|
||||
}
|
||||
else{
|
||||
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;
|
||||
surfaceNoOverlap.expolygon = poly;
|
||||
this->fill_expolygon(idx, *eec, surfaceNoOverlap, params_modifided, volume);
|
||||
|
@ -15,7 +15,7 @@ public:
|
||||
anglePass[0] = 0;
|
||||
anglePass[1] = float(M_PI/2);
|
||||
anglePass[2] = 0;
|
||||
fillPattern[0] = InfillPattern::ipRectilinearWGapFill;
|
||||
fillPattern[0] = InfillPattern::ipMonotonicWGapFill;//ipRectilinearWGapFill;
|
||||
fillPattern[1] = InfillPattern::ipRectilinear;
|
||||
fillPattern[2] = InfillPattern::ipRectilinear;
|
||||
rolePass[0] = erNone;// erTopSolidInfill;
|
||||
|
Loading…
x
Reference in New Issue
Block a user