mirror of
https://github.com/QIDITECH/QIDIStudio.git
synced 2026-02-07 04:11:50 +03:00
update libslic3r
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
namespace Slic3r {
|
||||
static const double slope_path_ratio = 0.3;
|
||||
static const double slope_inner_outer_wall_gap = 0.4;
|
||||
static const int overhang_threshold = 1;
|
||||
|
||||
void ExtrusionPath::intersect_expolygons(const ExPolygons &collection, ExtrusionEntityCollection* retval) const
|
||||
{
|
||||
@@ -69,7 +70,8 @@ void ExtrusionPath::polygons_covered_by_spacing(Polygons &out, const float scale
|
||||
//1.9.7.52
|
||||
bool ExtrusionPath::can_merge(const ExtrusionPath& other)
|
||||
{
|
||||
return curve_degree==other.curve_degree &&
|
||||
return overhang_degree == other.overhang_degree &&
|
||||
curve_degree==other.curve_degree &&
|
||||
mm3_per_mm == other.mm3_per_mm &&
|
||||
width == other.width &&
|
||||
height == other.height &&
|
||||
@@ -418,6 +420,17 @@ bool ExtrusionLoop::has_overhang_point(const Point &point) const
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ExtrusionLoop::has_overhang_paths() const
|
||||
{
|
||||
for (const ExtrusionPath &path : this->paths) {
|
||||
if (is_bridge(path.role()))
|
||||
return true;
|
||||
if (path.overhang_degree >= overhang_threshold)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void ExtrusionLoop::polygons_covered_by_width(Polygons &out, const float scaled_epsilon) const
|
||||
{
|
||||
for (const ExtrusionPath &path : this->paths)
|
||||
@@ -607,6 +620,7 @@ std::string ExtrusionEntity::role_to_string(ExtrusionRole role)
|
||||
case erExternalPerimeter : return L("Outer wall");
|
||||
case erOverhangPerimeter : return L("Overhang wall");
|
||||
case erInternalInfill : return L("Sparse infill");
|
||||
case erFloatingVerticalShell : return L("Floating vertical shell");
|
||||
case erSolidInfill : return L("Internal solid infill");
|
||||
case erTopSolidInfill : return L("Top surface");
|
||||
case erBottomSurface : return L("Bottom surface");
|
||||
@@ -637,6 +651,8 @@ ExtrusionRole ExtrusionEntity::string_to_role(const std::string_view role)
|
||||
return erOverhangPerimeter;
|
||||
else if (role == L("Sparse infill"))
|
||||
return erInternalInfill;
|
||||
else if (role == L("Floating vertical shell"))
|
||||
return erFloatingVerticalShell;
|
||||
else if (role == L("Internal solid infill"))
|
||||
return erSolidInfill;
|
||||
else if (role == L("Top surface"))
|
||||
|
||||
Reference in New Issue
Block a user