mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-07 23:17:35 -06:00
ENH: auto adapt distance in arrangement
JIRA: STUDIO-4408 1. if min_obj_distance is 0, use auto mode 2. normal support, 5mm gap, tree support, 22mm gap, no support, 0.1mm gap Change-Id: I906ccf267bef1f33a946572614d658fd50cfcda3 (cherry picked from commit 3c65150434c9938442b0c8d7995f21bb5e50db89)
This commit is contained in:
parent
6574a0fec4
commit
b9cc020fea
5 changed files with 14 additions and 10 deletions
|
@ -103,7 +103,7 @@ void update_selected_items_inflation(ArrangePolygons& selected, const DynamicPri
|
|||
Points bedpts = get_shrink_bedpts(print_cfg, params);
|
||||
BoundingBox bedbb = Polygon(bedpts).bounding_box();
|
||||
std::for_each(selected.begin(), selected.end(), [&](ArrangePolygon& ap) {
|
||||
ap.inflation = std::max(scaled(ap.brim_width), params.min_obj_distance / 2);
|
||||
ap.inflation = params.min_obj_distance == 0 ? scaled(ap.brim_width) : params.min_obj_distance / 2;
|
||||
BoundingBox apbb = ap.poly.contour.bounding_box();
|
||||
auto diffx = bedbb.size().x() - apbb.size().x() - 5;
|
||||
auto diffy = bedbb.size().y() - apbb.size().y() - 5;
|
||||
|
@ -130,7 +130,7 @@ void update_unselected_items_inflation(ArrangePolygons& unselected, const Dynami
|
|||
// 其他物体的膨胀轮廓是可以跟它们重叠的。
|
||||
double scaled_exclusion_gap = scale_(1);
|
||||
std::for_each(unselected.begin(), unselected.end(),
|
||||
[&](auto& ap) { ap.inflation = !ap.is_virt_object ? std::max(scaled(ap.brim_width), params.min_obj_distance / 2)
|
||||
[&](auto& ap) { ap.inflation = !ap.is_virt_object ? (params.min_obj_distance == 0 ? scaled(ap.brim_width) : params.min_obj_distance / 2)
|
||||
: (ap.is_extrusion_cali_object ? 0 : scaled_exclusion_gap); });
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue