Improvement in handling of the custom bridging angle value.
In case the bridge is only supported at one side, it is technically not considered to be a support, therefore the default infill angle is used. With this change, the bridging areas use the custom angle value even if not supported on both sides.
This commit is contained in:
parent
5f66a2d181
commit
c1b7d987a0
@ -258,13 +258,18 @@ void LayerRegion::process_external_surfaces(const Layer* lower_layer)
|
|||||||
#ifdef SLIC3R_DEBUG
|
#ifdef SLIC3R_DEBUG
|
||||||
printf("Processing bridge at layer " PRINTF_ZU ":\n", this->layer()->id());
|
printf("Processing bridge at layer " PRINTF_ZU ":\n", this->layer()->id());
|
||||||
#endif
|
#endif
|
||||||
if (bd.detect_angle(Geometry::deg2rad(this->region()->config().bridge_angle.value))) {
|
double custom_angle = Geometry::deg2rad(this->region()->config().bridge_angle.value);
|
||||||
|
if (bd.detect_angle(custom_angle)) {
|
||||||
bridges[idx_last].bridge_angle = bd.angle;
|
bridges[idx_last].bridge_angle = bd.angle;
|
||||||
if (this->layer()->object()->config().support_material) {
|
if (this->layer()->object()->config().support_material) {
|
||||||
polygons_append(this->bridged, bd.coverage());
|
polygons_append(this->bridged, bd.coverage());
|
||||||
this->unsupported_bridge_edges.append(bd.unsupported_edges());
|
this->unsupported_bridge_edges.append(bd.unsupported_edges());
|
||||||
}
|
}
|
||||||
}
|
} else if (custom_angle > 0) {
|
||||||
|
// Bridge was not detected (likely it is only supported at one side). Still it is a surface filled in
|
||||||
|
// using a bridging flow, therefore it makes sense to respect the custom bridging direction.
|
||||||
|
bridges[idx_last].bridge_angle = custom_angle;
|
||||||
|
}
|
||||||
// without safety offset, artifacts are generated (GH #2494)
|
// without safety offset, artifacts are generated (GH #2494)
|
||||||
surfaces_append(bottom, union_ex(grown, true), bridges[idx_last]);
|
surfaces_append(bottom, union_ex(grown, true), bridges[idx_last]);
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
namespace ClipperLib { class Polygon; }
|
namespace ClipperLib { struct Polygon; }
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user