From 33af4b520d35c153747f6a1eb19a1c8355236196 Mon Sep 17 00:00:00 2001 From: QIDI TECH <893239786@qq.com> Date: Fri, 23 Jun 2023 20:16:22 +0800 Subject: [PATCH] Add filament property --- QIDISlicer.version | 2 +- resources/profiles/QIDITechnology.ini | 140 ++++++++++++++++++++++++++ src/libslic3r/Preset.cpp | 7 +- src/libslic3r/PrintConfig.cpp | 123 ++++++++++++++++++++++ src/libslic3r/PrintConfig.hpp | 23 ++++- src/slic3r/GUI/PresetHints.cpp | 41 ++++++++ src/slic3r/GUI/PresetHints.hpp | 3 + src/slic3r/GUI/Tab.cpp | 65 ++++++++++-- src/slic3r/GUI/Tab.hpp | 3 + 9 files changed, 398 insertions(+), 9 deletions(-) diff --git a/QIDISlicer.version b/QIDISlicer.version index b150738..b9b2927 100644 --- a/QIDISlicer.version +++ b/QIDISlicer.version @@ -10,7 +10,7 @@ rc = 1.0.1-rc2 [release:win64] url = https://github.com/QIDITECH/QIDISlicer/releases/download/V1.0.1/QIDISlicer_Setup_1.0.1.exe -size = 64366437 +size = 64339627 [release:linux] url = https://qidi3d.com diff --git a/resources/profiles/QIDITechnology.ini b/resources/profiles/QIDITechnology.ini index 086da20..fa02266 100644 --- a/resources/profiles/QIDITechnology.ini +++ b/resources/profiles/QIDITechnology.ini @@ -299,6 +299,19 @@ filament_loading_speed_start = 3 filament_max_volumetric_speed = 21 filament_minimal_purge_on_wipe_tower = 15 filament_notes = "" +filament_property_drying_box = nil +filament_property_anneal_temperature = nil +filament_property_water_resistance = weak +filament_property_corrosion_resistance = weak +filament_property_creep_resistance = weak +filament_property_hdt_045 = 57 +filament_property_hdt_180 = 0 +filament_property_tensile_strength = 39±3 +filament_property_tensile_modulus = 4650±150 +filament_property_elongation_at_break = 12.5±2.5 +filament_property_flexural_strength = 72.5±2.5 +filament_property_flexural_modulus = 2850±150 +filament_property_notch_impact_strength = 6±2 filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" filament_retract_before_travel = nil filament_retract_before_wipe = nil @@ -349,6 +362,15 @@ extrusion_multiplier = 0.95 filament_colour = #FFC800 filament_density = 1.02 filament_max_volumetric_speed = 22 +filament_property_water_resistance = fine +filament_property_creep_resistance = strong +filament_property_hdt_045 = 85 +filament_property_tensile_strength = 41±1 +filament_property_tensile_modulus = 3850±150 +filament_property_elongation_at_break = 11±1 +filament_property_flexural_strength = 77.5±2.5 +filament_property_flexural_modulus = 2700±100 +filament_property_notch_impact_strength = 20±2 filament_type = ABS first_layer_bed_temperature = 100 first_layer_temperature = 250 @@ -368,6 +390,16 @@ extrusion_multiplier = 0.95 filament_colour = #282828 filament_density = 1.15 filament_max_volumetric_speed = 17 +filament_property_water_resistance = strong +filament_property_creep_resistance = strong +filament_property_hdt_045 = 97 +filament_property_hdt_180 = 93 +filament_property_tensile_strength = 48.48±0.61 +filament_property_tensile_modulus = 3752.13±68.39 +filament_property_elongation_at_break = 2.1±0.1 +filament_property_flexural_strength = 78.8±1.26 +filament_property_flexural_modulus = 3531.71±75.79 +filament_property_notch_impact_strength = 8.91±0.63 filament_type = ABS-GF first_layer_bed_temperature = 100 first_layer_temperature = 270 @@ -386,6 +418,17 @@ extrusion_multiplier = 0.96 filament_colour = #696969 filament_density = 1.09 filament_max_volumetric_speed = 14 +filament_property_drying_box = 15 +filament_property_anneal_temperature = 90 +filament_property_corrosion_resistance = fine +filament_property_hdt_045 = 149.6 +filament_property_hdt_180 = 112.4 +filament_property_tensile_strength = 87.49±2.81 +filament_property_tensile_modulus = 5438.4±282.82 +filament_property_elongation_at_break = 2.59±0.19 +filament_property_flexural_strength = 133.17±4.66 +filament_property_flexural_modulus = 4667.43±339.80 +filament_property_notch_impact_strength = 6.11±1.45 filament_type = PA12-CF first_layer_bed_temperature = 80 first_layer_temperature = 290 @@ -403,6 +446,19 @@ extrusion_multiplier = 0.96 filament_colour = #4F4F4F filament_density = 1.20 filament_max_volumetric_speed = 15 +filament_property_drying_box = 15 +filament_property_anneal_temperature = 90 +filament_property_water_resistance = fine +filament_property_corrosion_resistance = strong +filament_property_creep_resistance = strong +filament_property_hdt_045 = 192.3 +filament_property_hdt_180 = 121.7 +filament_property_tensile_strength = 104.9±1.99 +filament_property_tensile_modulus = 8383.26±419.53 +filament_property_elongation_at_break = 1.6±0.07 +filament_property_flexural_strength = 147.7±4.09 +filament_property_flexural_modulus = 5969.35±145.28 +filament_property_notch_impact_strength = 6.17±0.2 filament_type = PAHT-CF first_layer_bed_temperature = 80 first_layer_temperature = 310 @@ -420,6 +476,19 @@ extrusion_multiplier = 1 filament_colour = #323232 filament_density = 1.30 filament_max_volumetric_speed = 14 +filament_property_drying_box = 15 +filament_property_anneal_temperature = 90 +filament_property_water_resistance = strong +filament_property_corrosion_resistance = strong +filament_property_creep_resistance = strong +filament_property_hdt_045 = 148.8 +filament_property_hdt_180 = 112.1 +filament_property_tensile_strength = 87.41±3.57 +filament_property_tensile_modulus = 6025.53±355.46 +filament_property_elongation_at_break = 1.99±0.18 +filament_property_flexural_strength = 122.69±5.19 +filament_property_flexural_modulus = 5313.21±197.89 +filament_property_notch_impact_strength = 5.78±0.58 filament_type = PET-CF first_layer_bed_temperature = 80 first_layer_temperature = 320 @@ -437,6 +506,18 @@ extrusion_multiplier = 0.95 filament_colour = #00FF40 filament_density = 1.24 filament_max_volumetric_speed = 16 +filament_property_drying_box = 20 +filament_property_water_resistance = strong +filament_property_corrosion_resistance = fine +filament_property_creep_resistance = strong +filament_property_hdt_045 = 78 +filament_property_hdt_180 = 73 +filament_property_tensile_strength = 40.3±0.6 +filament_property_tensile_modulus = 1780±80 +filament_property_elongation_at_break = 4.0±0.2 +filament_property_flexural_strength = 62.8±0.4 +filament_property_flexural_modulus = 1919±54 +filament_property_notch_impact_strength = 13.9±2.3 filament_type = PETG first_layer_bed_temperature = 80 first_layer_temperature = 240 @@ -452,6 +533,12 @@ inherits = *common* filament_colour = #0073E6 filament_density = 1.42 filament_max_volumetric_speed = 22 +filament_property_hdt_045 = 58 +filament_property_tensile_modulus = 2400±200 +filament_property_elongation_at_break = 3±1 +filament_property_flexural_strength = 77.5±2.5 +filament_property_flexural_modulus = 2200±200 +filament_property_notch_impact_strength = 7.5±1.5 [filament:*QIDI UltraPA*] inherits = *common* @@ -463,6 +550,18 @@ extrusion_multiplier = 0.96 filament_colour = #FFEBCD filament_density = 1.21 filament_max_volumetric_speed = 3.5 +filament_property_drying_box = 15 +filament_property_water_resistance = fine +filament_property_corrosion_resistance = fine +filament_property_creep_resistance = fine +filament_property_hdt_045 = 77.8 +filament_property_hdt_180 = 73.1 +filament_property_tensile_strength = 86.15±0.56 +filament_property_tensile_modulus = 3609.22±153.31 +filament_property_elongation_at_break = 11.68±3.36 +filament_property_flexural_strength = 121.47±3.14 +filament_property_flexural_modulus = 3314.03±181.88 +filament_property_notch_impact_strength = 5.78±0.3 filament_type = UltraPA first_layer_bed_temperature = 80 first_layer_temperature = 300 @@ -481,6 +580,16 @@ extrusion_multiplier = 0.95 filament_colour = #FFFF00 filament_density = 1.04 filament_max_volumetric_speed = 17.5 +filament_property_water_resistance = none +filament_property_corrosion_resistance = none +filament_property_creep_resistance = none +filament_property_hdt_045 = 0 +filament_property_tensile_strength = 0 +filament_property_tensile_modulus = 0 +filament_property_elongation_at_break = 0 +filament_property_flexural_strength = 0 +filament_property_flexural_modulus = 0 +filament_property_notch_impact_strength = 0 filament_type = ABS filament_vendor = Generic first_layer_bed_temperature = 100 @@ -498,6 +607,16 @@ extrusion_multiplier = 0.95 filament_colour = #00FF00 filament_density = 1.27 filament_max_volumetric_speed = 9 +filament_property_water_resistance = none +filament_property_corrosion_resistance = none +filament_property_creep_resistance = none +filament_property_hdt_045 = 0 +filament_property_tensile_strength = 0 +filament_property_tensile_modulus = 0 +filament_property_elongation_at_break = 0 +filament_property_flexural_strength = 0 +filament_property_flexural_modulus = 0 +filament_property_notch_impact_strength = 0 filament_type = PETG filament_vendor = Generic first_layer_bed_temperature = 80 @@ -511,6 +630,16 @@ inherits = *common* filament_colour = #0000FF filament_density = 1.20 filament_max_volumetric_speed = 17 +filament_property_water_resistance = none +filament_property_corrosion_resistance = none +filament_property_creep_resistance = none +filament_property_hdt_045 = 0 +filament_property_tensile_strength = 0 +filament_property_tensile_modulus = 0 +filament_property_elongation_at_break = 0 +filament_property_flexural_strength = 0 +filament_property_flexural_modulus = 0 +filament_property_notch_impact_strength = 0 filament_vendor = Generic [filament:*Generic TPU 95A*] @@ -520,6 +649,16 @@ extrusion_multiplier = 1 filament_colour = #8000FF filament_density = 1.21 filament_max_volumetric_speed = 6 +filament_property_water_resistance = none +filament_property_corrosion_resistance = none +filament_property_creep_resistance = none +filament_property_hdt_045 = 0 +filament_property_tensile_strength = 0 +filament_property_tensile_modulus = 0 +filament_property_elongation_at_break = 0 +filament_property_flexural_strength = 0 +filament_property_flexural_modulus = 0 +filament_property_notch_impact_strength = 0 filament_type = TPU filament_vendor = Generic first_layer_temperature = 230 @@ -639,6 +778,7 @@ inherits = *QIDI ABS Rapido* compatible_printers_condition = printer_model=="X-smart 3" advance_pressure = 0.024 filament_max_volumetric_speed = 20 +volume_temperature = 0 [filament:QIDI PETG-Tough @X-smart 3] inherits = *QIDI PETG-Tough* diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 83d3c25..169bc66 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -511,7 +511,12 @@ static std::vector s_Preset_filament_options { //B26 "advance_pressure", //B26 - "smooth_time" + "smooth_time", + //Y7 + "filament_property_drying_box", "filament_property_anneal_temperature", "filament_property_water_resistance", "filament_property_corrosion_resistance", + "filament_property_creep_resistance", "filament_property_hdt_045", "filament_property_hdt_180", "filament_property_tensile_strength", + "filament_property_tensile_modulus", "filament_property_elongation_at_break", "filament_property_flexural_strength","filament_property_flexural_modulus", + "filament_property_notch_impact_strength" }; static std::vector s_Preset_machine_limits_options { diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index da146a3..d6d37b3 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -206,6 +206,14 @@ static const t_config_enum_values s_keys_map_GCodeThumbnailsFormat = { { "QOI", int(GCodeThumbnailsFormat::QOI) } }; CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(GCodeThumbnailsFormat) +//Y7 +static const t_config_enum_values s_keys_map_WaterResistance = { + { "none", int(WaterResistance::None) }, + { "weak", int(WaterResistance::Weak) }, + { "fine", int(WaterResistance::Fine) }, + { "strong", int(WaterResistance::Strong) } +}; +CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(WaterResistance) static const t_config_enum_values s_keys_map_ForwardCompatibilitySubstitutionRule = { { "disable", ForwardCompatibilitySubstitutionRule::Disable }, @@ -1373,6 +1381,121 @@ void PrintConfigDef::init_fff_params() def->mode = comExpert; def->set_default_value(new ConfigOptionInts { 0 }); +////////////Y7 + def = this->add_nullable("filament_property_drying_box", coInts); + def->label = L("Drying box"); + def->tooltip = L("The maximum humidity in the drying box. Please place the desiccant in the drying box so that the internal humidity is lower than this value."); + def->sidetext = L("%"); + def->min = 0; + def->max = 100; + def->mode = comSimple; + def->set_default_value(new ConfigOptionIntsNullable { ConfigOptionIntsNullable::nil_value() }); + + def = this->add_nullable("filament_property_anneal_temperature", coInts); + def->label = L("Anneal temperature"); + def->tooltip = L("Annealing temperature of the filament.Placing the model in a drying oven for 4-6 hours immediately after printing can improve its physical properties."); + def->sidetext = L("°C"); + def->mode = comExpert; + def->set_default_value(new ConfigOptionIntsNullable { ConfigOptionIntsNullable::nil_value() }); + + def = this->add("filament_property_water_resistance", coEnum); + def->label = L("Water resistance"); + def->tooltip = L("Water resistance of the filament."); + def->set_enum({ + { "none", L("None") }, + { "weak", L("Weak") }, + { "fine", L("Fine") }, + { "strong", L("Strong") } + }); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionEnum(WaterResistance::None)); + + def = this->add("filament_property_corrosion_resistance", coEnum); + def->label = L("Corrosion resistance"); + def->tooltip = L("Corrosion resistance of the filament."); + def->set_enum({ + { "none", L("None") }, + { "weak", L("Weak") }, + { "fine", L("Fine") }, + { "strong", L("Strong") } + }); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionEnum(WaterResistance::None)); + + def = this->add("filament_property_creep_resistance", coEnum); + def->label = L("Creep resistance"); + def->tooltip = L("Creep resistance of the filament."); + def->set_enum({ + { "none", L("None") }, + { "weak", L("Weak") }, + { "fine", L("Fine") }, + { "strong", L("Strong") } + }); + def->mode = comAdvanced; + def->set_default_value(new ConfigOptionEnum(WaterResistance::None)); + + def = this->add("filament_property_hdt_045", coFloats); + def->label = L("HDT(0.45MPa)"); + def->tooltip = L("Heat distortion temp(0.45MPa)."); + def->sidetext = L("°C"); + def->mode = comExpert; + def->set_default_value(new ConfigOptionFloats { 0. }); + + def = this->add("filament_property_hdt_180", coFloats); + def->label = L("HDT(1.80MPa)"); + def->tooltip = L("Heat distortion temp(1.80MPa)."); + def->sidetext = L("°C"); + def->mode = comExpert; + def->set_default_value(new ConfigOptionFloats { 0. }); + + def = this->add("filament_property_tensile_strength", coStrings); + def->label = L("Tensile strength"); + def->tooltip = L("Tensile strength of the filament."); + def->sidetext = L("MPa"); + def->width = 15; + def->mode = comExpert; + def->set_default_value(new ConfigOptionStrings { "" }); + + def = this->add("filament_property_tensile_modulus", coStrings); + def->label = L("Tensile modulus"); + def->tooltip = L("Tensile modulus of the filament."); + def->sidetext = L("MPa"); + def->width = 15; + def->mode = comExpert; + def->set_default_value(new ConfigOptionStrings { "" }); + + def = this->add("filament_property_elongation_at_break", coStrings); + def->label = L("Elongation at break"); + def->tooltip = L("Elongation at break of the filament."); + def->sidetext = L("%"); + def->width = 15; + def->mode = comExpert; + def->set_default_value(new ConfigOptionStrings { "" }); + + def = this->add("filament_property_flexural_strength", coStrings); + def->label = L("Flexural strength"); + def->tooltip = L("Flexural strength of the filament."); + def->sidetext = L("MPa"); + def->width = 15; + def->mode = comExpert; + def->set_default_value(new ConfigOptionStrings { "" }); + + def = this->add("filament_property_flexural_modulus", coStrings); + def->label = L("Flexural modulus"); + def->tooltip = L("Flexural modulus of the filament."); + def->sidetext = L("MPa"); + def->width = 15; + def->mode = comExpert; + def->set_default_value(new ConfigOptionStrings { "" }); + + def = this->add("filament_property_notch_impact_strength", coStrings); + def->label = L("Notch impact strength"); + def->tooltip = L("Notch impact strength of the filament."); + def->sidetext = L("MPa"); + def->width = 15; + def->mode = comExpert; + def->set_default_value(new ConfigOptionStrings { "" }); +////////////Y7 def = this->add("fuzzy_skin", coEnum); def->label = L("Fuzzy Skin"); def->category = L("Fuzzy Skin"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index 2b4bff0..2be0883 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -135,7 +135,11 @@ enum class PerimeterGeneratorType }; //B3 enum class GCodeThumbnailsFormat { - QIDI,PNG, JPG, QOI + QIDI, PNG, JPG, QOI +}; +//Y7 +enum class WaterResistance { + None, Weak, Fine, Strong }; #define CONFIG_OPTION_ENUM_DECLARE_STATIC_MAPS(NAME) \ @@ -163,6 +167,8 @@ CONFIG_OPTION_ENUM_DECLARE_STATIC_MAPS(DraftShield) CONFIG_OPTION_ENUM_DECLARE_STATIC_MAPS(GCodeThumbnailsFormat) CONFIG_OPTION_ENUM_DECLARE_STATIC_MAPS(ForwardCompatibilitySubstitutionRule) CONFIG_OPTION_ENUM_DECLARE_STATIC_MAPS(PerimeterGeneratorType) +//Y7 +CONFIG_OPTION_ENUM_DECLARE_STATIC_MAPS(WaterResistance) #undef CONFIG_OPTION_ENUM_DECLARE_STATIC_MAPS @@ -789,6 +795,21 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE( ((ConfigOptionFloatOrPercent, first_layer_height)) ((ConfigOptionFloatOrPercent, first_layer_speed)) ((ConfigOptionInts, first_layer_temperature)) + //Y7 + ((ConfigOptionIntsNullable, filament_property_drying_box)) + ((ConfigOptionIntsNullable, filament_property_anneal_temperature)) + ((ConfigOptionEnum, filament_property_water_resistance)) + ((ConfigOptionEnum, filament_property_corrosion_resistance)) + ((ConfigOptionEnum, filament_property_creep_resistance)) + ((ConfigOptionFloats, filament_property_hdt_045)) + ((ConfigOptionFloats, filament_property_hdt_180)) + ((ConfigOptionStrings, filament_property_tensile_strength)) + ((ConfigOptionStrings, filament_property_tensile_modulus)) + ((ConfigOptionStrings, filament_property_elongation_at_break)) + ((ConfigOptionStrings, filament_property_flexural_strength)) + ((ConfigOptionStrings, filament_property_flexural_modulus)) + ((ConfigOptionStrings, filament_property_notch_impact_strength)) + ((ConfigOptionIntsNullable, idle_temperature)) //B26 ((ConfigOptionBools, enable_advance_pressure)) diff --git a/src/slic3r/GUI/PresetHints.cpp b/src/slic3r/GUI/PresetHints.cpp index 402f8a6..248d112 100644 --- a/src/slic3r/GUI/PresetHints.cpp +++ b/src/slic3r/GUI/PresetHints.cpp @@ -309,5 +309,46 @@ std::string PresetHints::top_bottom_shell_thickness_explanation(const PresetBund return out; } +//Y7 +std::string PresetHints::drying_box_description(const Preset &preset) +{ + std::string out; + + std::string filament_type = preset.config.opt_string("filament_type", 0); + + if (preset.config.option("filament_property_drying_box")->is_nil()) { + out += GUI::format(_L("%1% is no need to put the filament in the drying box when printing."), filament_type); + } + else { + int filament_property_drying_box = preset.config.option("filament_property_drying_box")->get_at(0); + out += GUI::format(_L("%1% will not print properly if it is damp.\n" + "Please put the filament in the drying box when printing, " + "and keep the humidity in the drying box less than %2%."), + filament_type, filament_property_drying_box); + } + + return out; +} + +std::string PresetHints::anneal_temperature_description(const Preset &preset) +{ + std::string out; + + std::string filament_type = preset.config.opt_string("filament_type", 0); + + if (preset.config.option("filament_property_anneal_temperature")->is_nil()) { + out += GUI::format(_L("%1% cannot be annealed."), filament_type); + } + else { + int filament_property_anneal_temperature = preset.config.option("filament_property_anneal_temperature")->get_at(0); + int filament_property_anneal_temperature_max = filament_property_anneal_temperature + 20; + out += GUI::format(_L("Annealing the model immediately after printing can further improve the mechanical properties of %1%.\n" + "Put the model in a drying oven and set it at %2%-%3% °C for 4-6 hours."), + filament_type, filament_property_anneal_temperature, filament_property_anneal_temperature_max); + } + + return out; +} +//Y7 }; // namespace Slic3r diff --git a/src/slic3r/GUI/PresetHints.hpp b/src/slic3r/GUI/PresetHints.hpp index a61310f..e1d6d8e 100644 --- a/src/slic3r/GUI/PresetHints.hpp +++ b/src/slic3r/GUI/PresetHints.hpp @@ -28,6 +28,9 @@ public: // versus top/bottom_min_shell_thickness. Which of the two values wins depends // on the active layer height. static std::string top_bottom_shell_thickness_explanation(const PresetBundle &preset_bundle); + //Y7 + static std::string drying_box_description(const Preset &preset); + static std::string anneal_temperature_description(const Preset &preset); }; } // namespace Slic3r diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 50fdc43..cbcdd7f 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2040,6 +2040,38 @@ void TabFilament::build() line.append_option(optgroup->get_option("volume_temperature")); optgroup->append_line(line); + //Y7 + optgroup = page->new_optgroup(L("Drying box")); + create_line_with_near_label_widget(optgroup, "filament_property_drying_box"); + line = { "", "" }; + line.full_width = 1; + line.widget = [this](wxWindow* parent) { + return description_line_widget(parent, &m_drying_box_description_line); + }; + optgroup->append_line(line); + + optgroup = page->new_optgroup(L("Anneal")); + create_line_with_near_label_widget(optgroup, "filament_property_anneal_temperature"); + line = { "", "" }; + line.full_width = 1; + line.widget = [this](wxWindow* parent) { + return description_line_widget(parent, &m_anneal_temperature_description_line); + }; + optgroup->append_line(line); + + optgroup = page->new_optgroup(L("Property")); + optgroup->append_single_option_line("filament_property_water_resistance"); + optgroup->append_single_option_line("filament_property_corrosion_resistance"); + optgroup->append_single_option_line("filament_property_creep_resistance"); + optgroup->append_single_option_line("filament_property_hdt_045"); + optgroup->append_single_option_line("filament_property_hdt_180"); + optgroup->append_single_option_line("filament_property_tensile_strength"); + optgroup->append_single_option_line("filament_property_tensile_modulus"); + optgroup->append_single_option_line("filament_property_elongation_at_break"); + optgroup->append_single_option_line("filament_property_flexural_strength"); + optgroup->append_single_option_line("filament_property_flexural_modulus"); + optgroup->append_single_option_line("filament_property_notch_impact_strength"); + page = add_options_page(L("Cooling"), "cooling"); std::string category_path = "cooling_127569#"; optgroup = page->new_optgroup(L("Enable")); @@ -2211,6 +2243,15 @@ void TabFilament::update_description_lines() m_cooling_description_line->SetText(from_u8(PresetHints::cooling_description(m_presets->get_edited_preset()))); if (m_active_page->title() == "Advanced" && m_volumetric_speed_description_line) this->update_volumetric_flow_preset_hints(); + //Y7 + if (m_active_page->title() == "Filament"){ + if (m_drying_box_description_line){ + m_drying_box_description_line->SetText(from_u8(PresetHints::drying_box_description(m_presets->get_edited_preset()))); + } + if (m_anneal_temperature_description_line){ + m_anneal_temperature_description_line->SetText(from_u8(PresetHints::anneal_temperature_description(m_presets->get_edited_preset()))); + } + } } void TabFilament::toggle_options() @@ -2247,11 +2288,20 @@ void TabFilament::toggle_options() update_line_with_near_label_widget(*og_it, "idle_temperature"); } //B26 - if (m_active_page->title() == "Filament") { - bool pa = m_config->opt_bool("enable_advance_pressure", 0); - toggle_option("advance_pressure", pa); - toggle_option("smooth_time", pa); - } + bool pa = m_config->opt_bool("enable_advance_pressure", 0); + toggle_option("advance_pressure", pa); + toggle_option("smooth_time", pa); + //Y7 + const auto og_it2 = std::find_if(page->m_optgroups.begin(), page->m_optgroups.end(), [](const ConfigOptionsGroupShp og) { return og->title == "Drying box"; }); + if (og_it2 != page->m_optgroups.end()) + { + update_line_with_near_label_widget(*og_it2, "filament_property_drying_box"); + } + const auto og_it3 = std::find_if(page->m_optgroups.begin(), page->m_optgroups.end(), [](const ConfigOptionsGroupShp og) { return og->title == "Anneal"; }); + if (og_it3 != page->m_optgroups.end()) + { + update_line_with_near_label_widget(*og_it3, "filament_property_anneal_temperature"); + } } } @@ -2278,7 +2328,10 @@ void TabFilament::clear_pages() Tab::clear_pages(); m_volumetric_speed_description_line = nullptr; - m_cooling_description_line = nullptr; + m_cooling_description_line = nullptr; + //Y7 + m_drying_box_description_line = nullptr; + m_anneal_temperature_description_line = nullptr; } void TabFilament::msw_rescale() diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index f8651c2..cc6e601 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -441,6 +441,9 @@ class TabFilament : public Tab int m_active_extruder {0}; ogStaticText* m_volumetric_speed_description_line {nullptr}; ogStaticText* m_cooling_description_line {nullptr}; + //Y7 + ogStaticText* m_drying_box_description_line {nullptr}; + ogStaticText* m_anneal_temperature_description_line {nullptr}; void create_line_with_near_label_widget(ConfigOptionsGroupShp optgroup, const std::string &opt_key, int opt_index = 0); void update_line_with_near_label_widget(ConfigOptionsGroupShp optgroup, const std::string &opt_key, int opt_index = 0, bool is_checked = true);