fix(build): restore KX per-role solid-surface filament selection, Point3 in GCode seam hint

This commit is contained in:
thysson2701
2026-07-22 14:29:37 +02:00
parent 7595d76158
commit a827f9358b
2 changed files with 13 additions and 7 deletions

View File

@@ -10175,8 +10175,8 @@ std::optional<PreferredSeamPoint> 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());

View File

@@ -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++;