mirror of
https://github.com/QIDITECH/QIDIStudio.git
synced 2026-02-07 12:21:50 +03:00
update libslic3r
This commit is contained in:
@@ -768,7 +768,10 @@ static ExPolygons make_brim_ears(const PrintObject* object, const double& flowWi
|
||||
const Point ¢er_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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user