From a827f9358b53793688dc9e66148ff93b1cef0748 Mon Sep 17 00:00:00 2001 From: thysson2701 Date: Wed, 22 Jul 2026 14:29:37 +0200 Subject: [PATCH] fix(build): restore KX per-role solid-surface filament selection, Point3 in GCode seam hint --- src/libslic3r/GCode.cpp | 4 ++-- src/libslic3r/GCode/ToolOrdering.cpp | 16 +++++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index e44ae633977..5f341cf7e6f 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -10175,8 +10175,8 @@ std::optional GCode::texture_mapping_seam_hiding_hint(const const float max_local_edge_tangent_delta_mm = std::max(0.75f, base_outer_width_mm * 1.5f); const float max_local_edge_normal_delta_mm = std::max(1.25f, base_outer_width_mm * 3.f + 2.f * max_allowed_distance_mm); - const Point &a = points[segment_index - 1]; - const Point &b = points[segment_index]; + const Point3 &a = points[segment_index - 1]; + const Point3 &b = points[segment_index]; const double ax = double(a.x()); const double ay = double(a.y()); const double bx = double(b.x()); diff --git a/src/libslic3r/GCode/ToolOrdering.cpp b/src/libslic3r/GCode/ToolOrdering.cpp index aae5cc3bd7e..b32e4233e13 100644 --- a/src/libslic3r/GCode/ToolOrdering.cpp +++ b/src/libslic3r/GCode/ToolOrdering.cpp @@ -870,7 +870,9 @@ void ToolOrdering::collect_extruders(const PrintObject &object, const std::vecto } bool has_infill = false; - bool has_solid_infill = false; + bool has_internal_solid = false; + bool has_top_solid_surface = false; + bool has_bottom_surface = false; bool has_texture_override_fill = false; bool something_nonoverriddable = false; for (const ExtrusionEntity *ee : layerm->fills.entities) { @@ -909,14 +911,18 @@ void ToolOrdering::collect_extruders(const PrintObject &object, const std::vecto if (something_nonoverriddable || !m_print_config_ptr) { if (extruder_override == 0) { - if (has_solid_infill) - append_layer_filament(region.config().internal_solid_filament_id); + if (has_internal_solid) + append_layer_filament(region.config().internal_solid_filament_id); + if (has_top_solid_surface) + append_layer_filament(region.config().top_surface_filament_id); + if (has_bottom_surface) + append_layer_filament(region.config().bottom_surface_filament_id); if (has_infill) append_layer_filament(region.config().sparse_infill_filament_id); - } else if (has_solid_infill || has_infill) + } else if (has_internal_solid || has_top_solid_surface || has_bottom_surface || has_infill) append_layer_filament(extruder_override); } - if (has_solid_infill || has_infill || has_texture_override_fill) + if (has_internal_solid || has_top_solid_surface || has_bottom_surface || has_infill || has_texture_override_fill) layer_tools.has_object = true; } layerCount++;