diff --git a/resources/profiles/Anycubic.json b/resources/profiles/Anycubic.json index 3cc1a327e6..fbf6502645 100644 --- a/resources/profiles/Anycubic.json +++ b/resources/profiles/Anycubic.json @@ -1,6 +1,6 @@ { "name": "Anycubic", - "version": "01.02.00.01", + "version": "01.02.00.02", "force_update": "0", "description": "Anycubic configurations", "machine_model_list": [ diff --git a/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 0.4 nozzle.json index 1ce72ff842..ff17e30560 100644 --- a/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 0.4 nozzle.json +++ b/resources/profiles/Anycubic/machine/Anycubic 4Max Pro 0.4 nozzle.json @@ -20,7 +20,7 @@ "0x205" ], "printable_height": "200", - "machine_start_gcode": "M190 S0\nM104 S0\nPRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single]\n; You can use following code instead if your PRINT_START macro support Chamber and print area bedmesh\n; PRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single] Chamber=[chamber_temperature] PRINT_MIN={first_layer_print_min[0]},{first_layer_print_min[1]} PRINT_MAX={first_layer_print_max[0]},{first_layer_print_max[1]}", + "machine_start_gcode": ";M190 S0\n;M104 S0\nPRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single]\n; You can use following code instead if your PRINT_START macro support Chamber and print area bedmesh\n; PRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single] Chamber=[chamber_temperature] PRINT_MIN={first_layer_print_min[0]},{first_layer_print_min[1]} PRINT_MAX={first_layer_print_max[0]},{first_layer_print_max[1]}", "machine_end_gcode": "PRINT_END", "layer_change_gcode": "", "scan_first_layer": "0", diff --git a/resources/profiles/Voron.json b/resources/profiles/Voron.json index 4e45baa9ff..a6d5ba4d8b 100644 --- a/resources/profiles/Voron.json +++ b/resources/profiles/Voron.json @@ -1,6 +1,6 @@ { "name": "Voron", - "version": "01.02.00.02", + "version": "01.02.00.03", "force_update": "0", "description": "Voron configurations", "machine_model_list": [ diff --git a/resources/profiles/Voron/machine/fdm_klipper_common.json b/resources/profiles/Voron/machine/fdm_klipper_common.json index d95df5e055..4bff2a8076 100644 --- a/resources/profiles/Voron/machine/fdm_klipper_common.json +++ b/resources/profiles/Voron/machine/fdm_klipper_common.json @@ -130,7 +130,7 @@ "bed_exclude_area": [ "0x0" ], - "machine_start_gcode": "M190 S0\nM104 S0\nPRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single]\n; You can use following code instead if your PRINT_START macro support Chamber and print area bedmesh\n; PRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single] Chamber=[chamber_temperature] PRINT_MIN={first_layer_print_min[0]},{first_layer_print_min[1]} PRINT_MAX={first_layer_print_max[0]},{first_layer_print_max[1]}", + "machine_start_gcode": ";M190 S0\n;M104 S0\nPRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single]\n; You can use following code instead if your PRINT_START macro support Chamber and print area bedmesh\n; PRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single] Chamber=[chamber_temperature] PRINT_MIN={first_layer_print_min[0]},{first_layer_print_min[1]} PRINT_MAX={first_layer_print_max[0]},{first_layer_print_max[1]}", "machine_end_gcode": "PRINT_END", "layer_change_gcode": "", "scan_first_layer": "0", diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 9fc4ad1f61..789fd12c2d 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -3947,7 +3947,7 @@ std::string GCode::retract(bool toolchange, bool is_last_retraction) if (m_writer.extruder()->retraction_length() > 0) { // BBS: don't do lazy_lift when enable spiral vase size_t extruder_id = m_writer.extruder()->id(); - gcode += m_writer.lift(!m_spiral_vase ? LiftType::SpiralLift : LiftType::NormalLift); + gcode += m_writer.lift((!m_spiral_vase && m_config.enable_arc_fitting) ? LiftType::SpiralLift : LiftType::NormalLift); } return gcode; diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 592de5d5a8..773e7da27b 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -729,7 +729,7 @@ static std::vector s_Preset_printer_options { "silent_mode", // BBS "scan_first_layer", "machine_load_filament_time", "machine_unload_filament_time", "machine_pause_gcode", - "nozzle_type", "auxiliary_fan", "nozzle_volume", + "nozzle_type", "nozzle_diameter", "auxiliary_fan", "nozzle_volume", //SoftFever "host_type", "print_host", "printhost_apikey", "printhost_cafile","printhost_port","printhost_authorization_type", diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 90fd5bffe3..cfc305d5bb 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -312,9 +312,8 @@ void PrintConfigDef::init_common_params() def = this->add("printable_area", coPoints); def->label = L("Printable area"); - //BBS - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionPoints{ Vec2d(0, 0), Vec2d(200, 0), Vec2d(200, 200), Vec2d(0, 200) }); //BBS: add "bed_exclude_area" @@ -571,7 +570,7 @@ void PrintConfigDef::init_fff_params() def->multiline = true; def->full_width = true; def->height = 5; - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionString("")); def = this->add("bottom_shell_layers", coInt); @@ -1161,13 +1160,13 @@ void PrintConfigDef::init_fff_params() def = this->add("filament_soluble", coBools); def->label = L("Soluble material"); def->tooltip = L("Soluble material is commonly used to print support and support interface"); - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionBools { false }); def = this->add("filament_is_support", coBools); def->label = L("Support material"); def->tooltip = L("Support material is commonly used to print support and support interface"); - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionBools { false }); // BBS @@ -1358,7 +1357,7 @@ void PrintConfigDef::init_fff_params() def->sidetext = L("mm/s"); def->min = 1; def->mode = comAdvanced; - def->set_default_value(new ConfigOptionFloat(9)); + def->set_default_value(new ConfigOptionFloat(12)); def = this->add("initial_layer_line_width", coFloat); def->label = L("Initial layer"); @@ -1467,7 +1466,7 @@ void PrintConfigDef::init_fff_params() def->label = L("Arc fitting"); def->tooltip = L("Enable this to get a G-code file which has G2 and G3 moves. " "And the fitting tolerance is same with resolution"); - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(0)); // BBS def = this->add("gcode_add_line_number", coBool); @@ -1480,7 +1479,7 @@ void PrintConfigDef::init_fff_params() def = this->add("scan_first_layer", coBool); def->label = L("Scan first layer"); def->tooltip = L("Enable this to enable the camera on printer to check the quality of first layer"); - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(false)); //BBS // def = this->add("spaghetti_detector", coBool); @@ -1537,7 +1536,8 @@ void PrintConfigDef::init_fff_params() //def->enum_labels.push_back("Machinekit"); //def->enum_labels.push_back("Smoothie"); //def->enum_labels.push_back(L("No extrusion")); - def->mode = comDevelop; + def->enum_labels.push_back(L("Klipper")); + def->mode = comAdvanced; def->readonly = false; def->set_default_value(new ConfigOptionEnum(gcfMarlinLegacy)); @@ -1656,7 +1656,7 @@ void PrintConfigDef::init_fff_params() def->tooltip = L("Print speed of ironing lines"); def->sidetext = L("mm/s"); def->min = 0; - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloat(20)); def = this->add("layer_change_gcode", coString); @@ -1680,7 +1680,7 @@ void PrintConfigDef::init_fff_params() def->multiline = true; def->full_width = true; def->height = 12; - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionString("")); { @@ -1828,7 +1828,7 @@ void PrintConfigDef::init_fff_params() "the maximum layer hight when enable adaptive layer height"); def->sidetext = L("mm"); def->min = 0; - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloats { 0. }); #ifdef HAS_PRESSURE_EQUALIZER @@ -1880,7 +1880,7 @@ void PrintConfigDef::init_fff_params() "the minimum layer hight when enable adaptive layer height"); def->sidetext = L("mm"); def->min = 0; - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloats { 0.07 }); def = this->add("slow_down_min_speed", coFloats); @@ -1888,14 +1888,14 @@ void PrintConfigDef::init_fff_params() def->tooltip = L("The minimum printing speed when slow down for cooling"); def->sidetext = L("mm/s"); def->min = 0; - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloats { 10. }); def = this->add("nozzle_diameter", coFloats); def->label = L("Nozzle diameter"); def->tooltip = L("Diameter of nozzle"); def->sidetext = L("mm"); - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloats { 0.4 }); def = this->add("host_type", coEnum); @@ -1958,7 +1958,7 @@ void PrintConfigDef::init_fff_params() def->category = L("Quality"); def->tooltip = L("Detect the overhang percentage relative to line width and use different speed to print. " "For 100%% overhang, bridge speed is used."); - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(true)); def = this->add("wall_filament", coInt); @@ -2119,7 +2119,7 @@ void PrintConfigDef::init_fff_params() // "by the specified amount (the length is measured on raw filament, before it enters " // "the extruder)."); def->sidetext = L("mm"); - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloats { 10. }); def = this->add("z_hop", coFloats); @@ -2187,7 +2187,7 @@ void PrintConfigDef::init_fff_params() def->sidetext = L("mm"); def->min = 0; def->max = 10; - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloat(2)); def = this->add("skirt_height", coInt); @@ -2195,7 +2195,7 @@ void PrintConfigDef::init_fff_params() def->label = "Skirt height"; //def->tooltip = L("How many layers of skirt. Usually only one layer"); def->sidetext = L("layers"); - def->mode = comDevelop; + def->mode = comAdvanced; def->max = 10000; def->set_default_value(new ConfigOptionInt(1)); @@ -2513,7 +2513,7 @@ void PrintConfigDef::init_fff_params() //TRN To be shown in Print Settings "Bottom interface layers". Have to be as short as possible def->enum_labels.push_back("-1"); append(def->enum_labels, support_interface_top_layers->enum_labels); - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionInt(0)); def = this->add("support_interface_spacing", coFloat); @@ -2532,7 +2532,7 @@ void PrintConfigDef::init_fff_params() def->tooltip = L("Spacing of bottom interface lines. Zero means solid interface"); def->sidetext = L("mm"); def->min = 0; - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionFloat(0.5)); def = this->add("support_interface_speed", coFloat); @@ -2603,7 +2603,7 @@ void PrintConfigDef::init_fff_params() def->enum_values.push_back("snug"); def->enum_labels.push_back(L("Grid")); def->enum_labels.push_back(L("Snug")); - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionEnum(smsGrid)); def = this->add("independent_support_layer_height", coBool); @@ -2972,7 +2972,7 @@ void PrintConfigDef::init_fff_params() def->tooltip = L("This option will auto detect narrow internal solid infill area." " If enabled, concentric pattern will be used for the area to speed printing up." " Otherwise, rectilinear pattern is used defaultly."); - def->mode = comDevelop; + def->mode = comAdvanced; def->set_default_value(new ConfigOptionBool(true)); } diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt index a299790194..645bad5538 100644 --- a/src/slic3r/CMakeLists.txt +++ b/src/slic3r/CMakeLists.txt @@ -362,6 +362,8 @@ set(SLIC3R_GUI_SOURCES GUI/PrintOptionsDialog.cpp GUI/BonjourDialog.hpp GUI/BonjourDialog.cpp + GUI/BedShapeDialog.hpp + GUI/BedShapeDialog.cpp Utils/json_diff.hpp Utils/json_diff.cpp GUI/KBShortcutsDialog.hpp diff --git a/src/slic3r/GUI/ConfigWizard.cpp b/src/slic3r/GUI/ConfigWizard.cpp index 165778584c..568edd53e6 100644 --- a/src/slic3r/GUI/ConfigWizard.cpp +++ b/src/slic3r/GUI/ConfigWizard.cpp @@ -2394,7 +2394,7 @@ ConfigWizard::ConfigWizard(wxWindow *parent) p->load_vendors(); //BBS: add bed exclude areas p->custom_config.reset(DynamicPrintConfig::new_from_defaults_keys({ - "gcode_flavor", "printable_area", "bed_exclude_area", "nozzle_diameter", "filament_diameter", "nozzle_temperature", /*"bed_temperature",*/ + "gcode_flavor", "printable_area", "bed_exclude_area", "filament_diameter", "nozzle_temperature", /*"bed_temperature",*/ })); auto *vsizer = new wxBoxSizer(wxVERTICAL); diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 3a77ce19e5..d207a28504 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -43,6 +43,7 @@ #include "MarkdownTip.hpp" #include "Search.hpp" +#include "BedShapeDialog.hpp" // #include "BonjourDialog.hpp" #ifdef WIN32 #include @@ -2775,12 +2776,13 @@ void TabPrinter::build_fff() auto page = add_options_page(L("Basic information"), "printer"); auto optgroup = page->new_optgroup(L("Printable space")/*, L"param_printable_space"*/); - //create_line_with_widget(optgroup.get(), "printable_area", "custom-svg-and-png-bed-textures_124612", [this](wxWindow* parent) { - // return create_bed_shape_widget(parent); - //}); + create_line_with_widget(optgroup.get(), "printable_area", "custom-svg-and-png-bed-textures_124612", [this](wxWindow* parent) { + return create_bed_shape_widget(parent); + }); Option option = optgroup->get_option("bed_exclude_area"); option.opt.full_width = true; optgroup->append_single_option_line(option); + // optgroup->append_single_option_line("printable_area"); optgroup->append_single_option_line("printable_height"); optgroup->append_single_option_line("nozzle_volume"); // BBS @@ -4621,7 +4623,7 @@ wxSizer* Tab::compatible_widget_create(wxWindow* parent, PresetDependencies &dep } // Return a callback to create a TabPrinter widget to edit bed shape -/*wxSizer* TabPrinter::create_bed_shape_widget(wxWindow* parent) +wxSizer* TabPrinter::create_bed_shape_widget(wxWindow* parent) { ScalableButton* btn = new ScalableButton(parent, wxID_ANY, "printer", " " + _(L("Set")) + " " + dots, wxDefaultSize, wxDefaultPosition, wxBU_LEFT | wxBU_EXACTFIT, true); @@ -4651,7 +4653,7 @@ wxSizer* Tab::compatible_widget_create(wxWindow* parent, PresetDependencies &dep } return sizer; -}*/ +} void TabPrinter::cache_extruder_cnt() { diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index 2b7dc034de..d490b06854 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -583,7 +583,7 @@ public: void msw_rescale() override; bool supports_printer_technology(const PrinterTechnology /* tech */) const override { return true; } - //wxSizer* create_bed_shape_widget(wxWindow* parent); + wxSizer* create_bed_shape_widget(wxWindow* parent); void cache_extruder_cnt(); bool apply_extruder_cnt_from_cache();