将镜像模式与型号绑定
This commit is contained in:
parent
03185729d7
commit
31761a157c
@ -129,7 +129,7 @@
|
|||||||
"0"
|
"0"
|
||||||
],
|
],
|
||||||
"machine_pause_gcode": "PAUSE",
|
"machine_pause_gcode": "PAUSE",
|
||||||
"machine_start_gcode": "ACTIVATE_MIRROR_MODE\nSTART_PRINT EXTRUDER={nozzle_temperature_initial_layer[0]} EXTRUDER1={nozzle_temperature_initial_layer[1]} BED=[first_layer_bed_temperature]",
|
"machine_start_gcode": "START_PRINT EXTRUDER={nozzle_temperature_initial_layer[0]} EXTRUDER1={nozzle_temperature_initial_layer[1]} BED=[first_layer_bed_temperature]",
|
||||||
"machine_tool_change_time": "0",
|
"machine_tool_change_time": "0",
|
||||||
"machine_unload_filament_time": "0",
|
"machine_unload_filament_time": "0",
|
||||||
"manual_filament_change": "0",
|
"manual_filament_change": "0",
|
||||||
|
@ -130,7 +130,7 @@
|
|||||||
"0"
|
"0"
|
||||||
],
|
],
|
||||||
"machine_pause_gcode": "PAUSE",
|
"machine_pause_gcode": "PAUSE",
|
||||||
"machine_start_gcode": "ACTIVATE_MIRROR_MODE\nSTART_PRINT EXTRUDER={nozzle_temperature_initial_layer[0]} EXTRUDER1={nozzle_temperature_initial_layer[1]} BED=[first_layer_bed_temperature]",
|
"machine_start_gcode": "START_PRINT EXTRUDER={nozzle_temperature_initial_layer[0]} EXTRUDER1={nozzle_temperature_initial_layer[1]} BED=[first_layer_bed_temperature]",
|
||||||
"machine_tool_change_time": "0",
|
"machine_tool_change_time": "0",
|
||||||
"machine_unload_filament_time": "0",
|
"machine_unload_filament_time": "0",
|
||||||
"manual_filament_change": "0",
|
"manual_filament_change": "0",
|
||||||
|
@ -2366,7 +2366,16 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
|
|||||||
this->placeholder_parser().set("scan_first_layer", new ConfigOptionBool(false));
|
this->placeholder_parser().set("scan_first_layer", new ConfigOptionBool(false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
std::string machine_start_gcode = this->placeholder_parser_process("machine_start_gcode", print.config().machine_start_gcode.value, initial_extruder_id);
|
std::string machine_start_gcode = "";
|
||||||
|
auto print_mode = print.config().print_mode;
|
||||||
|
if (print_mode == PrintMode::ptMirrored)
|
||||||
|
{
|
||||||
|
machine_start_gcode = "ACTIVATE_MIRROR_MODE\n";
|
||||||
|
}else if (print_mode == PrintMode::ptDuplication)
|
||||||
|
{
|
||||||
|
machine_start_gcode = "ACTIVATE_COPY_MODE\n";
|
||||||
|
}
|
||||||
|
machine_start_gcode += this->placeholder_parser_process("machine_start_gcode", print.config().machine_start_gcode.value, initial_extruder_id);
|
||||||
if (print.config().gcode_flavor != gcfKlipper) {
|
if (print.config().gcode_flavor != gcfKlipper) {
|
||||||
// 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, machine_start_gcode, initial_extruder_id, true);
|
this->_print_first_layer_bed_temperature(file, print, machine_start_gcode, initial_extruder_id, true);
|
||||||
|
@ -880,7 +880,7 @@ static std::vector<std::string> s_Preset_machine_limits_options {
|
|||||||
|
|
||||||
static std::vector<std::string> s_Preset_printer_options {
|
static std::vector<std::string> s_Preset_printer_options {
|
||||||
"printer_technology",
|
"printer_technology",
|
||||||
"printable_area", "bed_exclude_area","bed_custom_texture", "bed_custom_model", "gcode_flavor",
|
"printable_area", "bed_exclude_area","bed_custom_texture", "print_mode", "bed_custom_model", "gcode_flavor",
|
||||||
"fan_kickstart", "fan_speedup_time", "fan_speedup_overhangs",
|
"fan_kickstart", "fan_speedup_time", "fan_speedup_overhangs",
|
||||||
"single_extruder_multi_material", "manual_filament_change", "machine_start_gcode", "machine_end_gcode", "before_layer_change_gcode", "printing_by_object_gcode", "layer_change_gcode", "time_lapse_gcode", "change_filament_gcode", "change_extrusion_role_gcode",
|
"single_extruder_multi_material", "manual_filament_change", "machine_start_gcode", "machine_end_gcode", "before_layer_change_gcode", "printing_by_object_gcode", "layer_change_gcode", "time_lapse_gcode", "change_filament_gcode", "change_extrusion_role_gcode",
|
||||||
"printer_model", "printer_variant", "printable_height", "extruder_clearance_radius", "extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod",
|
"printer_model", "printer_variant", "printable_height", "extruder_clearance_radius", "extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod",
|
||||||
|
@ -173,6 +173,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
|
|||||||
// BBS
|
// BBS
|
||||||
"wipe_distance",
|
"wipe_distance",
|
||||||
"curr_bed_type",
|
"curr_bed_type",
|
||||||
|
"print_mode",
|
||||||
"nozzle_volume",
|
"nozzle_volume",
|
||||||
"nozzle_hrc",
|
"nozzle_hrc",
|
||||||
"required_nozzle_HRC",
|
"required_nozzle_HRC",
|
||||||
|
@ -418,6 +418,13 @@ static const t_config_enum_values s_keys_map_ZHopType = {
|
|||||||
};
|
};
|
||||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(ZHopType)
|
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(ZHopType)
|
||||||
|
|
||||||
|
static const t_config_enum_values s_keys_map_PrintMode = {
|
||||||
|
{ "Normal mode", ptNorma },
|
||||||
|
{ "Duplication mode", ptDuplication },
|
||||||
|
{ "Mirrored mode", ptMirrored }
|
||||||
|
};
|
||||||
|
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(PrintMode)
|
||||||
|
|
||||||
static const t_config_enum_values s_keys_map_RetractLiftEnforceType = {
|
static const t_config_enum_values s_keys_map_RetractLiftEnforceType = {
|
||||||
{"All Surfaces", rletAllSurfaces},
|
{"All Surfaces", rletAllSurfaces},
|
||||||
{"Top Only", rletTopOnly},
|
{"Top Only", rletTopOnly},
|
||||||
@ -4019,6 +4026,14 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->mode = comAdvanced;
|
def->mode = comAdvanced;
|
||||||
def->set_default_value(new ConfigOptionEnumsGeneric{ ZHopType::zhtSlope });
|
def->set_default_value(new ConfigOptionEnumsGeneric{ ZHopType::zhtSlope });
|
||||||
|
|
||||||
|
def = this->add("print_mode", coEnum);
|
||||||
|
def->enum_keys_map = &ConfigOptionEnum<NozzleType>::get_enum_values();
|
||||||
|
def->enum_values.push_back("Normal mode");
|
||||||
|
def->enum_values.push_back("Duplication mode");
|
||||||
|
def->enum_values.push_back("Mirrored mode");
|
||||||
|
def->mode = comSimple;
|
||||||
|
def->set_default_value(new ConfigOptionEnum<PrintMode>(ptNorma));
|
||||||
|
|
||||||
def = this->add("travel_slope", coFloats);
|
def = this->add("travel_slope", coFloats);
|
||||||
def->label = L("Traveling angle");
|
def->label = L("Traveling angle");
|
||||||
def->tooltip = L("Traveling angle for Slope and Spiral Z hop type. Setting it to 90° results in Normal Lift");
|
def->tooltip = L("Traveling angle for Slope and Spiral Z hop type. Setting it to 90° results in Normal Lift");
|
||||||
|
@ -291,7 +291,11 @@ enum NozzleType {
|
|||||||
ntBrass,
|
ntBrass,
|
||||||
ntCount
|
ntCount
|
||||||
};
|
};
|
||||||
|
enum PrintMode {
|
||||||
|
ptNorma = 0,
|
||||||
|
ptDuplication,
|
||||||
|
ptMirrored
|
||||||
|
};
|
||||||
static std::unordered_map<NozzleType, std::string>NozzleTypeEumnToStr = {
|
static std::unordered_map<NozzleType, std::string>NozzleTypeEumnToStr = {
|
||||||
{NozzleType::ntUndefine, "undefine"},
|
{NozzleType::ntUndefine, "undefine"},
|
||||||
{NozzleType::ntHardenedSteel, "hardened_steel"},
|
{NozzleType::ntHardenedSteel, "hardened_steel"},
|
||||||
@ -1216,6 +1220,7 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
|
|||||||
//BBS: add bed_exclude_area
|
//BBS: add bed_exclude_area
|
||||||
((ConfigOptionPoints, bed_exclude_area))
|
((ConfigOptionPoints, bed_exclude_area))
|
||||||
((ConfigOptionPoints, head_wrap_detect_zone))
|
((ConfigOptionPoints, head_wrap_detect_zone))
|
||||||
|
((ConfigOptionEnum<PrintMode>, print_mode))
|
||||||
// BBS
|
// BBS
|
||||||
((ConfigOptionString, bed_custom_texture))
|
((ConfigOptionString, bed_custom_texture))
|
||||||
((ConfigOptionString, bed_custom_model))
|
((ConfigOptionString, bed_custom_model))
|
||||||
|
@ -789,19 +789,49 @@ Sidebar::Sidebar(Plater *parent)
|
|||||||
|
|
||||||
// Bed type selection
|
// Bed type selection
|
||||||
wxBoxSizer* bed_type_sizer = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer* bed_type_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
wxStaticText* bed_type_title = new wxStaticText(p->m_panel_printer_content, wxID_ANY, _L("Bed type"));
|
bed_type_title = new wxStaticText(p->m_panel_printer_content, wxID_ANY, _L("Print mode"));
|
||||||
//bed_type_title->SetBackgroundColour();
|
//bed_type_title->SetBackgroundColour();
|
||||||
bed_type_title->Wrap(-1);
|
bed_type_title->Wrap(-1);
|
||||||
bed_type_title->SetFont(Label::Body_14);
|
bed_type_title->SetFont(Label::Body_14);
|
||||||
m_bed_type_list = new ComboBox(p->m_panel_printer_content, wxID_ANY, wxString(""), wxDefaultPosition, {-1, FromDIP(30)}, 0, nullptr, wxCB_READONLY);
|
m_bed_type_list = new ComboBox(p->m_panel_printer_content, wxID_ANY, wxString(""), wxDefaultPosition, {-1, FromDIP(30)}, 0, nullptr, wxCB_READONLY);
|
||||||
const ConfigOptionDef* bed_type_def = print_config_def.get("curr_bed_type");
|
const ConfigOptionDef* bed_type_def = print_config_def.get("curr_bed_type");
|
||||||
if (bed_type_def && bed_type_def->enum_keys_map) {
|
/*if (bed_type_def && bed_type_def->enum_keys_map) {
|
||||||
for (auto item : bed_type_def->enum_labels) {
|
for (auto item : bed_type_def->enum_labels) {
|
||||||
m_bed_type_list->AppendString(_L(item));
|
m_bed_type_list->AppendString(_L(item));
|
||||||
}
|
}
|
||||||
|
}*/
|
||||||
|
m_bed_type_list->AppendString(_L("Normal mode"));
|
||||||
|
m_bed_type_list->AppendString(_L("Duplication mode"));
|
||||||
|
m_bed_type_list->AppendString(_L("Mirrored mode"));
|
||||||
|
m_bed_type_list->Select(0);
|
||||||
|
auto printer_model = wxGetApp().preset_bundle->full_config().opt_string("printer_model");
|
||||||
|
if (printer_model != "CreatBot F430NX HS") {
|
||||||
|
m_bed_type_list->Hide();
|
||||||
|
bed_type_title->Hide();
|
||||||
|
m_bed_type_list->Select(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
bed_type_title->Bind(wxEVT_ENTER_WINDOW, [bed_type_title, this](wxMouseEvent &e) {
|
m_bed_type_list->Bind(wxEVT_COMBOBOX, [=](wxCommandEvent& e) {
|
||||||
|
const wxString value = m_bed_type_list->GetValue();
|
||||||
|
PrintMode bed_type;
|
||||||
|
if (value == _L("Normal mode")) {
|
||||||
|
bed_type = PrintMode::ptNorma;
|
||||||
|
}
|
||||||
|
else if (value == _L("Duplication mode")) {
|
||||||
|
bed_type = PrintMode::ptDuplication;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
bed_type = PrintMode::ptMirrored;
|
||||||
|
}
|
||||||
|
auto& project_config = wxGetApp().preset_bundle->project_config;
|
||||||
|
project_config.set_key_value("print_mode", new ConfigOptionEnum<PrintMode>(bed_type));
|
||||||
|
TabPrinter* tab_printer = dynamic_cast<TabPrinter*>(wxGetApp().get_tab(Preset::TYPE_PRINTER));
|
||||||
|
tab_printer->update_dirty();
|
||||||
|
tab_printer->update_print_mode();
|
||||||
|
// e.Skip();
|
||||||
|
});
|
||||||
|
|
||||||
|
/*bed_type_title->Bind(wxEVT_ENTER_WINDOW, [bed_type_title, this](wxMouseEvent &e) {
|
||||||
e.Skip();
|
e.Skip();
|
||||||
auto font = bed_type_title->GetFont();
|
auto font = bed_type_title->GetFont();
|
||||||
font.SetUnderlined(true);
|
font.SetUnderlined(true);
|
||||||
@ -817,7 +847,7 @@ Sidebar::Sidebar(Plater *parent)
|
|||||||
});
|
});
|
||||||
bed_type_title->Bind(wxEVT_LEFT_UP, [bed_type_title, this](wxMouseEvent &e) {
|
bed_type_title->Bind(wxEVT_LEFT_UP, [bed_type_title, this](wxMouseEvent &e) {
|
||||||
wxLaunchDefaultBrowser("https://github.com/SoftFever/OrcaSlicer/wiki/bed-types");
|
wxLaunchDefaultBrowser("https://github.com/SoftFever/OrcaSlicer/wiki/bed-types");
|
||||||
});
|
});*/
|
||||||
|
|
||||||
AppConfig *app_config = wxGetApp().app_config;
|
AppConfig *app_config = wxGetApp().app_config;
|
||||||
std::string str_bed_type = app_config->get("curr_bed_type");
|
std::string str_bed_type = app_config->get("curr_bed_type");
|
||||||
@ -828,23 +858,22 @@ Sidebar::Sidebar(Plater *parent)
|
|||||||
bed_type_value = 1;
|
bed_type_value = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int bed_type_idx = bed_type_value - 1;
|
int bed_type_idx = 1;
|
||||||
m_bed_type_list->Select(bed_type_idx);
|
//;
|
||||||
bed_type_sizer->Add(bed_type_title, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, FromDIP(SidebarProps::ContentMargin()));
|
bed_type_sizer->Add(bed_type_title, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, FromDIP(SidebarProps::ContentMargin()));
|
||||||
bed_type_sizer->Add(m_bed_type_list, 1, wxLEFT | wxEXPAND, FromDIP(SidebarProps::ElementSpacing()));
|
bed_type_sizer->Add(m_bed_type_list, 1, wxLEFT | wxEXPAND, FromDIP(SidebarProps::ElementSpacing()));
|
||||||
bed_type_sizer->AddSpacer(FromDIP(SidebarProps::ContentMargin()));
|
bed_type_sizer->AddSpacer(FromDIP(SidebarProps::ContentMargin()));
|
||||||
vsizer_printer->Add(bed_type_sizer, 0, wxEXPAND | wxTOP, FromDIP(5));
|
vsizer_printer->Add(bed_type_sizer, 0, wxEXPAND | wxTOP, FromDIP(5));
|
||||||
vsizer_printer->AddSpacer(FromDIP(16));
|
vsizer_printer->AddSpacer(FromDIP(16));
|
||||||
|
|
||||||
auto& project_config = wxGetApp().preset_bundle->project_config;
|
|
||||||
/*const t_config_enum_values* keys_map = print_config_def.get("curr_bed_type")->enum_keys_map;
|
/*const t_config_enum_values* keys_map = print_config_def.get("curr_bed_type")->enum_keys_map;
|
||||||
BedType bed_type = btCount;
|
BedType bed_type = btCount;
|
||||||
for (auto item : *keys_map) {
|
for (auto item : *keys_map) {
|
||||||
if (item.first == str_bed_type)
|
if (item.first == str_bed_type)
|
||||||
bed_type = (BedType)item.second;
|
bed_type = (BedType)item.second;
|
||||||
}*/
|
}*/
|
||||||
BedType bed_type = (BedType)bed_type_value;
|
|
||||||
project_config.set_key_value("curr_bed_type", new ConfigOptionEnum<BedType>(bed_type));
|
|
||||||
|
|
||||||
p->m_panel_printer_content->SetSizer(vsizer_printer);
|
p->m_panel_printer_content->SetSizer(vsizer_printer);
|
||||||
p->m_panel_printer_content->Layout();
|
p->m_panel_printer_content->Layout();
|
||||||
@ -1299,7 +1328,7 @@ void Sidebar::update_all_preset_comboboxes()
|
|||||||
//p->m_staticText_filament_settings->Update();
|
//p->m_staticText_filament_settings->Update();
|
||||||
|
|
||||||
if (is_bbl_vendor || cfg.opt_bool("support_multi_bed_types")) {
|
if (is_bbl_vendor || cfg.opt_bool("support_multi_bed_types")) {
|
||||||
m_bed_type_list->Enable();
|
// m_bed_type_list->Enable();
|
||||||
// Orca: don't update bed type if loading project
|
// Orca: don't update bed type if loading project
|
||||||
if (!p->plater->is_loading_project()) {
|
if (!p->plater->is_loading_project()) {
|
||||||
auto str_bed_type = wxGetApp().app_config->get_printer_setting(wxGetApp().preset_bundle->printers.get_selected_preset_name(),
|
auto str_bed_type = wxGetApp().app_config->get_printer_setting(wxGetApp().preset_bundle->printers.get_selected_preset_name(),
|
||||||
@ -1310,17 +1339,17 @@ void Sidebar::update_all_preset_comboboxes()
|
|||||||
bed_type_value = preset_bundle.printers.get_edited_preset().get_default_bed_type(&preset_bundle);
|
bed_type_value = preset_bundle.printers.get_edited_preset().get_default_bed_type(&preset_bundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_bed_type_list->SelectAndNotify(bed_type_value - 1);
|
//m_bed_type_list->SelectAndNotify(bed_type_value - 1);
|
||||||
} else {
|
} else {
|
||||||
BedType bed_type = preset_bundle.printers.get_edited_preset().get_default_bed_type(&preset_bundle);
|
BedType bed_type = preset_bundle.printers.get_edited_preset().get_default_bed_type(&preset_bundle);
|
||||||
m_bed_type_list->SelectAndNotify((int) bed_type - 1);
|
// m_bed_type_list->SelectAndNotify((int) bed_type - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// m_bed_type_list->SelectAndNotify(btPEI - 1);
|
// m_bed_type_list->SelectAndNotify(btPEI - 1);
|
||||||
BedType bed_type = preset_bundle.printers.get_edited_preset().get_default_bed_type(&preset_bundle);
|
/* BedType bed_type = preset_bundle.printers.get_edited_preset().get_default_bed_type(&preset_bundle);
|
||||||
m_bed_type_list->SelectAndNotify((int) bed_type - 1);
|
m_bed_type_list->SelectAndNotify((int) bed_type - 1);
|
||||||
m_bed_type_list->Disable();
|
m_bed_type_list->Disable();*/
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the print choosers to only contain the compatible presets, update the dirty flags.
|
// Update the print choosers to only contain the compatible presets, update the dirty flags.
|
||||||
@ -1459,6 +1488,20 @@ void Sidebar::update_presets_from_to(Slic3r::Preset::Type preset_type, std::stri
|
|||||||
BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": exit!");
|
BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(": exit!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Sidebar::showModeSet(bool show)
|
||||||
|
{
|
||||||
|
if (show) {
|
||||||
|
m_bed_type_list->Show();
|
||||||
|
bed_type_title->Show();
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
m_bed_type_list->Hide();
|
||||||
|
bed_type_title->Hide();
|
||||||
|
}
|
||||||
|
m_bed_type_list->Select(0);
|
||||||
|
}
|
||||||
|
|
||||||
void Sidebar::change_top_border_for_mode_sizer(bool increase_border)
|
void Sidebar::change_top_border_for_mode_sizer(bool increase_border)
|
||||||
{
|
{
|
||||||
// BBS
|
// BBS
|
||||||
@ -1704,8 +1747,8 @@ void Sidebar::on_bed_type_change(BedType bed_type)
|
|||||||
{
|
{
|
||||||
// btDefault option is not included in global bed type setting
|
// btDefault option is not included in global bed type setting
|
||||||
int sel_idx = (int)bed_type - 1;
|
int sel_idx = (int)bed_type - 1;
|
||||||
if (m_bed_type_list != nullptr)
|
//if (m_bed_type_list != nullptr)
|
||||||
m_bed_type_list->SetSelection(sel_idx);
|
//m_bed_type_list->SetSelection(sel_idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::map<int, DynamicPrintConfig> Sidebar::build_filament_ams_list(MachineObject* obj)
|
std::map<int, DynamicPrintConfig> Sidebar::build_filament_ams_list(MachineObject* obj)
|
||||||
@ -2796,7 +2839,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
|
|||||||
, main_frame(main_frame)
|
, main_frame(main_frame)
|
||||||
//BBS: add bed_exclude_area
|
//BBS: add bed_exclude_area
|
||||||
, config(Slic3r::DynamicPrintConfig::new_from_defaults_keys({
|
, config(Slic3r::DynamicPrintConfig::new_from_defaults_keys({
|
||||||
"printable_area", "bed_exclude_area", "bed_custom_texture", "bed_custom_model", "print_sequence",
|
"printable_area", "bed_exclude_area", "bed_custom_texture", "bed_custom_model", "print_sequence","print_mode",
|
||||||
"extruder_clearance_radius", "extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod",
|
"extruder_clearance_radius", "extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod",
|
||||||
"nozzle_height", "skirt_type", "skirt_loops", "skirt_speed","min_skirt_length", "skirt_distance", "skirt_start_angle",
|
"nozzle_height", "skirt_type", "skirt_loops", "skirt_speed","min_skirt_length", "skirt_distance", "skirt_start_angle",
|
||||||
"brim_width", "brim_object_gap", "brim_type", "nozzle_diameter", "single_extruder_multi_material", "preferred_orientation",
|
"brim_width", "brim_object_gap", "brim_type", "nozzle_diameter", "single_extruder_multi_material", "preferred_orientation",
|
||||||
@ -13136,6 +13179,8 @@ void Plater::on_config_change(const DynamicPrintConfig &config)
|
|||||||
else if (opt_key == "printer_model") {
|
else if (opt_key == "printer_model") {
|
||||||
p->reset_gcode_toolpaths();
|
p->reset_gcode_toolpaths();
|
||||||
// update to force bed selection(for texturing)
|
// update to force bed selection(for texturing)
|
||||||
|
auto printer_model = wxGetApp().preset_bundle->full_config().opt_string("printer_model");
|
||||||
|
sidebar().showModeSet(printer_model == "CreatBot F430NX HS");
|
||||||
bed_shape_changed = true;
|
bed_shape_changed = true;
|
||||||
update_scheduled = true;
|
update_scheduled = true;
|
||||||
}
|
}
|
||||||
|
@ -140,7 +140,7 @@ public:
|
|||||||
void update_presets(Slic3r::Preset::Type preset_type);
|
void update_presets(Slic3r::Preset::Type preset_type);
|
||||||
//BBS
|
//BBS
|
||||||
void update_presets_from_to(Slic3r::Preset::Type preset_type, std::string from, std::string to);
|
void update_presets_from_to(Slic3r::Preset::Type preset_type, std::string from, std::string to);
|
||||||
|
void showModeSet(bool show);
|
||||||
void change_top_border_for_mode_sizer(bool increase_border);
|
void change_top_border_for_mode_sizer(bool increase_border);
|
||||||
void msw_rescale();
|
void msw_rescale();
|
||||||
void sys_color_changed();
|
void sys_color_changed();
|
||||||
@ -205,6 +205,7 @@ private:
|
|||||||
|
|
||||||
wxBoxSizer* m_scrolled_sizer = nullptr;
|
wxBoxSizer* m_scrolled_sizer = nullptr;
|
||||||
ComboBox* m_bed_type_list = nullptr;
|
ComboBox* m_bed_type_list = nullptr;
|
||||||
|
wxStaticText* bed_type_title = nullptr;
|
||||||
ScalableButton* connection_btn = nullptr;
|
ScalableButton* connection_btn = nullptr;
|
||||||
ScalableButton* ams_btn = nullptr;
|
ScalableButton* ams_btn = nullptr;
|
||||||
};
|
};
|
||||||
|
@ -1121,6 +1121,15 @@ void Tab::update_dirty()
|
|||||||
update_changed_ui();
|
update_changed_ui();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Tab::update_print_mode()
|
||||||
|
{
|
||||||
|
auto print_mode = m_config->option<ConfigOptionEnum<PrintMode>>("print_mode");
|
||||||
|
if (print_mode) {
|
||||||
|
const bool is_normal = print_mode->value == PrintMode::ptNorma;
|
||||||
|
on_value_change("print_mode", print_mode->value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Tab::update_tab_ui(bool update_plater_presets)
|
void Tab::update_tab_ui(bool update_plater_presets)
|
||||||
{
|
{
|
||||||
if (m_presets_choice) {
|
if (m_presets_choice) {
|
||||||
|
@ -368,6 +368,7 @@ public:
|
|||||||
virtual void update_custom_dirty() {}
|
virtual void update_custom_dirty() {}
|
||||||
void load_initial_data();
|
void load_initial_data();
|
||||||
void update_dirty();
|
void update_dirty();
|
||||||
|
void update_print_mode();
|
||||||
//BBS update plater presets if update_plater_presets = true
|
//BBS update plater presets if update_plater_presets = true
|
||||||
void update_tab_ui(bool update_plater_presets = false);
|
void update_tab_ui(bool update_plater_presets = false);
|
||||||
void load_config(const DynamicPrintConfig& config);
|
void load_config(const DynamicPrintConfig& config);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user