Merge prusa 2.6.1

This commit is contained in:
QIDI TECH
2023-09-16 16:26:29 +08:00
parent 1338e60f8b
commit 963e22db99
203 changed files with 25254 additions and 6453 deletions

View File

@@ -880,8 +880,9 @@ void PrintConfigDef::init_fff_params()
def = this->add("extra_perimeters", coBool);
def->label = L("Extra perimeters if needed");
def->category = L("Layers and Perimeters");
def->tooltip = L("Add more perimeters when needed for avoiding gaps in sloping walls. Slic3r keeps adding "
"perimeters, until more than 70% of the loop immediately above is supported.");
def->tooltip = L("Add more perimeters when needed for avoiding gaps in sloping walls. "
"Slic3r keeps adding perimeters, until more than 70% of the loop immediately above "
"is supported.");
def->mode = comExpert;
def->set_default_value(new ConfigOptionBool(true));
@@ -1114,6 +1115,30 @@ void PrintConfigDef::init_fff_params()
def->mode = comExpert;
def->set_default_value(new ConfigOptionFloats { 0. });
def = this->add("filament_multitool_ramming", coBools);
def->label = L("Enable ramming for multitool setups");
def->tooltip = L("Perform ramming when using multitool printer (i.e. when the 'Single Extruder Multimaterial' in Printer Settings is unchecked). "
"When checked, a small amount of filament is rapidly extruded on the wipe tower just before the toolchange. "
"This option is only used when the wipe tower is enabled.");
def->mode = comExpert;
def->set_default_value(new ConfigOptionBools { false });
def = this->add("filament_multitool_ramming_volume", coFloats);
def->label = L("Multitool ramming volume");
def->tooltip = L("The volume to be rammed before the toolchange.");
def->sidetext = L("mm³");
def->min = 0;
def->mode = comExpert;
def->set_default_value(new ConfigOptionFloats { 10. });
def = this->add("filament_multitool_ramming_flow", coFloats);
def->label = L("Multitool ramming flow");
def->tooltip = L("Flow used for ramming the filament before the toolchange.");
def->sidetext = L("mm³/s");
def->min = 0;
def->mode = comExpert;
def->set_default_value(new ConfigOptionFloats { 10. });
def = this->add("filament_diameter", coFloats);
def->label = L("Diameter");
def->tooltip = L("Enter your filament diameter here. Good precision is required, so use a caliper "
@@ -1655,6 +1680,17 @@ void PrintConfigDef::init_fff_params()
def->mode = comExpert;
def->set_default_value(new ConfigOptionFloat(0.));
def = this->add("mmu_segmented_region_interlocking_depth", coFloat);
def->label = L("Interlocking depth of a segmented region");
def->tooltip = L("Interlocking depth of a segmented region. It will be ignored if "
"\"mmu_segmented_region_max_width\" is zero or if \"mmu_segmented_region_interlocking_depth\""
"is bigger then \"mmu_segmented_region_max_width\". Zero disables this feature.");
def->sidetext = L("mm (zero to disable)");
def->min = 0;
def->category = L("Advanced");
def->mode = comExpert;
def->set_default_value(new ConfigOptionFloat(0.));
def = this->add("ironing", coBool);
def->label = L("Enable ironing");
def->tooltip = L("Enable ironing of the top layers with the hot print head for smooth surface");
@@ -3419,7 +3455,8 @@ void PrintConfigDef::init_fff_params()
// Declare retract values for filament profile, overriding the printer's extruder profile.
for (const char *opt_key : {
// floats
"retract_length", "retract_lift", "retract_lift_above", "retract_lift_below", "retract_speed", "deretract_speed", "retract_restart_extra", "retract_before_travel",
"retract_length", "retract_lift", "retract_lift_above", "retract_lift_below", "retract_speed",
"deretract_speed", "retract_restart_extra", "retract_before_travel", "retract_length_toolchange", "retract_restart_extra_toolchange",
// bools
"retract_layer_change", "wipe",
// percents
@@ -3458,10 +3495,12 @@ void PrintConfigDef::init_extruder_option_keys()
"retract_before_wipe",
"retract_layer_change",
"retract_length",
"retract_length_toolchange",
"retract_lift",
"retract_lift_above",
"retract_lift_below",
"retract_restart_extra",
"retract_restart_extra_toolchange",
"retract_speed",
"wipe"
};
@@ -4364,6 +4403,13 @@ void PrintConfigDef::handle_legacy(t_config_option_key &opt_key, std::string &va
}
}
// Called after a config is loaded as a whole.
// Perform composite conversions, for example merging multiple keys into one key.
// Don't convert single options here, implement such conversion in PrintConfigDef::handle_legacy() instead.
void PrintConfigDef::handle_legacy_composite(DynamicPrintConfig &config)
{
}
const PrintConfigDef print_config_def;
DynamicPrintConfig DynamicPrintConfig::full_print_config()
@@ -4730,9 +4776,11 @@ std::string validate(const FullPrintConfig &cfg)
BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CACHE_ELEMENT_DEFINITION, _, BOOST_PP_TUPLE_TO_SEQ(CLASSES_SEQ)) \
int print_config_static_initializer() { \
/* Putting a trace here to avoid the compiler to optimize out this function. */ \
BOOST_LOG_TRIVIAL(trace) << "Initializing StaticPrintConfigs"; \
/*BOOST_LOG_TRIVIAL(trace) << "Initializing StaticPrintConfigs";*/ \
/* Tamas: alternative solution through a static volatile int. Boost log pollutes stdout and prevents tests from generating clean output */ \
static volatile int ret = 1; \
BOOST_PP_SEQ_FOR_EACH(PRINT_CONFIG_CACHE_ELEMENT_INITIALIZATION, _, BOOST_PP_TUPLE_TO_SEQ(CLASSES_SEQ)) \
return 1; \
return ret; \
}
PRINT_CONFIG_CACHE_INITIALIZE((
PrintObjectConfig, PrintRegionConfig, MachineEnvelopeConfig, GCodeConfig, PrintConfig, FullPrintConfig,
@@ -5028,15 +5076,6 @@ Points get_bed_shape(const DynamicPrintConfig &config)
return to_points(bed_shape_opt->values);
}
void get_bed_shape(const DynamicPrintConfig &cfg, arrangement::ArrangeBed &out)
{
if (is_XL_printer(cfg)) {
out = arrangement::SegmentedRectangleBed{get_extents(get_bed_shape(cfg)), 4, 4};
} else {
out = arrangement::to_arrange_bed(get_bed_shape(cfg));
}
}
Points get_bed_shape(const PrintConfig &cfg)
{
return to_points(cfg.bed_shape.values);