ENH: Add Textured PEI Plate

Change-Id: I08178e86a8ccb23844cca00bc9d265df7507f910
(cherry picked from commit 8f101963ecab1352e2721ead83928b327d6c0dbd)
This commit is contained in:
zhimin.zeng 2022-08-24 15:06:25 +08:00 committed by Lane.Wei
parent acb05dcf19
commit 0ab13a6abb
16 changed files with 109 additions and 4 deletions

View file

@ -20,12 +20,18 @@
"hot_plate_temp": [ "hot_plate_temp": [
"40" "40"
], ],
"textured_plate_temp": [
"40"
],
"cool_plate_temp_initial_layer": [ "cool_plate_temp_initial_layer": [
"40" "40"
], ],
"hot_plate_temp_initial_layer": [ "hot_plate_temp_initial_layer": [
"40" "40"
], ],
"textured_plate_temp_initial_layer": [
"40"
],
"filament_cost": [ "filament_cost": [
"29.99" "29.99"
], ],

View file

@ -13,6 +13,9 @@
"hot_plate_temp" : [ "hot_plate_temp" : [
"90" "90"
], ],
"textured_plate_temp" : [
"90"
],
"cool_plate_temp_initial_layer" : [ "cool_plate_temp_initial_layer" : [
"90" "90"
], ],
@ -22,6 +25,9 @@
"hot_plate_temp_initial_layer" : [ "hot_plate_temp_initial_layer" : [
"90" "90"
], ],
"textured_plate_temp_initial_layer" : [
"90"
],
"slow_down_for_layer_cooling": [ "slow_down_for_layer_cooling": [
"1" "1"
], ],

View file

@ -13,6 +13,9 @@
"hot_plate_temp" : [ "hot_plate_temp" : [
"90" "90"
], ],
"textured_plate_temp" : [
"90"
],
"cool_plate_temp_initial_layer" : [ "cool_plate_temp_initial_layer" : [
"90" "90"
], ],
@ -22,6 +25,9 @@
"hot_plate_temp_initial_layer" : [ "hot_plate_temp_initial_layer" : [
"90" "90"
], ],
"textured_plate_temp_initial_layer" : [
"90"
],
"slow_down_for_layer_cooling": [ "slow_down_for_layer_cooling": [
"1" "1"
], ],

View file

@ -12,6 +12,9 @@
"hot_plate_temp" : [ "hot_plate_temp" : [
"60" "60"
], ],
"textured_plate_temp" : [
"60"
],
"cool_plate_temp_initial_layer" : [ "cool_plate_temp_initial_layer" : [
"60" "60"
], ],
@ -21,6 +24,9 @@
"hot_plate_temp_initial_layer" : [ "hot_plate_temp_initial_layer" : [
"60" "60"
], ],
"textured_plate_temp_initial_layer" : [
"60"
],
"overhang_fan_threshold": [ "overhang_fan_threshold": [
"95%" "95%"
], ],

View file

@ -13,6 +13,9 @@
"hot_plate_temp" : [ "hot_plate_temp" : [
"100" "100"
], ],
"textured_plate_temp" : [
"100"
],
"cool_plate_temp_initial_layer" : [ "cool_plate_temp_initial_layer" : [
"0" "0"
], ],
@ -22,6 +25,9 @@
"hot_plate_temp_initial_layer" : [ "hot_plate_temp_initial_layer" : [
"100" "100"
], ],
"textured_plate_temp_initial_layer" : [
"100"
],
"slow_down_for_layer_cooling": [ "slow_down_for_layer_cooling": [
"1" "1"
], ],

View file

@ -13,6 +13,9 @@
"hot_plate_temp" : [ "hot_plate_temp" : [
"110" "110"
], ],
"textured_plate_temp" : [
"110"
],
"cool_plate_temp_initial_layer" : [ "cool_plate_temp_initial_layer" : [
"0" "0"
], ],
@ -22,6 +25,9 @@
"hot_plate_temp_initial_layer" : [ "hot_plate_temp_initial_layer" : [
"110" "110"
], ],
"textured_plate_temp_initial_layer" : [
"110"
],
"slow_down_for_layer_cooling": [ "slow_down_for_layer_cooling": [
"1" "1"
], ],

View file

@ -13,6 +13,9 @@
"hot_plate_temp" : [ "hot_plate_temp" : [
"80" "80"
], ],
"textured_plate_temp" : [
"80"
],
"cool_plate_temp_initial_layer" : [ "cool_plate_temp_initial_layer" : [
"60" "60"
], ],
@ -22,6 +25,9 @@
"hot_plate_temp_initial_layer" : [ "hot_plate_temp_initial_layer" : [
"80" "80"
], ],
"textured_plate_temp_initial_layer" : [
"80"
],
"slow_down_for_layer_cooling": [ "slow_down_for_layer_cooling": [
"1" "1"
], ],

View file

@ -28,6 +28,9 @@
"hot_plate_temp" : [ "hot_plate_temp" : [
"45" "45"
], ],
"textured_plate_temp" : [
"45"
],
"cool_plate_temp_initial_layer" : [ "cool_plate_temp_initial_layer" : [
"35" "35"
], ],
@ -37,6 +40,9 @@
"hot_plate_temp_initial_layer" : [ "hot_plate_temp_initial_layer" : [
"45" "45"
], ],
"textured_plate_temp_initial_layer" : [
"45"
],
"nozzle_temperature_initial_layer": [ "nozzle_temperature_initial_layer": [
"220" "220"
], ],

View file

@ -13,6 +13,9 @@
"hot_plate_temp" : [ "hot_plate_temp" : [
"45" "45"
], ],
"textured_plate_temp" : [
"45"
],
"cool_plate_temp_initial_layer" : [ "cool_plate_temp_initial_layer" : [
"35" "35"
], ],
@ -22,6 +25,9 @@
"hot_plate_temp_initial_layer" : [ "hot_plate_temp_initial_layer" : [
"45" "45"
], ],
"textured_plate_temp_initial_layer" : [
"45"
],
"fan_cooling_layer_time": [ "fan_cooling_layer_time": [
"100" "100"
], ],

View file

@ -13,6 +13,9 @@
"hot_plate_temp" : [ "hot_plate_temp" : [
"35" "35"
], ],
"textured_plate_temp" : [
"35"
],
"cool_plate_temp_initial_layer" : [ "cool_plate_temp_initial_layer" : [
"30" "30"
], ],
@ -22,6 +25,9 @@
"hot_plate_temp_initial_layer" : [ "hot_plate_temp_initial_layer" : [
"35" "35"
], ],
"textured_plate_temp_initial_layer" : [
"35"
],
"fan_cooling_layer_time": [ "fan_cooling_layer_time": [
"100" "100"
], ],

View file

@ -1262,6 +1262,7 @@ enum BambuBedType {
bbtCoolPlate = 1, bbtCoolPlate = 1,
bbtEngineeringPlate = 2, bbtEngineeringPlate = 2,
bbtHighTemperaturePlate = 3, bbtHighTemperaturePlate = 3,
bbtTexturedPEIPlate = 4,
}; };
static BambuBedType to_bambu_bed_type(BedType type) static BambuBedType to_bambu_bed_type(BedType type)
@ -1273,6 +1274,8 @@ static BambuBedType to_bambu_bed_type(BedType type)
bambu_bed_type = bbtEngineeringPlate; bambu_bed_type = bbtEngineeringPlate;
else if (type == btPEI) else if (type == btPEI)
bambu_bed_type = bbtHighTemperaturePlate; bambu_bed_type = bbtHighTemperaturePlate;
else if (type == btPTE)
bambu_bed_type = bbtTexturedPEIPlate;
return bambu_bed_type; return bambu_bed_type;
} }

View file

@ -691,7 +691,7 @@ static std::vector<std::string> s_Preset_filament_options {
"filament_flow_ratio", "filament_density", "filament_cost", "filament_minimal_purge_on_wipe_tower", "filament_flow_ratio", "filament_density", "filament_cost", "filament_minimal_purge_on_wipe_tower",
"nozzle_temperature", "nozzle_temperature_initial_layer", "nozzle_temperature", "nozzle_temperature_initial_layer",
// BBS // BBS
"cool_plate_temp", "eng_plate_temp", "hot_plate_temp", "cool_plate_temp_initial_layer", "eng_plate_temp_initial_layer", "hot_plate_temp_initial_layer", "cool_plate_temp", "eng_plate_temp", "hot_plate_temp", "textured_plate_temp", "cool_plate_temp_initial_layer", "eng_plate_temp_initial_layer", "hot_plate_temp_initial_layer","textured_plate_temp_initial_layer",
// "bed_type", // "bed_type",
//BBS:temperature_vitrification //BBS:temperature_vitrification
"temperature_vitrification", "reduce_fan_stop_start_freq", "slow_down_for_layer_cooling", "fan_min_speed", "temperature_vitrification", "reduce_fan_stop_start_freq", "slow_down_for_layer_cooling", "fan_min_speed",

View file

@ -96,6 +96,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
"cool_plate_temp_initial_layer", "cool_plate_temp_initial_layer",
"eng_plate_temp_initial_layer", "eng_plate_temp_initial_layer",
"hot_plate_temp_initial_layer", "hot_plate_temp_initial_layer",
"textured_plate_temp_initial_layer",
"gcode_add_line_number", "gcode_add_line_number",
"layer_change_gcode", "layer_change_gcode",
"fan_min_speed", "fan_min_speed",
@ -173,6 +174,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
|| opt_key == "cool_plate_temp" || opt_key == "cool_plate_temp"
|| opt_key == "eng_plate_temp" || opt_key == "eng_plate_temp"
|| opt_key == "hot_plate_temp" || opt_key == "hot_plate_temp"
|| opt_key == "textured_plate_temp"
|| opt_key == "enable_prime_tower" || opt_key == "enable_prime_tower"
|| opt_key == "prime_tower_width" || opt_key == "prime_tower_width"
|| opt_key == "prime_tower_brim_width" || opt_key == "prime_tower_brim_width"

View file

@ -213,7 +213,8 @@ static const t_config_enum_values s_keys_map_OverhangFanThreshold = {
static const t_config_enum_values s_keys_map_BedType = { static const t_config_enum_values s_keys_map_BedType = {
{ "Cool Plate", btPC }, { "Cool Plate", btPC },
{ "Engineering Plate", btEP }, { "Engineering Plate", btEP },
{ "High Temp Plate", btPEI } { "High Temp Plate", btPEI },
{ "Textured PEI Plate", btPTE }
}; };
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(BedType) CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(BedType)
@ -367,6 +368,16 @@ void PrintConfigDef::init_fff_params()
def->max = 120; def->max = 120;
def->set_default_value(new ConfigOptionInts{ 45 }); def->set_default_value(new ConfigOptionInts{ 45 });
def = this->add("textured_plate_temp", coInts);
def->label = L("Other layers");
def->tooltip = L("Bed temperature for layers except the initial one. "
"Value 0 means the filament does not support to print on the Textured PEI Plate");
def->sidetext = L("°C");
def->full_label = L("Bed temperature");
def->min = 0;
def->max = 120;
def->set_default_value(new ConfigOptionInts{45});
def = this->add("cool_plate_temp_initial_layer", coInts); def = this->add("cool_plate_temp_initial_layer", coInts);
def->label = L("Initial layer"); def->label = L("Initial layer");
def->full_label = L("Initial layer bed temperature"); def->full_label = L("Initial layer bed temperature");
@ -397,6 +408,15 @@ void PrintConfigDef::init_fff_params()
def->max = 120; def->max = 120;
def->set_default_value(new ConfigOptionInts{ 45 }); def->set_default_value(new ConfigOptionInts{ 45 });
def = this->add("textured_plate_temp_initial_layer", coInts);
def->label = L("Initial layer");
def->full_label = L("Initial layer bed temperature");
def->tooltip = L("Bed temperature of the initial layer. "
"Value 0 means the filament does not support to print on the Textured PEI Plate");
def->sidetext = L("°C");
def->max = 0;
def->max = 120;
def->set_default_value(new ConfigOptionInts{45});
def = this->add("curr_bed_type", coEnums); def = this->add("curr_bed_type", coEnums);
def->label = L("Bed type"); def->label = L("Bed type");
@ -406,9 +426,11 @@ void PrintConfigDef::init_fff_params()
def->enum_values.emplace_back("Cool Plate"); def->enum_values.emplace_back("Cool Plate");
def->enum_values.emplace_back("Engineering Plate"); def->enum_values.emplace_back("Engineering Plate");
def->enum_values.emplace_back("High Temp Plate"); def->enum_values.emplace_back("High Temp Plate");
def->enum_values.emplace_back("Textured PEI Plate");
def->enum_labels.emplace_back(L("Cool Plate")); def->enum_labels.emplace_back(L("Cool Plate"));
def->enum_labels.emplace_back(L("Engineering Plate")); def->enum_labels.emplace_back(L("Engineering Plate"));
def->enum_labels.emplace_back(L("High Temp Plate")); def->enum_labels.emplace_back(L("High Temp Plate"));
def->enum_labels.emplace_back(L("Textured PEI Plate"));
def->set_default_value(new ConfigOptionEnum<BedType>(btPC)); def->set_default_value(new ConfigOptionEnum<BedType>(btPC));
def = this->add("before_layer_change_gcode", coString); def = this->add("before_layer_change_gcode", coString);
@ -2283,8 +2305,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("independent_support_layer_height", coBool); def = this->add("independent_support_layer_height", coBool);
def->label = L("Independent support layer height"); def->label = L("Independent support layer height");
def->category = L("Support"); def->category = L("Support");
def->tooltip = L("Support layer uses layer height independent with object layer. This is to support custom support gap," def->tooltip = L("Support layer uses layer height independent with object layer. This is to support customizing z-gap and save print time.");
"but may cause extra filament switches if support is specified as different extruder with object");
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionBool(true)); def->set_default_value(new ConfigOptionBool(true));

View file

@ -152,6 +152,7 @@ enum BedType {
btPC = 0, btPC = 0,
btEP, btEP,
btPEI, btPEI,
btPTE,
btCount btCount
}; };
@ -177,6 +178,8 @@ static std::string bed_type_to_gcode_string(const BedType type)
case btPEI: case btPEI:
type_str = "high_temp_plate"; type_str = "high_temp_plate";
break; break;
case btPTE:
type_str = "frosted_plate";
default: default:
type_str = "unknown"; type_str = "unknown";
break; break;
@ -196,6 +199,9 @@ static std::string get_bed_temp_key(const BedType type)
if (type == btPEI) if (type == btPEI)
return "hot_plate_temp"; return "hot_plate_temp";
if (type == btPTE)
return "textured_plate_temp";
return ""; return "";
} }
@ -210,6 +216,9 @@ static std::string get_bed_temp_1st_layer_key(const BedType type)
if (type == btPEI) if (type == btPEI)
return "hot_plate_temp_initial_layer"; return "hot_plate_temp_initial_layer";
if (type == btPTE)
return "textured_plate_temp_initial_layer";
return ""; return "";
} }
@ -774,9 +783,11 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
((ConfigOptionInts, cool_plate_temp)) ((ConfigOptionInts, cool_plate_temp))
((ConfigOptionInts, eng_plate_temp)) ((ConfigOptionInts, eng_plate_temp))
((ConfigOptionInts, hot_plate_temp)) // hot is short for high temperature ((ConfigOptionInts, hot_plate_temp)) // hot is short for high temperature
((ConfigOptionInts, textured_plate_temp))
((ConfigOptionInts, cool_plate_temp_initial_layer)) ((ConfigOptionInts, cool_plate_temp_initial_layer))
((ConfigOptionInts, eng_plate_temp_initial_layer)) ((ConfigOptionInts, eng_plate_temp_initial_layer))
((ConfigOptionInts, hot_plate_temp_initial_layer)) // hot is short for high temperature ((ConfigOptionInts, hot_plate_temp_initial_layer)) // hot is short for high temperature
((ConfigOptionInts, textured_plate_temp_initial_layer))
((ConfigOptionBools, enable_overhang_bridge_fan)) ((ConfigOptionBools, enable_overhang_bridge_fan))
((ConfigOptionInts, overhang_fan_speed)) ((ConfigOptionInts, overhang_fan_speed))
((ConfigOptionEnumsGeneric, overhang_fan_threshold)) ((ConfigOptionEnumsGeneric, overhang_fan_threshold))

View file

@ -2468,6 +2468,11 @@ void TabFilament::build()
line.append_option(optgroup->get_option("hot_plate_temp")); line.append_option(optgroup->get_option("hot_plate_temp"));
optgroup->append_line(line); optgroup->append_line(line);
line = {L("Textured PEI Plate"), L("Bed temperature when Textured PEI Plate is installed. Value 0 means the filament does not support to print on the Textured PEI Plate")};
line.append_option(optgroup->get_option("textured_plate_temp_initial_layer"));
line.append_option(optgroup->get_option("textured_plate_temp"));
optgroup->append_line(line);
optgroup->m_on_change = [this, optgroup](t_config_option_key opt_key, boost::any value) optgroup->m_on_change = [this, optgroup](t_config_option_key opt_key, boost::any value)
{ {
DynamicPrintConfig& filament_config = wxGetApp().preset_bundle->filaments.get_edited_preset().config; DynamicPrintConfig& filament_config = wxGetApp().preset_bundle->filaments.get_edited_preset().config;
@ -2482,6 +2487,9 @@ void TabFilament::build()
else if (opt_key == "hot_plate_temp" || opt_key == "hot_plate_temp_initial_layer") { else if (opt_key == "hot_plate_temp" || opt_key == "hot_plate_temp_initial_layer") {
m_config_manipulation.check_bed_temperature_difference(BedType::btPEI, &filament_config); m_config_manipulation.check_bed_temperature_difference(BedType::btPEI, &filament_config);
} }
else if (opt_key == "textured_plate_temp" || opt_key == "textured_plate_temp_initial_layer") {
m_config_manipulation.check_bed_temperature_difference(BedType::btPTE, &filament_config);
}
else if (opt_key == "nozzle_temperature") { else if (opt_key == "nozzle_temperature") {
m_config_manipulation.check_nozzle_temperature_range(&filament_config); m_config_manipulation.check_nozzle_temperature_range(&filament_config);
} }