ENH: modify default value to support 3rd-party printer
As title. Signed-off-by: salt.wei <salt.wei@bambulab.com> Change-Id: Id8be38a23e4fe4c19eb255ffb7cabf1befeae85b
This commit is contained in:
parent
a0524cd25d
commit
ccd7b7fd7b
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "Bambulab",
|
||||
"url": "http://www.bambulab.com/Parameters/vendor/BBL.json",
|
||||
"version": "01.02.01.02",
|
||||
"version": "01.02.01.03",
|
||||
"force_update": "0",
|
||||
"description": "the initial version of BBL configurations",
|
||||
"machine_model_list": [
|
||||
|
@ -204,7 +204,7 @@
|
|||
{
|
||||
"name": "Generic PLA @0.2 nozzle",
|
||||
"sub_path": "filament/Generic PLA @0.2 nozzle.json"
|
||||
},
|
||||
},
|
||||
{
|
||||
"name": "Generic PLA-CF",
|
||||
"sub_path": "filament/Generic PLA-CF.json"
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
"256x256",
|
||||
"0x256"
|
||||
],
|
||||
"auxiliary_fan": "1",
|
||||
"bed_exclude_area": [
|
||||
"0x0",
|
||||
"28x0",
|
||||
|
@ -113,6 +114,9 @@
|
|||
"extruder_clearance_radius": "65",
|
||||
"extruder_clearance_height_to_rod": "36",
|
||||
"extruder_clearance_height_to_lid": "140",
|
||||
"nozzle_volume": [
|
||||
"118"
|
||||
],
|
||||
"nozzle_diameter": [
|
||||
"0.4"
|
||||
],
|
||||
|
@ -149,6 +153,7 @@
|
|||
"deretraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"nozzle_type": "hardened_steel",
|
||||
"silent_mode": "0",
|
||||
"single_extruder_multi_material": "1",
|
||||
"change_filament_gcode": "M620 S[next_extruder]A\nM204 S9000\n{if toolchange_count > 1}\nG17\nG2 Z{max_layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F12000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\n{if old_filament_temp > 0 && next_extruder < 255}M109 S[old_filament_temp]{endif}\nG1 X90 F3000\nG1 Y250 F4000\nG1 X100 F5000\nG1 X120 F12000\n\nG1 X20 Y50 F12000\nG1 Y-3\n\nT[next_extruder]\n\n; always use highest temperature to flush\nM400\nM109 S[nozzle_temperature_range_high]\n\n{if next_extruder < 255}\nG1 X54 F12000\nG1 Y265\n\nM400\n\nG92 E0\n{if flush_length_1 > 1}\n; FLUSH_START\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n\nM400\nM109 S[new_filament_temp]\n\nM400\nM106 P1 S255\nM400 S3\nG1 X80 F15000\nG1 X60 F15000\nG1 X80 F15000\nG1 X60 F15000; shake to put down garbage\n\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z[z_after_toolchange] F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A",
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
"overhang_2_4_speed": "50",
|
||||
"overhang_3_4_speed": "30",
|
||||
"overhang_4_4_speed": "10",
|
||||
"only_one_wall_top": "1",
|
||||
"inner_wall_line_width": "0.45",
|
||||
"inner_wall_speed": "150",
|
||||
"wall_loops": "2",
|
||||
|
@ -90,6 +91,7 @@
|
|||
"detect_thin_wall": "0",
|
||||
"top_surface_pattern": "monotonicline",
|
||||
"top_surface_line_width": "0.42",
|
||||
"top_surface_acceleration": "2000",
|
||||
"top_surface_speed": "200",
|
||||
"top_shell_layers": "3",
|
||||
"top_shell_thickness": "0.8",
|
||||
|
|
|
@ -256,6 +256,7 @@ static const t_config_enum_values s_keys_map_BedType = {
|
|||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(BedType)
|
||||
|
||||
static t_config_enum_values s_keys_map_NozzleType {
|
||||
{ "undefine", int(NozzleType::ntUndefine) },
|
||||
{ "hardened_steel", int(NozzleType::ntHardenedSteel) },
|
||||
{ "stainless_steel",int(NozzleType::ntStainlessSteel) },
|
||||
{ "brass", int(NozzleType::ntBrass) }
|
||||
|
@ -487,7 +488,7 @@ void PrintConfigDef::init_fff_params()
|
|||
"than bottom shell thickness, the bottom shell layers will be increased");
|
||||
def->full_label = L("Bottom shell layers");
|
||||
def->min = 0;
|
||||
def->set_default_value(new ConfigOptionInt(2));
|
||||
def->set_default_value(new ConfigOptionInt(3));
|
||||
|
||||
def = this->add("bottom_shell_thickness", coFloat);
|
||||
def->label = L("Bottom shell thickness");
|
||||
|
@ -549,7 +550,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->label = L("Only one wall on top surfaces");
|
||||
def->category = L("Quality");
|
||||
def->tooltip = L("Use only one wall on flat top surface, to give more space to the top infill pattern");
|
||||
def->set_default_value(new ConfigOptionBool(true));
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("enable_overhang_speed", coBool);
|
||||
def->label = L("Slow down for overhang");
|
||||
|
@ -607,7 +608,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(60));
|
||||
def->set_default_value(new ConfigOptionFloat(25));
|
||||
|
||||
def = this->add("brim_width", coFloat);
|
||||
def->label = L("Brim width");
|
||||
|
@ -717,7 +718,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->sidetext = L("mm/s²");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(5000));
|
||||
def->set_default_value(new ConfigOptionFloat(500.0));
|
||||
|
||||
def = this->add("default_filament_profile", coStrings);
|
||||
def->label = L("Default filament profile");
|
||||
|
@ -773,7 +774,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->full_width = true;
|
||||
def->height = 12;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionString("M104 S0\n"));
|
||||
def->set_default_value(new ConfigOptionString("M104 S0 ; turn off temperature\nG28 X0 ; home X axis\nM84 ; disable motors\n"));
|
||||
|
||||
def = this->add("filament_end_gcode", coStrings);
|
||||
def->label = L("End G-code");
|
||||
|
@ -833,7 +834,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(120));
|
||||
def->set_default_value(new ConfigOptionFloat(60));
|
||||
|
||||
def = this->add("wall_infill_order", coEnum);
|
||||
def->label = L("Order of inner wall/outer wall/infil");
|
||||
|
@ -1135,7 +1136,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->sidetext = L("mm/s²");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(2000));
|
||||
def->set_default_value(new ConfigOptionFloat(500));
|
||||
|
||||
def = this->add("initial_layer_acceleration", coFloat);
|
||||
def->label = L("Initial layer");
|
||||
|
@ -1252,7 +1253,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);
|
||||
|
@ -1279,20 +1280,22 @@ void PrintConfigDef::init_fff_params()
|
|||
def->tooltip = L("The metallic material of nozzle. This determines the abrasive resistance of nozzle, and "
|
||||
"what kind of filament can be printed");
|
||||
def->enum_keys_map = &ConfigOptionEnum<NozzleType>::get_enum_values();
|
||||
def->enum_values.push_back("undefine");
|
||||
def->enum_values.push_back("hardened_steel");
|
||||
def->enum_values.push_back("stainless_steel");
|
||||
def->enum_values.push_back("brass");
|
||||
def->enum_labels.push_back(L("Undefine"));
|
||||
def->enum_labels.push_back(L("Hardened steel"));
|
||||
def->enum_labels.push_back(L("Stainless steel"));
|
||||
def->enum_labels.push_back(L("Brass"));
|
||||
def->mode = comSimple;
|
||||
def->set_default_value(new ConfigOptionEnum<NozzleType>(ntHardenedSteel));
|
||||
def->mode = comDevelop;
|
||||
def->set_default_value(new ConfigOptionEnum<NozzleType>(ntUndefine));
|
||||
|
||||
def = this->add("auxiliary_fan", coBool);
|
||||
def->label = L("Auxiliary part cooling fan");
|
||||
def->tooltip = L("Enable this option if machine has auxiliary part cooling fan");
|
||||
def->mode = comSimple;
|
||||
def->set_default_value(new ConfigOptionBool(true));
|
||||
def->mode = comDevelop;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("gcode_flavor", coEnum);
|
||||
def->label = L("G-code flavor");
|
||||
|
@ -1310,7 +1313,7 @@ void PrintConfigDef::init_fff_params()
|
|||
//def->enum_values.push_back("machinekit");
|
||||
//def->enum_values.push_back("smoothie");
|
||||
//def->enum_values.push_back("no-extrusion");
|
||||
def->enum_labels.push_back("Marlin");
|
||||
def->enum_labels.push_back("Marlin(legacy)");
|
||||
//def->enum_labels.push_back("RepRap/Sprinter");
|
||||
//def->enum_labels.push_back("RepRapFirmware");
|
||||
//def->enum_labels.push_back("Repetier");
|
||||
|
@ -1322,8 +1325,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->readonly = true;
|
||||
def->mode = comAdvanced;
|
||||
def->readonly = false;
|
||||
def->set_default_value(new ConfigOptionEnum<GCodeFlavor>(gcfMarlinLegacy));
|
||||
|
||||
//BBS
|
||||
|
@ -1368,7 +1371,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->sidetext = L("mm/s");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(150));
|
||||
def->set_default_value(new ConfigOptionFloat(100));
|
||||
|
||||
def = this->add("inherits", coString);
|
||||
//def->label = L("Inherits profile");
|
||||
|
@ -1477,10 +1480,10 @@ void PrintConfigDef::init_fff_params()
|
|||
};
|
||||
std::vector<AxisDefault> axes {
|
||||
// name, max_feedrate, max_acceleration, max_jerk
|
||||
{ "x", { 500., 200. }, { 9000., 1000. }, { 10. , 10. } },
|
||||
{ "y", { 500., 200. }, { 9000., 1000. }, { 10. , 10. } },
|
||||
{ "x", { 500., 200. }, { 1000., 1000. }, { 10. , 10. } },
|
||||
{ "y", { 500., 200. }, { 1000., 1000. }, { 10. , 10. } },
|
||||
{ "z", { 12., 12. }, { 500., 200. }, { 0.2, 0.4 } },
|
||||
{ "e", { 120., 120. }, { 10000., 5000. }, { 2.5, 2.5 } }
|
||||
{ "e", { 120., 120. }, { 5000., 5000. }, { 2.5, 2.5 } }
|
||||
};
|
||||
for (const AxisDefault &axis : axes) {
|
||||
std::string axis_upper = boost::to_upper_copy<std::string>(axis.name);
|
||||
|
@ -1492,7 +1495,7 @@ void PrintConfigDef::init_fff_params()
|
|||
(void)L("Maximum speed Z");
|
||||
(void)L("Maximum speed E");
|
||||
def->category = L("Machine limits");
|
||||
def->readonly = true;
|
||||
def->readonly = false;
|
||||
def->tooltip = (boost::format("Maximum speed of %1% axis") % axis_upper).str();
|
||||
(void)L("Maximum X speed");
|
||||
(void)L("Maximum Y speed");
|
||||
|
@ -1510,7 +1513,7 @@ void PrintConfigDef::init_fff_params()
|
|||
(void)L("Maximum acceleration Z");
|
||||
(void)L("Maximum acceleration E");
|
||||
def->category = L("Machine limits");
|
||||
def->readonly = true;
|
||||
def->readonly = false;
|
||||
def->tooltip = (boost::format("Maximum acceleration of the %1% axis") % axis_upper).str();
|
||||
(void)L("Maximum acceleration of the X axis");
|
||||
(void)L("Maximum acceleration of the Y axis");
|
||||
|
@ -1528,7 +1531,7 @@ void PrintConfigDef::init_fff_params()
|
|||
(void)L("Maximum jerk Z");
|
||||
(void)L("Maximum jerk E");
|
||||
def->category = L("Machine limits");
|
||||
def->readonly = true;
|
||||
def->readonly = false;
|
||||
def->tooltip = (boost::format("Maximum jerk of the %1% axis") % axis_upper).str();
|
||||
(void)L("Maximum jerk of the X axis");
|
||||
(void)L("Maximum jerk of the Y axis");
|
||||
|
@ -1570,8 +1573,8 @@ void PrintConfigDef::init_fff_params()
|
|||
// "as travel acceleration (M204 T).");
|
||||
def->sidetext = L("mm/s²");
|
||||
def->min = 0;
|
||||
def->readonly = true;
|
||||
def->mode = comDevelop;
|
||||
def->readonly = false;
|
||||
def->mode = comSimple;
|
||||
def->set_default_value(new ConfigOptionFloats{ 1500., 1250. });
|
||||
|
||||
|
||||
|
@ -1582,8 +1585,8 @@ void PrintConfigDef::init_fff_params()
|
|||
def->tooltip = L("Maximum acceleration for retracting (M204 R)");
|
||||
def->sidetext = L("mm/s²");
|
||||
def->min = 0;
|
||||
def->readonly = true;
|
||||
def->mode = comDevelop;
|
||||
def->readonly = false;
|
||||
def->mode = comSimple;
|
||||
def->set_default_value(new ConfigOptionFloats{ 1500., 1250. });
|
||||
|
||||
// M204 T... [mm/sec^2]
|
||||
|
@ -1689,7 +1692,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->sidetext = L("mm³");
|
||||
def->mode = comDevelop;
|
||||
def->readonly = true;
|
||||
def->set_default_value(new ConfigOptionFloat { 118 });
|
||||
def->set_default_value(new ConfigOptionFloat { 0.0 });
|
||||
|
||||
def = this->add("reduce_infill_retraction", coBool);
|
||||
def->label = L("Reduce infill retraction");
|
||||
|
@ -1697,7 +1700,7 @@ void PrintConfigDef::init_fff_params()
|
|||
"This can reduce times of retraction for complex model and save printing time, but make slicing and "
|
||||
"G-code generating slower");
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBool(true));
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("ooze_prevention", coBool);
|
||||
def->label = L("Enable");
|
||||
|
@ -2003,7 +2006,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->sidetext = L("mm²");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(5));
|
||||
def->set_default_value(new ConfigOptionFloat(15));
|
||||
|
||||
def = this->add("solid_infill_filament", coInt);
|
||||
//def->label = L("Solid infill");
|
||||
|
@ -2079,7 +2082,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->full_width = true;
|
||||
def->height = 12;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionString("G28\nG1 Z10 F100\n"));
|
||||
def->set_default_value(new ConfigOptionString("G28 ; home all axes\nG1 Z5 F5000 ; lift nozzle\n"));
|
||||
|
||||
def = this->add("filament_start_gcode", coStrings);
|
||||
def->label = L("Start G-code");
|
||||
|
@ -2284,7 +2287,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->sidetext = L("mm");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(0));
|
||||
def->set_default_value(new ConfigOptionFloat(0.5));
|
||||
|
||||
//BBS
|
||||
def = this->add("support_bottom_interface_spacing", coFloat);
|
||||
|
@ -2508,7 +2511,7 @@ void PrintConfigDef::init_fff_params()
|
|||
"than top shell thickness, the top shell layers will be increased");
|
||||
def->full_label = L("Top solid layers");
|
||||
def->min = 0;
|
||||
def->set_default_value(new ConfigOptionInt(2));
|
||||
def->set_default_value(new ConfigOptionInt(4));
|
||||
|
||||
def = this->add("top_shell_thickness", coFloat);
|
||||
def->label = L("Top shell thickness");
|
||||
|
@ -2527,7 +2530,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def->sidetext = L("mm/s");
|
||||
def->min = 1;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(200));
|
||||
def->set_default_value(new ConfigOptionFloat(120));
|
||||
|
||||
def = this->add("travel_speed_z", coFloat);
|
||||
//def->label = L("Z travel");
|
||||
|
|
|
@ -164,7 +164,8 @@ enum BedType {
|
|||
|
||||
// BBS
|
||||
enum NozzleType {
|
||||
ntHardenedSteel = 0,
|
||||
ntUndefine = 0,
|
||||
ntHardenedSteel,
|
||||
ntStainlessSteel,
|
||||
ntBrass,
|
||||
ntCount
|
||||
|
|
Loading…
Reference in New Issue