ENH: add setting of extruder type

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ic126466f6b579dd6a55a1ba16a63c015d538c750
This commit is contained in:
salt.wei 2023-06-25 16:19:22 +08:00 committed by Lane.Wei
parent 66bb5bc4b6
commit c5d70a846e
16 changed files with 64 additions and 3 deletions

View File

@ -7,6 +7,9 @@
"inherits": "fdm_machine_common",
"printer_model": "Anycubic 4Max Pro",
"default_print_profile": "0.20mm Standard @Anycubic 4MaxPro",
"extruder_type": [
"Bowden"
],
"nozzle_diameter": [
"0.4"
],

View File

@ -7,6 +7,9 @@
"inherits": "fdm_machine_common",
"printer_model": "Anycubic 4Max Pro 2",
"default_print_profile": "0.20mm Standard @Anycubic 4MaxPro2",
"extruder_type": [
"Bowden"
],
"nozzle_diameter": [
"0.4"
],

View File

@ -7,6 +7,9 @@
"inherits": "fdm_machine_common",
"printer_model": "Anycubic Chiron",
"default_print_profile": "0.20mm Standard @Anycubic Chiron",
"extruder_type": [
"Bowden"
],
"nozzle_diameter": [
"0.4"
],

View File

@ -7,6 +7,9 @@
"inherits": "fdm_machine_common",
"printer_model": "Anycubic Kobra Max",
"default_print_profile": "0.20mm Standard @Anycubic KobraMax",
"extruder_type": [
"Bowden"
],
"nozzle_diameter": [
"0.4"
],

View File

@ -7,6 +7,9 @@
"inherits": "fdm_machine_common",
"printer_model": "Anycubic Vyper",
"default_print_profile": "0.20mm Standard @Anycubic Vyper",
"extruder_type": [
"Bowden"
],
"nozzle_diameter": [
"0.4"
],

View File

@ -7,6 +7,9 @@
"inherits": "fdm_machine_common",
"printer_model": "Anycubic i3 Mega S",
"default_print_profile": "0.20mm Standard @Anycubic i3MegaS",
"extruder_type": [
"Bowden"
],
"nozzle_diameter": [
"0.4"
],

View File

@ -10,6 +10,9 @@
"Generic PLA @Creality"
],
"default_print_profile": "0.20mm Standard @Creality CR10Max",
"extruder_type": [
"Bowden"
],
"nozzle_diameter": [
"0.4"
],

View File

@ -7,6 +7,9 @@
"inherits": "fdm_creality_common",
"printer_model": "Creality CR-10 V2",
"default_print_profile": "0.20mm Standard @Creality CR10V2",
"extruder_type": [
"Bowden"
],
"nozzle_diameter": [
"0.4"
],

View File

@ -10,6 +10,9 @@
"Generic PLA @Creality"
],
"default_print_profile": "0.20mm Standard @Creality Ender3V2",
"extruder_type": [
"Bowden"
],
"nozzle_diameter": [
"0.4"
],

View File

@ -7,6 +7,9 @@
"inherits": "fdm_creality_common",
"printer_model": "Creality Ender-6",
"default_print_profile": "0.20mm Standard @Creality Ender6",
"extruder_type": [
"Bowden"
],
"nozzle_diameter": [
"0.4"
],

View File

@ -10,6 +10,9 @@
"Generic PLA @Prusa"
],
"default_print_profile": "0.20mm Standard @MINI",
"extruder_type": [
"Bowden"
],
"nozzle_diameter": [
"0.4"
],

View File

@ -7,6 +7,9 @@
"inherits": "fdm_machine_common",
"printer_model": "Voxelab Aquila X2",
"default_print_profile": "0.20mm Standard @Voxelab AquilaX2",
"extruder_type": [
"Bowden"
],
"nozzle_diameter": [
"0.4"
],

View File

@ -837,7 +837,7 @@ static std::vector<std::string> s_Preset_printer_options {
"print_host_webui",
"printhost_cafile","printhost_port","printhost_authorization_type",
"printhost_user", "printhost_password", "printhost_ssl_ignore_revoke",
"use_relative_e_distances"
"use_relative_e_distances", "extruder_type"
};
static std::vector<std::string> s_Preset_sla_print_options {

View File

@ -305,6 +305,12 @@ static const t_config_enum_values s_keys_map_ZHopType = {
};
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(ZHopType)
static const t_config_enum_values s_keys_map_ExtruderType = {
{ "DirectDrive", etDirectDrive },
{ "Bowden", etBowden }
};
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(ExtruderType)
static void assign_printer_technology_to_unknown(t_optiondef_map &options, PrinterTechnology printer_technology)
{
for (std::pair<const t_config_option_key, ConfigOptionDef> &kvp : options)
@ -2426,6 +2432,17 @@ void PrintConfigDef::init_fff_params()
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionEnumsGeneric{ ZHopType::zhtSpiral });
def = this->add("extruder_type", coEnums);
def->label = L("Type");
def->tooltip = ("This setting is only used for initial value of manual calibration of presure advance. Bowden extruder usually has larger pa value. This setting doesn't influence normal slicing");
def->enum_keys_map = &ConfigOptionEnum<ExtruderType>::get_enum_values();
def->enum_values.push_back("DirectDrive");
def->enum_values.push_back("Bowden");
def->enum_labels.push_back(L("Direct drive"));
def->enum_labels.push_back(L("Bowden"));
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionEnumsGeneric{ ExtruderType::etDirectDrive });
def = this->add("retract_restart_extra", coFloats);
//def->label = L("Extra length on restart");
def->label = "Extra length on restart";

View File

@ -212,6 +212,12 @@ enum ZHopType {
zhtCount
};
// BBS
enum ExtruderType {
etDirectDrive = 0,
etBowden
};
static std::string bed_type_to_gcode_string(const BedType type)
{
std::string type_str;
@ -864,6 +870,7 @@ PRINT_CONFIG_CLASS_DEFINE(
((ConfigOptionBool, auxiliary_fan))
((ConfigOptionBool, accel_to_decel_enable))
((ConfigOptionPercent, accel_to_decel_factor))
((ConfigOptionEnumsGeneric, extruder_type))
)
// This object is mapped to Perl as Slic3r::Config::Print.

View File

@ -3415,7 +3415,8 @@ void TabPrinter::build_unregular_pages(bool from_initial_build/* = false*/)
auto page = add_options_page(page_name, "empty", true);
m_pages.insert(m_pages.begin() + n_before_extruders + extruder_idx, page);
auto optgroup = page->new_optgroup(L("Size"), L"param_diameter", -1, true);
auto optgroup = page->new_optgroup(L("Type"), L"param_type", -1, true);
optgroup->append_single_option_line("extruder_type", "", extruder_idx);
optgroup->append_single_option_line("nozzle_diameter", "", extruder_idx);
optgroup->m_on_change = [this, extruder_idx](const t_config_option_key& opt_key, boost::any value)
@ -3654,7 +3655,7 @@ void TabPrinter::toggle_options()
bool have_retract_length = m_config->opt_float("retraction_length", i) > 0;
//BBS
for (auto el : { "nozzle_diameter", "extruder_offset"})
for (auto el : {"extruder_type" , "nozzle_diameter", "extruder_offset"})
toggle_option(el, !is_BBL_printer, i);
// user can customize travel length if we have retraction length or we"re using