From db1bbc967afd28d263a7490d5949eee7ff79f190 Mon Sep 17 00:00:00 2001 From: "xun.zhang" Date: Fri, 3 Jan 2025 16:25:13 +0800 Subject: [PATCH] FIX: export 3mf fail in creality machine 1. Add place holder support github:#5557,#5614,#5471 Signed-off-by: xun.zhang Change-Id: I65e1d116b7af64ab15c3338f713fc3329b3e877d --- src/libslic3r/GCode.cpp | 1 + src/libslic3r/Print.cpp | 3 ++- src/libslic3r/Print.hpp | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index d0684071a..c9cea8f83 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2329,6 +2329,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato m_writer.extruders(), // Modifies print.m_print_statistics)); + print.m_print_statistics.initial_tool = initial_extruder_id; bool activate_air_filtration = false; for (const auto& extruder : m_writer.extruders()) diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 2202987b8..b3ef12e61 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -2557,6 +2557,7 @@ DynamicConfig PrintStatistics::config() const config.set_key_value("total_weight", new ConfigOptionFloat(this->total_weight)); config.set_key_value("total_wipe_tower_cost", new ConfigOptionFloat(this->total_wipe_tower_cost)); config.set_key_value("total_wipe_tower_filament", new ConfigOptionFloat(this->total_wipe_tower_filament)); + config.set_key_value("initial_tool", new ConfigOptionInt(static_cast(this->initial_tool))); return config; } @@ -2566,7 +2567,7 @@ DynamicConfig PrintStatistics::placeholders() for (const std::string &key : { "print_time", "normal_print_time", "silent_print_time", "used_filament", "extruded_volume", "total_cost", "total_weight", - "total_toolchanges", "total_wipe_tower_cost", "total_wipe_tower_filament"}) + "intial_tool", "total_toolchanges", "total_wipe_tower_cost", "total_wipe_tower_filament"}) config.set_key_value(key, new ConfigOptionString(std::string("{") + key + "}")); return config; } diff --git a/src/libslic3r/Print.hpp b/src/libslic3r/Print.hpp index 2d5168e36..0d2651cef 100644 --- a/src/libslic3r/Print.hpp +++ b/src/libslic3r/Print.hpp @@ -654,6 +654,7 @@ struct PrintStatistics double total_weight; double total_wipe_tower_cost; double total_wipe_tower_filament; + unsigned int initial_tool; std::map filament_stats; // Config with the filled in print statistics. @@ -671,6 +672,7 @@ struct PrintStatistics total_weight = 0.; total_wipe_tower_cost = 0.; total_wipe_tower_filament = 0.; + initial_tool = 0; filament_stats.clear(); } };