工具栏拆分。连续材料禁用修改
This commit is contained in:
parent
885c2fcf2e
commit
a9c8ab6f9f
|
@ -2083,12 +2083,12 @@ void TabPrint::build()
|
||||||
page = add_options_page(L("Support"), "support");
|
page = add_options_page(L("Support"), "support");
|
||||||
optgroup = page->new_optgroup("", L"param_support");
|
optgroup = page->new_optgroup("", L"param_support");
|
||||||
optgroup->append_single_option_line("enable_support", "support");
|
optgroup->append_single_option_line("enable_support", "support");
|
||||||
optgroup->append_single_option_line("support_type", "support#support-types");
|
//optgroup->append_single_option_line("support_type", "support#support-types");
|
||||||
optgroup->append_single_option_line("support_style", "support#support-styles");
|
//optgroup->append_single_option_line("support_style", "support#support-styles");
|
||||||
optgroup->append_single_option_line("support_threshold_angle", "support#threshold-angle");
|
//optgroup->append_single_option_line("support_threshold_angle", "support#threshold-angle");
|
||||||
optgroup->append_single_option_line("support_on_build_plate_only");
|
//optgroup->append_single_option_line("support_on_build_plate_only");
|
||||||
optgroup->append_single_option_line("support_critical_regions_only");
|
//optgroup->append_single_option_line("support_critical_regions_only");
|
||||||
optgroup->append_single_option_line("support_remove_small_overhang");
|
//optgroup->append_single_option_line("support_remove_small_overhang");
|
||||||
//optgroup->append_single_option_line("enforce_support_layers");
|
//optgroup->append_single_option_line("enforce_support_layers");
|
||||||
|
|
||||||
//optgroup = page->new_optgroup(L("Raft"), L"param_raft");
|
//optgroup = page->new_optgroup(L("Raft"), L"param_raft");
|
||||||
|
@ -3252,53 +3252,180 @@ void TabFilament::toggle_options()
|
||||||
{
|
{
|
||||||
if (!m_active_page)
|
if (!m_active_page)
|
||||||
return;
|
return;
|
||||||
|
//m_active_page->clear();
|
||||||
|
//return;
|
||||||
bool is_BBL_printer = false;
|
bool is_BBL_printer = false;
|
||||||
if (m_preset_bundle) {
|
if (m_preset_bundle) {
|
||||||
is_BBL_printer =
|
is_BBL_printer =
|
||||||
m_preset_bundle->printers.get_edited_preset().is_bbl_vendor_preset(
|
m_preset_bundle->printers.get_edited_preset().is_bbl_vendor_preset(
|
||||||
m_preset_bundle);
|
m_preset_bundle);
|
||||||
}
|
}
|
||||||
|
//wxString abc = wxGetApp().get_tab(Preset::TYPE_CONFIG)->get_combo_box()->GetTextLabel();
|
||||||
|
wxString abc = wxString::FromUTF8( m_preset_bundle->filaments.get_edited_preset().name);
|
||||||
|
//InfillPattern bcd = m_preset_bundle->configs.get_edited_preset().config.opt_enum<InfillPattern>("top_surface_pattern");
|
||||||
|
wxString lian_xu = _L("Lian xu");
|
||||||
|
if (abc.Contains(lian_xu)) {
|
||||||
|
if (m_active_page->title() == "Filament")
|
||||||
|
{
|
||||||
|
toggle_option("filament_type", false);
|
||||||
|
toggle_option("filament_vendor", false);
|
||||||
|
//xiamian++
|
||||||
|
toggle_option("default_filament_colour", false);
|
||||||
|
toggle_option("filament_diameter", false);
|
||||||
|
toggle_option("filament_flow_ratio", false);
|
||||||
|
toggle_option("filament_density", false);
|
||||||
|
toggle_option("filament_cost", false);
|
||||||
|
toggle_option("temperature_vitrification", false);
|
||||||
|
toggle_option("nozzle_temperature_range_low", false);
|
||||||
|
toggle_option("nozzle_temperature_range_high", false);
|
||||||
|
toggle_option("filament_max_volumetric_speed", false);
|
||||||
|
toggle_option("enable_pressure_advance", false);
|
||||||
|
//BBS: hide these useless option for bambu printer
|
||||||
|
toggle_line("enable_pressure_advance", !is_BBL_printer);
|
||||||
|
if (is_BBL_printer)
|
||||||
|
toggle_line("pressure_advance", false);
|
||||||
|
else {
|
||||||
|
toggle_line("pressure_advance", true);
|
||||||
|
toggle_option("pressure_advance", m_config->opt_bool("enable_pressure_advance", 0));
|
||||||
|
}
|
||||||
|
|
||||||
if (m_active_page->title() == "Cooling")
|
bool support_chamber_temp_control = this->m_preset_bundle->printers.get_edited_preset().config.opt_bool("support_chamber_temp_control");
|
||||||
{
|
toggle_line("chamber_temperatures", support_chamber_temp_control);
|
||||||
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 :
|
||||||
for (auto el : { "overhang_fan_speed", "overhang_fan_threshold" })
|
{ "cool_plate_temp", "cool_plate_temp_initial_layer", "eng_plate_temp", "eng_plate_temp_initial_layer", "textured_plate_temp", "textured_plate_temp_initial_layer" })
|
||||||
toggle_option(el, has_enable_overhang_bridge_fan);
|
toggle_line(el, is_BBL_printer);
|
||||||
|
|
||||||
bool support_air_filtration = m_preset_bundle->printers.get_edited_preset().config.opt_bool("support_air_filtration");
|
|
||||||
toggle_line("activate_air_filtration",is_BBL_printer && support_air_filtration);
|
|
||||||
|
|
||||||
for (auto elem : { "during_print_exhaust_fan_speed","complete_print_exhaust_fan_speed" })
|
|
||||||
toggle_line(elem, m_config->opt_bool("activate_air_filtration",0)&&support_air_filtration);
|
|
||||||
|
|
||||||
}
|
|
||||||
if (m_active_page->title() == "Filament")
|
|
||||||
{
|
|
||||||
toggle_option("filament_type", false);
|
|
||||||
toggle_option("filament_vendor", false);
|
|
||||||
//BBS: hide these useless option for bambu printer
|
|
||||||
toggle_line("enable_pressure_advance", !is_BBL_printer);
|
|
||||||
if (is_BBL_printer)
|
|
||||||
toggle_line("pressure_advance", false);
|
|
||||||
else {
|
|
||||||
toggle_line("pressure_advance", true);
|
|
||||||
toggle_option("pressure_advance", m_config->opt_bool("enable_pressure_advance", 0));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool support_chamber_temp_control = this->m_preset_bundle->printers.get_edited_preset().config.opt_bool("support_chamber_temp_control");
|
if (m_active_page->title() == "Cooling")
|
||||||
toggle_line("chamber_temperatures", support_chamber_temp_control);
|
{
|
||||||
|
toggle_option("close_fan_the_first_x_layers", false);
|
||||||
|
toggle_option("fan_min_speed", false);
|
||||||
|
toggle_option("fan_cooling_layer_time", false);
|
||||||
|
toggle_option("fan_max_speed", false);
|
||||||
|
toggle_option("slow_down_layer_time", false);
|
||||||
|
|
||||||
|
toggle_line("reduce_fan_stop_start_freq", false);
|
||||||
|
|
||||||
|
toggle_line("slow_down_for_layer_cooling", false);
|
||||||
|
toggle_option("slow_down_min_speed", false);
|
||||||
|
|
||||||
|
toggle_line("enable_overhang_bridge_fan", false);
|
||||||
|
toggle_option("overhang_fan_threshold", false);
|
||||||
|
toggle_option("overhang_fan_speed", false);
|
||||||
|
|
||||||
for (auto el :
|
toggle_option("additional_cooling_fan_speed", false);
|
||||||
{"cool_plate_temp", "cool_plate_temp_initial_layer", "eng_plate_temp", "eng_plate_temp_initial_layer", "textured_plate_temp", "textured_plate_temp_initial_layer"})
|
|
||||||
toggle_line(el, is_BBL_printer);
|
bool support_air_filtration = m_preset_bundle->printers.get_edited_preset().config.opt_bool("support_air_filtration");
|
||||||
|
toggle_line("activate_air_filtration", is_BBL_printer && support_air_filtration);
|
||||||
|
|
||||||
|
for (auto elem : { "during_print_exhaust_fan_speed","complete_print_exhaust_fan_speed" })
|
||||||
|
toggle_line(elem, m_config->opt_bool("activate_air_filtration", 0) && support_air_filtration);
|
||||||
|
}
|
||||||
|
if (m_active_page->title() == "Advanced") {
|
||||||
|
toggle_option("filament_start_gcode", false);
|
||||||
|
toggle_option("filament_end_gcode", false);
|
||||||
|
}
|
||||||
|
if (m_active_page->title() == "Notes") {
|
||||||
|
toggle_option("filament_notes", false);
|
||||||
|
}
|
||||||
|
if (m_active_page->title() == "Setting Overrides") {
|
||||||
|
update_filament_overrides_page();
|
||||||
|
for (const std::string opt_key : { "filament_retraction_length",
|
||||||
|
"filament_z_hop",
|
||||||
|
"filament_z_hop_types",
|
||||||
|
"filament_retraction_speed",
|
||||||
|
"filament_deretraction_speed",
|
||||||
|
//"filament_retract_restart_extra",
|
||||||
|
"filament_retraction_minimum_travel",
|
||||||
|
"filament_retract_when_changing_layer",
|
||||||
|
"filament_wipe",
|
||||||
|
//BBS
|
||||||
|
"filament_wipe_distance",
|
||||||
|
"filament_retract_before_wipe",
|
||||||
|
"filament_long_retractions_when_cut",
|
||||||
|
"filament_retraction_distances_when_cut"
|
||||||
|
})
|
||||||
|
toggle_option(opt_key, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
if (m_active_page->title() == "Cooling")
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
if (m_active_page->title() == "Setting Overrides")
|
toggle_option("close_fan_the_first_x_layers", true);
|
||||||
update_filament_overrides_page();
|
toggle_option("fan_min_speed", true);
|
||||||
|
toggle_option("fan_cooling_layer_time", true);
|
||||||
|
toggle_option("fan_max_speed", true);
|
||||||
|
toggle_option("slow_down_layer_time", true);
|
||||||
|
|
||||||
|
toggle_line("reduce_fan_stop_start_freq", true);
|
||||||
|
|
||||||
|
toggle_line("slow_down_for_layer_cooling", true);
|
||||||
|
toggle_option("slow_down_min_speed", true);
|
||||||
|
|
||||||
|
toggle_line("enable_overhang_bridge_fan", true);
|
||||||
|
toggle_option("overhang_fan_threshold", true);
|
||||||
|
toggle_option("overhang_fan_speed", true);
|
||||||
|
|
||||||
|
toggle_option("additional_cooling_fan_speed", true);
|
||||||
|
|
||||||
|
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" })
|
||||||
|
toggle_option(el, has_enable_overhang_bridge_fan);
|
||||||
|
|
||||||
|
bool support_air_filtration = m_preset_bundle->printers.get_edited_preset().config.opt_bool("support_air_filtration");
|
||||||
|
toggle_line("activate_air_filtration", is_BBL_printer && support_air_filtration);
|
||||||
|
|
||||||
|
for (auto elem : { "during_print_exhaust_fan_speed","complete_print_exhaust_fan_speed" })
|
||||||
|
toggle_line(elem, m_config->opt_bool("activate_air_filtration", 0) && support_air_filtration);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (m_active_page->title() == "Filament")
|
||||||
|
{
|
||||||
|
toggle_option("filament_type", false);
|
||||||
|
toggle_option("filament_vendor", false);
|
||||||
|
//xiamian++
|
||||||
|
toggle_option("default_filament_colour", true);
|
||||||
|
toggle_option("filament_diameter", true);
|
||||||
|
toggle_option("filament_flow_ratio", true);
|
||||||
|
toggle_option("filament_density", true);
|
||||||
|
toggle_option("filament_cost", true);
|
||||||
|
toggle_option("temperature_vitrification", true);
|
||||||
|
toggle_option("nozzle_temperature_range_low", true);
|
||||||
|
toggle_option("nozzle_temperature_range_high", true);
|
||||||
|
toggle_option("filament_max_volumetric_speed", true);
|
||||||
|
toggle_option("enable_pressure_advance", true);
|
||||||
|
//BBS: hide these useless option for bambu printer
|
||||||
|
toggle_line("enable_pressure_advance", !is_BBL_printer);
|
||||||
|
if (is_BBL_printer)
|
||||||
|
toggle_line("pressure_advance", false);
|
||||||
|
else {
|
||||||
|
toggle_line("pressure_advance", true);
|
||||||
|
toggle_option("pressure_advance", m_config->opt_bool("enable_pressure_advance", 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
bool support_chamber_temp_control = this->m_preset_bundle->printers.get_edited_preset().config.opt_bool("support_chamber_temp_control");
|
||||||
|
toggle_line("chamber_temperatures", support_chamber_temp_control);
|
||||||
|
|
||||||
|
for (auto el :
|
||||||
|
{ "cool_plate_temp", "cool_plate_temp_initial_layer", "eng_plate_temp", "eng_plate_temp_initial_layer", "textured_plate_temp", "textured_plate_temp_initial_layer" })
|
||||||
|
toggle_line(el, is_BBL_printer);
|
||||||
|
}
|
||||||
|
if (m_active_page->title() == "Advanced") {
|
||||||
|
toggle_option("filament_start_gcode", true);
|
||||||
|
toggle_option("filament_end_gcode", true);
|
||||||
|
}
|
||||||
|
if (m_active_page->title() == "Notes") {
|
||||||
|
toggle_option("filament_notes", true);
|
||||||
|
}
|
||||||
|
if (m_active_page->title() == "Setting Overrides")
|
||||||
|
update_filament_overrides_page();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabFilament::update()
|
void TabFilament::update()
|
||||||
|
@ -3309,7 +3436,7 @@ void TabFilament::update()
|
||||||
m_config_manipulation.check_filament_max_volumetric_speed(m_config);
|
m_config_manipulation.check_filament_max_volumetric_speed(m_config);
|
||||||
|
|
||||||
m_update_cnt++;
|
m_update_cnt++;
|
||||||
|
//m_parent->get_paged_view()->Close();
|
||||||
update_description_lines();
|
update_description_lines();
|
||||||
//BBS: GUI refactor
|
//BBS: GUI refactor
|
||||||
//Layout();
|
//Layout();
|
||||||
|
@ -4422,12 +4549,39 @@ void TabConfig::toggle_options() {
|
||||||
if (m_preset_bundle) {
|
if (m_preset_bundle) {
|
||||||
is_BBL_printer = m_preset_bundle->configs.get_edited_preset().is_bbl_vendor_preset(m_preset_bundle);
|
is_BBL_printer = m_preset_bundle->configs.get_edited_preset().is_bbl_vendor_preset(m_preset_bundle);
|
||||||
}
|
}
|
||||||
//std::string cde = "1";
|
bool enable_support = m_preset_bundle->prints.get_edited_preset().config.opt_bool("enable_support");
|
||||||
//m_preset_bundle->filament_presets
|
|
||||||
/* for (auto& f : m_preset_bundle->filament_presets) {
|
for (auto el : { "support_style", "support_base_pattern",
|
||||||
cde = f;
|
"support_base_pattern_spacing", "support_expansion", "support_angle",
|
||||||
}*/
|
"support_interface_pattern", "support_interface_top_layers", "support_interface_bottom_layers",
|
||||||
|
"bridge_no_support", "max_bridge_length", "support_top_z_distance", "support_bottom_z_distance",
|
||||||
|
//BBS: add more support params to dependent of enable_support
|
||||||
|
"support_type", "support_on_build_plate_only",
|
||||||
|
"support_remove_small_overhang","support_interface_not_for_body",
|
||||||
|
"support_object_xy_distance","support_object_first_layer_gap",/* "independent_support_layer_height"*/
|
||||||
|
"support_filament","support_interface_filament"})
|
||||||
|
toggle_option(el, enable_support);
|
||||||
|
|
||||||
|
Field* field = m_active_page->get_field("support_style");
|
||||||
|
auto support_type = m_config->opt_enum<SupportType>("support_type");
|
||||||
|
if (auto choice = dynamic_cast<Choice*>(field)) {
|
||||||
|
auto def = print_config_def.get("support_style");
|
||||||
|
std::vector<int> enum_set_normal = { smsDefault, smsGrid, smsSnug };
|
||||||
|
std::vector<int> enum_set_tree = { smsDefault, smsTreeSlim, smsTreeStrong, smsTreeHybrid, smsTreeOrganic };
|
||||||
|
auto& set = is_tree(support_type) ? enum_set_tree : enum_set_normal;
|
||||||
|
auto& opt = const_cast<ConfigOptionDef&>(field->m_opt);
|
||||||
|
auto cb = dynamic_cast<ComboBox*>(choice->window);
|
||||||
|
auto n = cb->GetValue();
|
||||||
|
opt.enum_values.clear();
|
||||||
|
opt.enum_labels.clear();
|
||||||
|
cb->Clear();
|
||||||
|
for (auto i : set) {
|
||||||
|
opt.enum_values.push_back(def->enum_values[i]);
|
||||||
|
opt.enum_labels.push_back(def->enum_labels[i]);
|
||||||
|
cb->Append(_(def->enum_labels[i]));
|
||||||
|
}
|
||||||
|
cb->SetValue(n);
|
||||||
|
}
|
||||||
//p->combos_filament
|
//p->combos_filament
|
||||||
//m_preset_bundle->configs.update_dirty();
|
//m_preset_bundle->configs.update_dirty();
|
||||||
//wxString abc = wxString::FromUTF8( m_preset_bundle->configs.get_selected_preset().name);
|
//wxString abc = wxString::FromUTF8( m_preset_bundle->configs.get_selected_preset().name);
|
||||||
|
@ -4783,9 +4937,14 @@ void Tab::rebuild_page_tree()
|
||||||
// suppress activate page before page_tree rebuilding
|
// suppress activate page before page_tree rebuilding
|
||||||
m_disable_tree_sel_changed_event = true;
|
m_disable_tree_sel_changed_event = true;
|
||||||
m_tabctrl->DeleteAllItems();
|
m_tabctrl->DeleteAllItems();
|
||||||
|
//wxString abc = wxGetApp().get_tab(Preset::TYPE_CONFIG)->get_combo_box()->GetTextLabel();
|
||||||
|
//wxString lian_xu = _L("Lian xu");
|
||||||
|
//bool isLianxu = abc.Contains(lian_xu);
|
||||||
for (auto p : m_pages)
|
for (auto p : m_pages)
|
||||||
{
|
{
|
||||||
|
/* if (isLianxu) {
|
||||||
|
if (p->g) {}
|
||||||
|
}*/
|
||||||
if (!p->get_show())
|
if (!p->get_show())
|
||||||
continue;
|
continue;
|
||||||
auto itemId = m_tabctrl->AppendItem(translate_category(p->title(), m_type), p->iconID());
|
auto itemId = m_tabctrl->AppendItem(translate_category(p->title(), m_type), p->iconID());
|
||||||
|
@ -4883,6 +5042,7 @@ bool Tab::select_preset(std::string preset_name, bool delete_current /*=false*/,
|
||||||
bool current_dirty = ! delete_current && m_presets->current_is_dirty();
|
bool current_dirty = ! delete_current && m_presets->current_is_dirty();
|
||||||
bool print_tab = m_presets->type() == Preset::TYPE_PRINT || m_presets->type() == Preset::TYPE_SLA_PRINT;
|
bool print_tab = m_presets->type() == Preset::TYPE_PRINT || m_presets->type() == Preset::TYPE_SLA_PRINT;
|
||||||
bool printer_tab = m_presets->type() == Preset::TYPE_PRINTER;
|
bool printer_tab = m_presets->type() == Preset::TYPE_PRINTER;
|
||||||
|
//bool filament_tab = m_presets->type() == Preset::TYPE_FILAMENT;
|
||||||
bool canceled = false;
|
bool canceled = false;
|
||||||
bool no_transfer = false;
|
bool no_transfer = false;
|
||||||
bool technology_changed = false;
|
bool technology_changed = false;
|
||||||
|
@ -5071,7 +5231,8 @@ bool Tab::select_preset(std::string preset_name, bool delete_current /*=false*/,
|
||||||
// Initialize the UI from the current preset.
|
// Initialize the UI from the current preset.
|
||||||
if (printer_tab)
|
if (printer_tab)
|
||||||
static_cast<TabPrinter*>(this)->update_pages();
|
static_cast<TabPrinter*>(this)->update_pages();
|
||||||
|
/* if (filament_tab)
|
||||||
|
static_cast<TabFilament*>(this)->update_pages();*/
|
||||||
if (! is_selected && printer_tab)
|
if (! is_selected && printer_tab)
|
||||||
{
|
{
|
||||||
/* There is a case, when :
|
/* There is a case, when :
|
||||||
|
|
Loading…
Reference in New Issue