Experiment: Added a rectilinear monotonic infill without perimeter
connection lines for top / bottom infill patterns. Co-authored-by: lane.wei <lane.wei@bambulab.com>
This commit is contained in:
parent
fdd3675322
commit
a7a54f9386
6 changed files with 42 additions and 18 deletions
src/libslic3r/Fill
|
@ -113,6 +113,11 @@ struct SurfaceFill {
|
|||
SurfaceFillParams params;
|
||||
};
|
||||
|
||||
static inline bool fill_type_monotonic(InfillPattern pattern)
|
||||
{
|
||||
return pattern == ipMonotonic || pattern == ipMonotonicLines;
|
||||
}
|
||||
|
||||
std::vector<SurfaceFill> group_fills(const Layer &layer)
|
||||
{
|
||||
std::vector<SurfaceFill> surface_fills;
|
||||
|
@ -141,7 +146,7 @@ std::vector<SurfaceFill> group_fills(const Layer &layer)
|
|||
//FIXME for non-thick bridges, shall we allow a bottom surface pattern?
|
||||
params.pattern = (surface.is_external() && ! is_bridge) ?
|
||||
(surface.is_top() ? region_config.top_fill_pattern.value : region_config.bottom_fill_pattern.value) :
|
||||
region_config.top_fill_pattern == ipMonotonic ? ipMonotonic : ipRectilinear;
|
||||
fill_type_monotonic(region_config.top_fill_pattern) ? ipMonotonic : ipRectilinear;
|
||||
} else if (params.density <= 0)
|
||||
continue;
|
||||
|
||||
|
@ -284,7 +289,7 @@ std::vector<SurfaceFill> group_fills(const Layer &layer)
|
|||
if (internal_solid_fill == nullptr) {
|
||||
// Produce another solid fill.
|
||||
params.extruder = layerm.region().extruder(frSolidInfill);
|
||||
params.pattern = layerm.region().config().top_fill_pattern == ipMonotonic ? ipMonotonic : ipRectilinear;
|
||||
params.pattern = fill_type_monotonic(layerm.region().config().top_fill_pattern) ? ipMonotonic : ipRectilinear;
|
||||
params.density = 100.f;
|
||||
params.extrusion_role = erInternalInfill;
|
||||
params.angle = float(Geometry::deg2rad(layerm.region().config().fill_angle.value));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue