Corrected nozzle size and extruder part above nozzle.

This commit is contained in:
surynek 2024-10-23 21:00:08 +02:00 committed by Lukas Matena
parent 46d0d60df9
commit 847dc52a24
3 changed files with 25 additions and 16 deletions

View File

@ -135,10 +135,10 @@ const std::vector<Slic3r::Polygon> SEQ_UNREACHABLE_POLYGON_NOZZLE_LEVEL_MK4 =
const std::vector<Slic3r::Polygon> SEQ_UNREACHABLE_POLYGON_EXTRUDER_LEVEL_MK4 =
{
{ /* fan - hand tailored */
{ -1000000, -21000000},
{ -10000000, -21000000},
{ 37000000, -21000000},
{ 37000000, 44000000},
{ -1000000, 44000000}
{ -10000000, 44000000}
/* fan - original from decimator
{ 87952801, 3665480},
@ -148,14 +148,14 @@ const std::vector<Slic3r::Polygon> SEQ_UNREACHABLE_POLYGON_EXTRUDER_LEVEL_MK4 =
{ 107889619, 2905295},
{ 102396166, 55454515},
{ 101386126, 58737097},
{ 93053422, 62777197},
{ 87447788, 59999636},
{ 70782970, 28440457},
{ 93 053 422, 62777197},
{ 87 447 788, 59999636},
{ 70 782 970, 28440457},
// nozzle
{ -29076068, 18872356},
{ -29001876, 18872356},
{ -29001876, 18952646},
{ -29 076 068, 18 872 356},
{ -29 001 876, 18 872 356},
{ -29 001 876, 18 952 646},
{ -29076068, 18952646},
*/
@ -956,6 +956,11 @@ std::vector<std::vector<Slic3r::Polygon> > simplify_UnreachableZonePolygons(cons
{
if (check_PolygonConsumation(unreachable_polygons[i], unreachable_polygons[j]))
{
#ifdef DEBUG
{
printf("Consumed: %d vs %d\n", i, j);
}
#endif
consumed = true;
break;
}
@ -963,7 +968,7 @@ std::vector<std::vector<Slic3r::Polygon> > simplify_UnreachableZonePolygons(cons
}
}
if (!consumed)
{
{
simplified_unreachable_polygons.push_back(unreachable_polygons[i]);
}
}

View File

@ -193,12 +193,15 @@ void prepare_UnreachableZonePolygons(const SolverConfiguration
const std::vector<std::vector<Slic3r::Polygon> > &extruder_box_level_polygons,
std::vector<Slic3r::Polygon> &unreachable_polygons);
bool check_PolygonSize(const SolverConfiguration &solver_configuration, const Slic3r::Polygon &polygon);
bool check_PolygonSize(const SolverConfiguration &solver_configuration, coord_t scale_factor, const Slic3r::Polygon &polygon);
void simplify_ConvexUnreachablePolygons(const std::vector<std::vector<Slic3r::Polygon> > &unreachable_convex_polygons,
std::vector<Slic3r::Polygon> &simplified_unreachable_polygons);
bool check_PolygonSizeFitToPlate(const SolverConfiguration &solver_configuration, const Slic3r::Polygon &polygon);
bool check_PolygonSizeFitToPlate(const SolverConfiguration &solver_configuration, coord_t scale_factor, const Slic3r::Polygon &polygon);
/*----------------------------------------------------------------*/
bool check_PolygonConsumation(const std::vector<Slic3r::Polygon> &polygons, const std::vector<Slic3r::Polygon> &consumer_polygons);
std::vector<std::vector<Slic3r::Polygon> > simplify_UnreachableZonePolygons(const std::vector<std::vector<Slic3r::Polygon> > &unreachable_polygons);
void glue_LowObjects(std::vector<SolvableObject> &solvable_ojects);
@ -206,6 +209,7 @@ void glue_LowObjects(std::vector<SolvableObject> &solvable_ojects);
double calc_PolygonArea(const Slic3r::Polygon &polygon);
double calc_PolygonUnreachableZoneArea(const std::vector<Slic3r::Polygon> &unreachable_polygons);
double calc_PolygonUnreachableZoneArea(const Slic3r::Polygon &polygon,
const std::vector<Slic3r::Polygon> &unreachable_polygons);

View File

@ -25,8 +25,8 @@ static Sequential::PrinterGeometry get_printer_geometry() {
// Just hardcode MK4 geometry for now.
std::vector<ExtruderSlice> slices;
slices.push_back(ExtruderSlice{ 0, CONVEX, { { { -500000, -500000 }, { 500000, -500000 }, { 500000, 500000 }, { -500000, 500000 } } } });
slices.push_back(ExtruderSlice{ 3000000, CONVEX, { { { -1000000, -21000000 }, { 37000000, -21000000 }, { 37000000, 44000000 }, { -1000000, 44000000 } },
slices.push_back(ExtruderSlice{ 0, CONVEX, { { { -5000000, -5000000 }, { 5000000, -5000000 }, { 5000000, 5000000 }, { -5000000, 5000000 } } } });
slices.push_back(ExtruderSlice{ 3000000, CONVEX, { { { -10000000, -21000000 }, { 37000000, -21000000 }, { 37000000, 44000000 }, { -10000000, 44000000 } },
{ { -40000000, -45000000 }, { 38000000, -45000000 }, { 38000000, 20000000 }, { -40000000, 20000000 } } } });
slices.push_back(ExtruderSlice{ 11000000, BOX, { { {-350000000, -23000000 }, {350000000, -23000000 }, {350000000, -35000000 }, {-350000000, -35000000 } } } });
slices.push_back(ExtruderSlice{ 13000000, BOX, { { { -12000000, -350000000 }, { 9000000, -350000000 }, { 9000000, -39000000 }, { -12000000, -39000000 } },