From 7d3e176a58c19de43f4a28248b51ed5491903069 Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Tue, 20 Jul 2021 09:38:35 +0200 Subject: [PATCH] GCodeViewer -> Fixed loading of machine limits data from config contained into gcode files --- src/libslic3r/GCode/GCodeProcessor.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/GCode/GCodeProcessor.cpp b/src/libslic3r/GCode/GCodeProcessor.cpp index de8852c927..b244047258 100644 --- a/src/libslic3r/GCode/GCodeProcessor.cpp +++ b/src/libslic3r/GCode/GCodeProcessor.cpp @@ -1087,7 +1087,12 @@ void GCodeProcessor::apply_config(const DynamicPrintConfig& config) } } - if (m_flavor == gcfMarlinLegacy || m_flavor == gcfMarlinFirmware) { + bool use_machine_limits = false; + const ConfigOptionEnum* machine_limits_usage = config.option>("machine_limits_usage"); + if (machine_limits_usage != nullptr) + use_machine_limits = machine_limits_usage->value != MachineLimitsUsage::Ignore; + + if (use_machine_limits && (m_flavor == gcfMarlinLegacy || m_flavor == gcfMarlinFirmware)) { const ConfigOptionFloats* machine_max_acceleration_x = config.option("machine_max_acceleration_x"); if (machine_max_acceleration_x != nullptr) m_time_processor.machine_limits.machine_max_acceleration_x.values = machine_max_acceleration_x->values; @@ -1171,8 +1176,13 @@ void GCodeProcessor::apply_config(const DynamicPrintConfig& config) m_time_processor.machines[i].travel_acceleration = (max_travel_acceleration > 0.0f) ? max_travel_acceleration : DEFAULT_TRAVEL_ACCELERATION; } - if (m_time_processor.machine_limits.machine_max_acceleration_x.values.size() > 1) - enable_stealth_time_estimator(true); + if (m_flavor == gcfMarlinLegacy || m_flavor == gcfMarlinFirmware) { + const ConfigOptionBool* silent_mode = config.option("silent_mode"); + if (silent_mode != nullptr) { + if (silent_mode->value && m_time_processor.machine_limits.machine_max_acceleration_x.values.size() > 1) + enable_stealth_time_estimator(true); + } + } const ConfigOptionBool* use_volumetric_e = config.option("use_volumetric_e"); if (use_volumetric_e != nullptr)