update libslic3r

This commit is contained in:
QIDI TECH
2025-07-08 20:00:47 +08:00
parent bafe693d0a
commit e0d447172c
64 changed files with 2958 additions and 712 deletions

View File

@@ -768,7 +768,10 @@ static ExPolygons make_brim_ears(const PrintObject* object, const double& flowWi
const Point &center_offset = object->center_offset();
model_trsf = model_trsf.pretranslate(Vec3d(- unscale<double>(center_offset.x()), - unscale<double>(center_offset.y()), 0));
for (auto &pt : brim_ear_points) {
Vec3f world_pos = pt.transform(trsf.get_matrix());
Transform3d v_trsf = Transform3d::Identity();
if (pt.volume_idx > -1)
v_trsf = object->model_object()->volumes[pt.volume_idx]->get_matrix();
Vec3f world_pos = pt.transform(trsf.get_matrix() * v_trsf);
if ( world_pos.z() > 0) continue;
Polygon point_round;
float brim_width = floor(scale_(pt.head_front_radius) / flowWidth / 2) * flowWidth * 2;
@@ -783,7 +786,7 @@ static ExPolygons make_brim_ears(const PrintObject* object, const double& flowWi
}
mouse_ears_ex.emplace_back();
mouse_ears_ex.back().contour = point_round;
Vec3f pos = pt.transform(model_trsf);
Vec3f pos = pt.transform(model_trsf * v_trsf);
int32_t pt_x = scale_(pos.x());
int32_t pt_y = scale_(pos.y());
mouse_ears_ex.back().contour.translate(Point(pt_x, pt_y));
@@ -1020,6 +1023,11 @@ static ExPolygons outer_inner_brim_area(const Print& print,
if (brimAreaMap.find(object->id()) != brimAreaMap.end())
expolygons_append(brim_area, brimAreaMap[object->id()]);
}
if (!object->support_layers().empty() && object->support_layers().front()->print_z < print.config().initial_layer_print_height + EPSILON &&
!object->support_layers().front()->support_islands.empty())
brim_area_support = offset_ex(object->support_layers().front()->support_islands, brim_width);
support_material_extruder = object->config().support_filament;
if (support_material_extruder == 0 && object->has_support_material()) {
if (print.config().print_sequence == PrintSequence::ByObject)
@@ -1136,6 +1144,8 @@ static ExPolygons outer_inner_brim_area(const Print& print,
brim_area.push_back(tempAreas[index]);
}
}
if (supportBrimAreaMap.find(object->id()) != supportBrimAreaMap.end())
append(brim_area, supportBrimAreaMap[object->id()]);
}
return brim_area;
}