diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp index ed35a74c09..5a3cff9a48 100644 --- a/src/slic3r/GUI/GCodeViewer.cpp +++ b/src/slic3r/GUI/GCodeViewer.cpp @@ -452,6 +452,12 @@ void GCodeViewer::refresh_render_paths() } #endif // ENABLE_RENDER_PATH_REFRESH_AFTER_OPTIONS_CHANGE +void GCodeViewer::update_shells_color_by_extruder(const DynamicPrintConfig* config) +{ + if (config != nullptr) + m_shells.volumes.update_colors_by_extruder(config); +} + void GCodeViewer::reset() { m_initialized = false; diff --git a/src/slic3r/GUI/GCodeViewer.hpp b/src/slic3r/GUI/GCodeViewer.hpp index 2c769b2c82..8a3f620153 100644 --- a/src/slic3r/GUI/GCodeViewer.hpp +++ b/src/slic3r/GUI/GCodeViewer.hpp @@ -472,6 +472,7 @@ public: #if ENABLE_RENDER_PATH_REFRESH_AFTER_OPTIONS_CHANGE void refresh_render_paths(); #endif // ENABLE_RENDER_PATH_REFRESH_AFTER_OPTIONS_CHANGE + void update_shells_color_by_extruder(const DynamicPrintConfig* config); void reset(); void render() const; diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 14892d678b..ac13ec4394 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2288,8 +2288,11 @@ static void reserve_new_volume_finalize_old_volume(GLVolume& vol_new, GLVolume& void GLCanvas3D::load_gcode_preview(const GCodeProcessor::Result& gcode_result) { m_gcode_viewer.load(gcode_result, *this->fff_print(), m_initialized); - if (wxGetApp().is_editor()) + + if (wxGetApp().is_editor()) { + m_gcode_viewer.update_shells_color_by_extruder(m_config); _show_warning_texture_if_needed(WarningTexture::ToolpathOutside); + } } void GLCanvas3D::refresh_gcode_preview(const GCodeProcessor::Result& gcode_result, const std::vector& str_tool_colors)