New feature: show auto calibration marks on bed for X1/X1C printers

#88
This commit is contained in:
SoftFever 2023-04-02 11:09:05 +08:00
parent c68fa18caf
commit bf556a0272
10 changed files with 385 additions and 23 deletions

View file

@ -806,9 +806,8 @@ static std::vector<std::string> s_Preset_printer_options {
"host_type", "print_host", "printhost_apikey",
"print_host_webui",
"printhost_cafile","printhost_port","printhost_authorization_type",
"printhost_user", "printhost_password", "printhost_ssl_ignore_revoke",
"thumbnails", "use_firmware_retraction", "use_relative_e_distances"
};
"printhost_user", "printhost_password", "printhost_ssl_ignore_revoke", "thumbnails",
"use_firmware_retraction", "use_relative_e_distances", "bbl_calib_mark_logo"};
static std::vector<std::string> s_Preset_sla_print_options {
"layer_height",

View file

@ -2224,7 +2224,7 @@ void PrintConfigDef::init_fff_params()
def->tooltip = L("Volume of nozzle between the cutter and the end of nozzle");
def->sidetext = L("mm³");
def->mode = comAdvanced;
def->readonly = true;
def->readonly = false;
def->set_default_value(new ConfigOptionFloat { 0.0 });
def = this->add("start_end_points", coPoints);
@ -2503,6 +2503,12 @@ void PrintConfigDef::init_fff_params()
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(false));
def = this->add("bbl_calib_mark_logo", coBool);
def->label = L("Show auto-calibration marks");
def->tooltip = "";
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(true));
def = this->add("seam_position", coEnum);
def->label = L("Seam position");
def->category = L("Quality");

View file

@ -881,6 +881,7 @@ PRINT_CONFIG_CLASS_DEFINE(
((ConfigOptionBool, accel_to_decel_enable))
((ConfigOptionPercent, accel_to_decel_factor))
((ConfigOptionFloatOrPercent, initial_layer_travel_speed))
((ConfigOptionBool, bbl_calib_mark_logo))
)

View file

@ -698,7 +698,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
if(gcflavor == gcfKlipper)
toggle_field("accel_to_decel_factor", config->opt_bool("accel_to_decel_enable"));
toggle_field("exclude_object", gcflavor == gcfKlipper);
toggle_line("exclude_object", gcflavor == gcfKlipper);
}

View file

@ -1644,8 +1644,10 @@ void Tab::on_presets_changed()
wxGetApp().plater()->sidebar().update_presets(m_type);
bool is_bbl_vendor_preset = wxGetApp().preset_bundle->printers.get_edited_preset().is_bbl_vendor_preset(wxGetApp().preset_bundle);
auto& printer_cfg = wxGetApp().preset_bundle->printers.get_edited_preset().config;
if (is_bbl_vendor_preset)
wxGetApp().plater()->get_partplate_list().set_render_option(true, true);
wxGetApp().plater()->get_partplate_list().set_render_option(
!printer_cfg.option<ConfigOptionBool>("bbl_calib_mark_logo")->value, true);
else
wxGetApp().plater()->get_partplate_list().set_render_option(false, true);
@ -2818,14 +2820,17 @@ void TabFilament::toggle_options()
m_preset_bundle);
}
if (m_active_page->title() == "Cooling")
{
bool cooling = m_config->opt_bool("slow_down_for_layer_cooling", 0);
toggle_option("slow_down_min_speed", cooling);
if (m_active_page->title() == "Cooling") {
bool cooling = m_config->opt_bool("slow_down_for_layer_cooling", 0);
toggle_option("slow_down_min_speed", cooling);
bool has_enable_overhang_bridge_fan = m_config->opt_bool("enable_overhang_bridge_fan", 0);
for (auto el : { "overhang_fan_speed", "overhang_fan_threshold" })
bool has_enable_overhang_bridge_fan = m_config->opt_bool("enable_overhang_bridge_fan", 0);
for (auto el : {"overhang_fan_speed", "overhang_fan_threshold"})
toggle_option(el, has_enable_overhang_bridge_fan);
toggle_option(
"additional_cooling_fan_speed",
m_preset_bundle->printers.get_edited_preset().config.option<ConfigOptionBool>("auxiliary_fan")->value);
}
if (m_active_page->title() == "Filament")
{
@ -2938,6 +2943,7 @@ void TabPrinter::build_fff()
optgroup->append_single_option_line(option);
// optgroup->append_single_option_line("printable_area");
optgroup->append_single_option_line("printable_height");
optgroup->append_single_option_line("bbl_calib_mark_logo");
optgroup->append_single_option_line("nozzle_volume");
// BBS
#if 0
@ -3603,8 +3609,6 @@ void TabPrinter::toggle_options()
//}
if (m_active_page->title() == "Basic information") {
toggle_option("single_extruder_multi_material", have_multiple_extruders);
// Hide relative extrusion option for BBL printers
toggle_line("use_relative_e_distances", !is_BBL_printer);
auto flavor = m_config->option<ConfigOptionEnum<GCodeFlavor>>("gcode_flavor")->value;
bool is_marlin_flavor = flavor == gcfMarlinLegacy || flavor == gcfMarlinFirmware;
@ -3616,14 +3620,12 @@ void TabPrinter::toggle_options()
// SoftFever: hide BBL specific settings
for (auto el :
{"scan_first_layer", "machine_load_filament_time",
"machine_unload_filament_time", "nozzle_type"})
{"scan_first_layer", "machine_load_filament_time", "machine_unload_filament_time", "nozzle_type", "bbl_calib_mark_logo"})
toggle_line(el, is_BBL_printer);
// SoftFever: hide non-BBL settings
for (auto el :
{ "use_firmware_retraction" })
toggle_line(el, !is_BBL_printer);
for (auto el : {"use_firmware_retraction", "use_relative_e_distances"})
toggle_line(el, !is_BBL_printer);
}
wxString extruder_number;