Added absolute time to estimated time for color print and fixed a bug in showing estimated times for print color for silent mode
This commit is contained in:
parent
28cc595350
commit
c791ba776f
4 changed files with 29 additions and 11 deletions
|
@ -1138,9 +1138,9 @@ void GCode::_do_export(Print &print, FILE *file)
|
||||||
print.m_print_statistics.clear();
|
print.m_print_statistics.clear();
|
||||||
print.m_print_statistics.estimated_normal_print_time = m_normal_time_estimator.get_time_dhms();
|
print.m_print_statistics.estimated_normal_print_time = m_normal_time_estimator.get_time_dhms();
|
||||||
print.m_print_statistics.estimated_silent_print_time = m_silent_time_estimator_enabled ? m_silent_time_estimator.get_time_dhms() : "N/A";
|
print.m_print_statistics.estimated_silent_print_time = m_silent_time_estimator_enabled ? m_silent_time_estimator.get_time_dhms() : "N/A";
|
||||||
print.m_print_statistics.estimated_normal_color_print_times = m_normal_time_estimator.get_color_times_dhms();
|
print.m_print_statistics.estimated_normal_color_print_times = m_normal_time_estimator.get_color_times_dhms(true);
|
||||||
if (m_silent_time_estimator_enabled)
|
if (m_silent_time_estimator_enabled)
|
||||||
print.m_print_statistics.estimated_silent_color_print_times = m_silent_time_estimator.get_color_times_dhms();
|
print.m_print_statistics.estimated_silent_color_print_times = m_silent_time_estimator.get_color_times_dhms(true);
|
||||||
|
|
||||||
std::vector<Extruder> extruders = m_writer.extruders();
|
std::vector<Extruder> extruders = m_writer.extruders();
|
||||||
if (! extruders.empty()) {
|
if (! extruders.empty()) {
|
||||||
|
|
|
@ -694,22 +694,38 @@ namespace Slic3r {
|
||||||
return m_color_times;
|
return m_color_times;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::string> GCodeTimeEstimator::get_color_times_dhms() const
|
std::vector<std::string> GCodeTimeEstimator::get_color_times_dhms(bool include_absolute) const
|
||||||
{
|
{
|
||||||
std::vector<std::string> ret;
|
std::vector<std::string> ret;
|
||||||
|
float total_time = 0.0f;
|
||||||
for (float t : m_color_times)
|
for (float t : m_color_times)
|
||||||
{
|
{
|
||||||
ret.push_back(_get_time_dhms(t));
|
total_time += t;
|
||||||
|
std::string time = "";
|
||||||
|
if (include_absolute)
|
||||||
|
time += _get_time_dhms(total_time) + " (";
|
||||||
|
time += _get_time_dhms(t);
|
||||||
|
if (include_absolute)
|
||||||
|
time += ")";
|
||||||
|
ret.push_back(time);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::string> GCodeTimeEstimator::get_color_times_minutes() const
|
std::vector<std::string> GCodeTimeEstimator::get_color_times_minutes(bool include_absolute) const
|
||||||
{
|
{
|
||||||
std::vector<std::string> ret;
|
std::vector<std::string> ret;
|
||||||
|
float total_time = 0.0f;
|
||||||
for (float t : m_color_times)
|
for (float t : m_color_times)
|
||||||
{
|
{
|
||||||
ret.push_back(_get_time_minutes(t));
|
total_time += t;
|
||||||
|
std::string time = "";
|
||||||
|
if (include_absolute)
|
||||||
|
time += _get_time_minutes(total_time) + " (";
|
||||||
|
time += _get_time_minutes(t);
|
||||||
|
if (include_absolute)
|
||||||
|
time += ")";
|
||||||
|
ret.push_back(time);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -346,14 +346,16 @@ namespace Slic3r {
|
||||||
// Returns the estimated time, in minutes (integer)
|
// Returns the estimated time, in minutes (integer)
|
||||||
std::string get_time_minutes() const;
|
std::string get_time_minutes() const;
|
||||||
|
|
||||||
// Returns the estimated time, in seconds, for each color
|
// Returns the estimated time, in seconds, for each color
|
||||||
std::vector<float> get_color_times() const;
|
std::vector<float> get_color_times() const;
|
||||||
|
|
||||||
// Returns the estimated time, in format DDd HHh MMm SSs, for each color
|
// Returns the estimated time, in format DDd HHh MMm SSs, for each color
|
||||||
std::vector<std::string> get_color_times_dhms() const;
|
// If include_absolute==true the strings will be formatted as: "absolute time (relative time)"
|
||||||
|
std::vector<std::string> get_color_times_dhms(bool include_absolute) const;
|
||||||
|
|
||||||
// Returns the estimated time, in minutes (integer), for each color
|
// Returns the estimated time, in minutes (integer), for each color
|
||||||
std::vector<std::string> get_color_times_minutes() const;
|
// If include_absolute==true the strings will be formatted as: "absolute time (relative time)"
|
||||||
|
std::vector<std::string> get_color_times_minutes(bool include_absolute) const;
|
||||||
|
|
||||||
// Return an estimate of the memory consumed by the time estimator.
|
// Return an estimate of the memory consumed by the time estimator.
|
||||||
size_t memory_used() const;
|
size_t memory_used() const;
|
||||||
|
|
|
@ -1175,10 +1175,10 @@ void Sidebar::show_sliced_info_sizer(const bool show)
|
||||||
if (ps.estimated_silent_print_time != "N/A") {
|
if (ps.estimated_silent_print_time != "N/A") {
|
||||||
new_label += wxString::Format("\n - %s", _(L("stealth mode")));
|
new_label += wxString::Format("\n - %s", _(L("stealth mode")));
|
||||||
info_text += wxString::Format("\n%s", ps.estimated_silent_print_time);
|
info_text += wxString::Format("\n%s", ps.estimated_silent_print_time);
|
||||||
for (int i = (int)ps.estimated_normal_color_print_times.size() - 1; i >= 0; --i)
|
for (int i = (int)ps.estimated_silent_color_print_times.size() - 1; i >= 0; --i)
|
||||||
{
|
{
|
||||||
new_label += wxString::Format("\n - %s%d", _(L("Color ")), i + 1);
|
new_label += wxString::Format("\n - %s%d", _(L("Color ")), i + 1);
|
||||||
info_text += wxString::Format("\n%s", ps.estimated_normal_color_print_times[i]);
|
info_text += wxString::Format("\n%s", ps.estimated_silent_color_print_times[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
p->sliced_info->SetTextAndShow(siEstimatedTime, info_text, new_label);
|
p->sliced_info->SetTextAndShow(siEstimatedTime, info_text, new_label);
|
||||||
|
|
Loading…
Reference in a new issue