Merge branch 'BryanSmithDev-master'
This commit is contained in:
commit
fa591a80d1
@ -975,6 +975,9 @@ void GCode::_do_export(Print &print, FILE *file)
|
|||||||
_writeln(file, GCodeTimeEstimator::Silent_First_M73_Output_Placeholder_Tag);
|
_writeln(file, GCodeTimeEstimator::Silent_First_M73_Output_Placeholder_Tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Hold total number of print toolchanges. Check for negative toolchanges (single extruder mode) and set to 0 (no tool change).
|
||||||
|
int total_toolchanges = std::max(0, print.wipe_tower_data().number_of_toolchanges);
|
||||||
|
|
||||||
// Prepare the helper object for replacing placeholders in custom G-code and output filename.
|
// Prepare the helper object for replacing placeholders in custom G-code and output filename.
|
||||||
m_placeholder_parser = print.placeholder_parser();
|
m_placeholder_parser = print.placeholder_parser();
|
||||||
m_placeholder_parser.update_timestamp();
|
m_placeholder_parser.update_timestamp();
|
||||||
@ -1037,6 +1040,7 @@ void GCode::_do_export(Print &print, FILE *file)
|
|||||||
// For the start / end G-code to do the priming and final filament pull in case there is no wipe tower provided.
|
// For the start / end G-code to do the priming and final filament pull in case there is no wipe tower provided.
|
||||||
m_placeholder_parser.set("has_wipe_tower", has_wipe_tower);
|
m_placeholder_parser.set("has_wipe_tower", has_wipe_tower);
|
||||||
m_placeholder_parser.set("has_single_extruder_multi_material_priming", has_wipe_tower && print.config().single_extruder_multi_material_priming);
|
m_placeholder_parser.set("has_single_extruder_multi_material_priming", has_wipe_tower && print.config().single_extruder_multi_material_priming);
|
||||||
|
m_placeholder_parser.set("total_toolchanges", total_toolchanges);
|
||||||
std::string start_gcode = this->placeholder_parser_process("start_gcode", print.config().start_gcode.value, initial_extruder_id);
|
std::string start_gcode = this->placeholder_parser_process("start_gcode", print.config().start_gcode.value, initial_extruder_id);
|
||||||
// Set bed temperature if the start G-code does not contain any bed temp control G-codes.
|
// Set bed temperature if the start G-code does not contain any bed temp control G-codes.
|
||||||
this->_print_first_layer_bed_temperature(file, print, start_gcode, initial_extruder_id, true);
|
this->_print_first_layer_bed_temperature(file, print, start_gcode, initial_extruder_id, true);
|
||||||
@ -1287,7 +1291,7 @@ void GCode::_do_export(Print &print, FILE *file)
|
|||||||
print.m_print_statistics.estimated_normal_color_print_times = m_normal_time_estimator.get_color_times_dhms(true);
|
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(true);
|
print.m_print_statistics.estimated_silent_color_print_times = m_silent_time_estimator.get_color_times_dhms(true);
|
||||||
|
print.m_print_statistics.total_toolchanges = total_toolchanges;
|
||||||
std::vector<Extruder> extruders = m_writer.extruders();
|
std::vector<Extruder> extruders = m_writer.extruders();
|
||||||
if (! extruders.empty()) {
|
if (! extruders.empty()) {
|
||||||
std::pair<std::string, unsigned int> out_filament_used_mm ("; filament used [mm] = ", 0);
|
std::pair<std::string, unsigned int> out_filament_used_mm ("; filament used [mm] = ", 0);
|
||||||
@ -1337,6 +1341,8 @@ void GCode::_do_export(Print &print, FILE *file)
|
|||||||
}
|
}
|
||||||
_write_format(file, "; total filament used [g] = %.1lf\n", print.m_print_statistics.total_weight);
|
_write_format(file, "; total filament used [g] = %.1lf\n", print.m_print_statistics.total_weight);
|
||||||
_write_format(file, "; total filament cost = %.1lf\n", print.m_print_statistics.total_cost);
|
_write_format(file, "; total filament cost = %.1lf\n", print.m_print_statistics.total_cost);
|
||||||
|
if (print.m_print_statistics.total_toolchanges > 0)
|
||||||
|
_write_format(file, "; total toolchanges = %i\n", print.m_print_statistics.total_toolchanges);
|
||||||
_write_format(file, "; estimated printing time (normal mode) = %s\n", m_normal_time_estimator.get_time_dhms().c_str());
|
_write_format(file, "; estimated printing time (normal mode) = %s\n", m_normal_time_estimator.get_time_dhms().c_str());
|
||||||
if (m_silent_time_estimator_enabled)
|
if (m_silent_time_estimator_enabled)
|
||||||
_write_format(file, "; estimated printing time (silent mode) = %s\n", m_silent_time_estimator.get_time_dhms().c_str());
|
_write_format(file, "; estimated printing time (silent mode) = %s\n", m_silent_time_estimator.get_time_dhms().c_str());
|
||||||
|
@ -2056,6 +2056,7 @@ DynamicConfig PrintStatistics::config() const
|
|||||||
config.set_key_value("used_filament", new ConfigOptionFloat (this->total_used_filament / 1000.));
|
config.set_key_value("used_filament", new ConfigOptionFloat (this->total_used_filament / 1000.));
|
||||||
config.set_key_value("extruded_volume", new ConfigOptionFloat (this->total_extruded_volume));
|
config.set_key_value("extruded_volume", new ConfigOptionFloat (this->total_extruded_volume));
|
||||||
config.set_key_value("total_cost", new ConfigOptionFloat (this->total_cost));
|
config.set_key_value("total_cost", new ConfigOptionFloat (this->total_cost));
|
||||||
|
config.set_key_value("total_toolchanges", new ConfigOptionInt(this->total_toolchanges));
|
||||||
config.set_key_value("total_weight", new ConfigOptionFloat (this->total_weight));
|
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_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("total_wipe_tower_filament", new ConfigOptionFloat (this->total_wipe_tower_filament));
|
||||||
@ -2068,7 +2069,7 @@ DynamicConfig PrintStatistics::placeholders()
|
|||||||
for (const std::string &key : {
|
for (const std::string &key : {
|
||||||
"print_time", "normal_print_time", "silent_print_time",
|
"print_time", "normal_print_time", "silent_print_time",
|
||||||
"used_filament", "extruded_volume", "total_cost", "total_weight",
|
"used_filament", "extruded_volume", "total_cost", "total_weight",
|
||||||
"total_wipe_tower_cost", "total_wipe_tower_filament"})
|
"total_toolchanges", "total_wipe_tower_cost", "total_wipe_tower_filament"})
|
||||||
config.set_key_value(key, new ConfigOptionString(std::string("{") + key + "}"));
|
config.set_key_value(key, new ConfigOptionString(std::string("{") + key + "}"));
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
@ -250,6 +250,7 @@ struct PrintStatistics
|
|||||||
double total_used_filament;
|
double total_used_filament;
|
||||||
double total_extruded_volume;
|
double total_extruded_volume;
|
||||||
double total_cost;
|
double total_cost;
|
||||||
|
int total_toolchanges;
|
||||||
double total_weight;
|
double total_weight;
|
||||||
double total_wipe_tower_cost;
|
double total_wipe_tower_cost;
|
||||||
double total_wipe_tower_filament;
|
double total_wipe_tower_filament;
|
||||||
@ -270,6 +271,7 @@ struct PrintStatistics
|
|||||||
total_used_filament = 0.;
|
total_used_filament = 0.;
|
||||||
total_extruded_volume = 0.;
|
total_extruded_volume = 0.;
|
||||||
total_cost = 0.;
|
total_cost = 0.;
|
||||||
|
total_toolchanges = 0;
|
||||||
total_weight = 0.;
|
total_weight = 0.;
|
||||||
total_wipe_tower_cost = 0.;
|
total_wipe_tower_cost = 0.;
|
||||||
total_wipe_tower_filament = 0.;
|
total_wipe_tower_filament = 0.;
|
||||||
|
@ -175,7 +175,7 @@ void ObjectInfo::msw_rescale()
|
|||||||
manifold_warning_icon->SetBitmap(create_scaled_bitmap(nullptr, "exclamation"));
|
manifold_warning_icon->SetBitmap(create_scaled_bitmap(nullptr, "exclamation"));
|
||||||
}
|
}
|
||||||
|
|
||||||
enum SlisedInfoIdx
|
enum SlicedInfoIdx
|
||||||
{
|
{
|
||||||
siFilament_m,
|
siFilament_m,
|
||||||
siFilament_mm3,
|
siFilament_mm3,
|
||||||
@ -192,7 +192,7 @@ class SlicedInfo : public wxStaticBoxSizer
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SlicedInfo(wxWindow *parent);
|
SlicedInfo(wxWindow *parent);
|
||||||
void SetTextAndShow(SlisedInfoIdx idx, const wxString& text, const wxString& new_label="");
|
void SetTextAndShow(SlicedInfoIdx idx, const wxString& text, const wxString& new_label="");
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::vector<std::pair<wxStaticText*, wxStaticText*>> info_vec;
|
std::vector<std::pair<wxStaticText*, wxStaticText*>> info_vec;
|
||||||
@ -230,7 +230,7 @@ SlicedInfo::SlicedInfo(wxWindow *parent) :
|
|||||||
this->Show(false);
|
this->Show(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SlicedInfo::SetTextAndShow(SlisedInfoIdx idx, const wxString& text, const wxString& new_label/*=""*/)
|
void SlicedInfo::SetTextAndShow(SlicedInfoIdx idx, const wxString& text, const wxString& new_label/*=""*/)
|
||||||
{
|
{
|
||||||
const bool show = text != "N/A";
|
const bool show = text != "N/A";
|
||||||
if (show)
|
if (show)
|
||||||
@ -1209,7 +1209,7 @@ void Sidebar::show_sliced_info_sizer(const bool show)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// if there is a wipe tower, insert number of toolchanges info into the array:
|
// if there is a wipe tower, insert number of toolchanges info into the array:
|
||||||
p->sliced_info->SetTextAndShow(siWTNumbetOfToolchanges, is_wipe_tower ? wxString::Format("%.d", p->plater->fff_print().wipe_tower_data().number_of_toolchanges) : "N/A");
|
p->sliced_info->SetTextAndShow(siWTNumbetOfToolchanges, is_wipe_tower ? wxString::Format("%.d", ps.total_toolchanges) : "N/A");
|
||||||
|
|
||||||
// Hide non-FFF sliced info parameters
|
// Hide non-FFF sliced info parameters
|
||||||
p->sliced_info->SetTextAndShow(siMateril_unit, "N/A");
|
p->sliced_info->SetTextAndShow(siMateril_unit, "N/A");
|
||||||
|
Loading…
Reference in New Issue
Block a user