From 67518cb48becd19d02d2db67d4743be48e59c674 Mon Sep 17 00:00:00 2001 From: Boris Samorodov Date: Mon, 15 Sep 2025 12:17:43 +0200 Subject: [PATCH 1/2] Add Rectilinear Support for Normal support type. Fix issue #9508. --- src/libslic3r/Support/SupportCommon.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/Support/SupportCommon.cpp b/src/libslic3r/Support/SupportCommon.cpp index 0de4067770..a4b4750e4e 100644 --- a/src/libslic3r/Support/SupportCommon.cpp +++ b/src/libslic3r/Support/SupportCommon.cpp @@ -1655,8 +1655,10 @@ void generate_support_toolpaths( { SupportLayer &support_layer = *support_layers[support_layer_id]; LayerCache &layer_cache = layer_caches[support_layer_id]; - const float support_interface_angle = (support_params.support_style == smsGrid || config.support_interface_pattern == smipRectilinear) ? - support_params.interface_angle : support_params.raft_interface_angle(support_layer.interface_id()); + const float support_interface_angle = (config.support_interface_pattern == smipRectilinearInterlaced) ? + (support_params.interface_angle + (support_layer.interface_id() & 1) * float(M_PI / 2.)) : + ((support_params.support_style == smsGrid || config.support_interface_pattern == smipRectilinear) ? + support_params.interface_angle : support_params.raft_interface_angle(support_layer.interface_id())); // Find polygons with the same print_z. SupportGeneratorLayerExtruded &bottom_contact_layer = layer_cache.bottom_contact_layer; From 5d0a041807ee9e3d5df748603d8f7a6167dcc520 Mon Sep 17 00:00:00 2001 From: Boris Samorodov Date: Mon, 15 Sep 2025 21:25:10 +0200 Subject: [PATCH 2/2] Remove duplicate the rotation logic, use raft_interface_angle function. --- src/libslic3r/Support/SupportCommon.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libslic3r/Support/SupportCommon.cpp b/src/libslic3r/Support/SupportCommon.cpp index a4b4750e4e..39afa8db43 100644 --- a/src/libslic3r/Support/SupportCommon.cpp +++ b/src/libslic3r/Support/SupportCommon.cpp @@ -1656,7 +1656,7 @@ void generate_support_toolpaths( SupportLayer &support_layer = *support_layers[support_layer_id]; LayerCache &layer_cache = layer_caches[support_layer_id]; const float support_interface_angle = (config.support_interface_pattern == smipRectilinearInterlaced) ? - (support_params.interface_angle + (support_layer.interface_id() & 1) * float(M_PI / 2.)) : + support_params.raft_interface_angle(support_layer.interface_id()) : ((support_params.support_style == smsGrid || config.support_interface_pattern == smipRectilinear) ? support_params.interface_angle : support_params.raft_interface_angle(support_layer.interface_id()));