mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-23 22:54:08 -06:00
[feature] Add Bambu Cool Plate SuperTack (#7670)
* ENH: add supertrack plate Jira: none Signed-off-by: qing.zhang <qing.zhang@bambulab.com> Change-Id: I89017c9933597ee035aa20ba3852db6f629f5e20 (cherry picked from commit 78572cbff864e5e78255f2e0eb6e40237bc0bab9) * NEW:add SuperTack svg jira: none Change-Id: Id6153f76f8634d1f00485991b75cbe526fb64adc (cherry picked from commit 6404f06e79d38ffa8f7f296b10af2af1c2a3974d) --------- Co-authored-by: zhou.xu <zhou.xu@bambulab.com>
This commit is contained in:
parent
8cc7a8c8a3
commit
25b1ec6843
9 changed files with 116 additions and 4 deletions
|
@ -1792,6 +1792,7 @@ enum BambuBedType {
|
|||
bbtEngineeringPlate = 2,
|
||||
bbtHighTemperaturePlate = 3,
|
||||
bbtTexturedPEIPlate = 4,
|
||||
bbtSuperTackPlate = 5,
|
||||
};
|
||||
|
||||
static BambuBedType to_bambu_bed_type(BedType type)
|
||||
|
@ -1807,6 +1808,8 @@ static BambuBedType to_bambu_bed_type(BedType type)
|
|||
bambu_bed_type = bbtTexturedPEIPlate;
|
||||
else if (type == btPCT)
|
||||
bambu_bed_type = bbtCoolPlate;
|
||||
else if (type == btSuperTack)
|
||||
bambu_bed_type = bbtSuperTackPlate;
|
||||
|
||||
return bambu_bed_type;
|
||||
}
|
||||
|
|
|
@ -823,7 +823,7 @@ static std::vector<std::string> s_Preset_filament_options {
|
|||
"filament_flow_ratio", "filament_density", "filament_cost", "filament_minimal_purge_on_wipe_tower",
|
||||
"nozzle_temperature", "nozzle_temperature_initial_layer",
|
||||
// BBS
|
||||
"cool_plate_temp", "textured_cool_plate_temp", "eng_plate_temp", "hot_plate_temp", "textured_plate_temp", "cool_plate_temp_initial_layer", "textured_cool_plate_temp_initial_layer", "eng_plate_temp_initial_layer", "hot_plate_temp_initial_layer","textured_plate_temp_initial_layer",
|
||||
"cool_plate_temp", "textured_cool_plate_temp", "eng_plate_temp", "hot_plate_temp", "textured_plate_temp", "cool_plate_temp_initial_layer", "textured_cool_plate_temp_initial_layer", "eng_plate_temp_initial_layer", "hot_plate_temp_initial_layer", "textured_plate_temp_initial_layer", "supertack_plate_temp_initial_layer", "supertack_plate_temp",
|
||||
// "bed_type",
|
||||
//BBS:temperature_vitrification
|
||||
"temperature_vitrification", "reduce_fan_stop_start_freq","dont_slow_down_outer_wall", "slow_down_for_layer_cooling", "fan_min_speed",
|
||||
|
|
|
@ -129,6 +129,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
|
|||
"sparse_infill_acceleration",
|
||||
"internal_solid_infill_acceleration",
|
||||
// BBS
|
||||
"supertack_plate_temp_initial_layer",
|
||||
"cool_plate_temp_initial_layer",
|
||||
"textured_cool_plate_temp_initial_layer",
|
||||
"eng_plate_temp_initial_layer",
|
||||
|
@ -270,6 +271,8 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
|
|||
|| opt_key == "gcode_flavor"
|
||||
|| opt_key == "single_extruder_multi_material"
|
||||
|| opt_key == "nozzle_temperature"
|
||||
// BBS
|
||||
|| opt_key == "supertack_plate_temp"
|
||||
|| opt_key == "cool_plate_temp"
|
||||
|| opt_key == "textured_cool_plate_temp"
|
||||
|| opt_key == "eng_plate_temp"
|
||||
|
|
|
@ -350,6 +350,7 @@ CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(OverhangFanThreshold)
|
|||
// BBS
|
||||
static const t_config_enum_values s_keys_map_BedType = {
|
||||
{ "Default Plate", btDefault },
|
||||
{ "Supertack Plate", btSuperTack },
|
||||
{ "Cool Plate", btPC },
|
||||
{ "Engineering Plate", btEP },
|
||||
{ "High Temp Plate", btPEI },
|
||||
|
@ -657,6 +658,16 @@ void PrintConfigDef::init_fff_params()
|
|||
def->set_default_value(new ConfigOptionFloatOrPercent(0., false));
|
||||
|
||||
// BBS
|
||||
def = this->add("supertack_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 Cool Plate");
|
||||
def->sidetext = "°C";
|
||||
def->full_label = L("Bed temperature");
|
||||
def->min = 0;
|
||||
def->max = 120;
|
||||
def->set_default_value(new ConfigOptionInts{35});
|
||||
|
||||
def = this->add("cool_plate_temp", coInts);
|
||||
def->label = L("Other layers");
|
||||
def->tooltip = L("Bed temperature for layers except the initial one. "
|
||||
|
@ -707,6 +718,16 @@ void PrintConfigDef::init_fff_params()
|
|||
def->max = 300;
|
||||
def->set_default_value(new ConfigOptionInts{45});
|
||||
|
||||
def = this->add("supertack_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 Bambu Cool Plate SuperTack");
|
||||
def->sidetext = "°C";
|
||||
def->min = 0;
|
||||
def->max = 120;
|
||||
def->set_default_value(new ConfigOptionInts{ 35 });
|
||||
|
||||
def = this->add("cool_plate_temp_initial_layer", coInts);
|
||||
def->label = L("Initial layer");
|
||||
def->full_label = L("Initial layer bed temperature");
|
||||
|
@ -762,12 +783,14 @@ void PrintConfigDef::init_fff_params()
|
|||
def->mode = comSimple;
|
||||
def->enum_keys_map = &s_keys_map_BedType;
|
||||
// Orca: make sure the order of the values is the same as the BedType enum
|
||||
def->enum_values.emplace_back("Supertack Plate");
|
||||
def->enum_values.emplace_back("Cool Plate");
|
||||
def->enum_values.emplace_back("Engineering Plate");
|
||||
def->enum_values.emplace_back("High Temp Plate");
|
||||
def->enum_values.emplace_back("Textured PEI Plate");
|
||||
def->enum_values.emplace_back("Textured Cool Plate");
|
||||
def->enum_labels.emplace_back(L("Smooth Cool Plate"));
|
||||
def->enum_labels.emplace_back(L("Bambu Cool Plate SuperTack"));
|
||||
def->enum_labels.emplace_back(L("Smooth Cool Plate / PLA Plate"));
|
||||
def->enum_labels.emplace_back(L("Engineering Plate"));
|
||||
def->enum_labels.emplace_back(L("Smooth High Temp Plate"));
|
||||
def->enum_labels.emplace_back(L("Textured PEI Plate"));
|
||||
|
|
|
@ -254,6 +254,7 @@ enum OverhangFanThreshold {
|
|||
// BBS
|
||||
enum BedType {
|
||||
btDefault = 0,
|
||||
btSuperTack,
|
||||
btPC,
|
||||
btEP,
|
||||
btPEI,
|
||||
|
@ -322,6 +323,9 @@ static std::string bed_type_to_gcode_string(const BedType type)
|
|||
std::string type_str;
|
||||
|
||||
switch (type) {
|
||||
case btSuperTack:
|
||||
type_str = "supertack_plate";
|
||||
break;
|
||||
case btPC:
|
||||
type_str = "cool_plate";
|
||||
break;
|
||||
|
@ -347,6 +351,9 @@ static std::string bed_type_to_gcode_string(const BedType type)
|
|||
|
||||
static std::string get_bed_temp_key(const BedType type)
|
||||
{
|
||||
if (type == btSuperTack)
|
||||
return "supertack_plate_temp";
|
||||
|
||||
if (type == btPC)
|
||||
return "cool_plate_temp";
|
||||
|
||||
|
@ -367,6 +374,9 @@ static std::string get_bed_temp_key(const BedType type)
|
|||
|
||||
static std::string get_bed_temp_1st_layer_key(const BedType type)
|
||||
{
|
||||
if (type == btSuperTack)
|
||||
return "supertack_plate_temp_initial_layer";
|
||||
|
||||
if (type == btPC)
|
||||
return "cool_plate_temp_initial_layer";
|
||||
|
||||
|
@ -1183,9 +1193,11 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
|
|||
((ConfigOptionEnum<BedType>, curr_bed_type))
|
||||
((ConfigOptionInts, cool_plate_temp))
|
||||
((ConfigOptionInts, textured_cool_plate_temp))
|
||||
((ConfigOptionInts, supertack_plate_temp))
|
||||
((ConfigOptionInts, eng_plate_temp))
|
||||
((ConfigOptionInts, hot_plate_temp)) // hot is short for high temperature
|
||||
((ConfigOptionInts, textured_plate_temp))
|
||||
((ConfigOptionInts, supertack_plate_temp_initial_layer))
|
||||
((ConfigOptionInts, cool_plate_temp_initial_layer))
|
||||
((ConfigOptionInts, textured_cool_plate_temp_initial_layer))
|
||||
((ConfigOptionInts, eng_plate_temp_initial_layer))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue