NEW: allow changing the angle of ironing in the dep mode.

Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
Change-Id: I09348096fd19ee4e07ce3a04ae152f7ee5758767
Signed-off-by: wenjie.guo <wenjie.guo@bambulab.com>
This commit is contained in:
wenjie.guo 2023-07-31 17:16:04 +08:00 committed by Lane.Wei
parent edcdad162e
commit ba3638e70e
7 changed files with 17 additions and 5 deletions

View File

@ -608,7 +608,7 @@ void Layer::make_ironing()
ironing_params.line_spacing = config.ironing_spacing;
ironing_params.height = default_layer_height * 0.01 * config.ironing_flow;
ironing_params.speed = config.ironing_speed;
ironing_params.angle = config.infill_direction * M_PI / 180.;
ironing_params.angle = config.ironing_direction * M_PI / 180.;
ironing_params.pattern = config.ironing_pattern;
ironing_params.layerm = layerm;
by_extruder.emplace_back(ironing_params);

View File

@ -760,7 +760,7 @@ static std::vector<std::string> s_Preset_print_options {
"seam_position", "wall_infill_order", "sparse_infill_density", "sparse_infill_pattern", "sparse_infill_anchor", "sparse_infill_anchor_max",
"top_surface_pattern", "bottom_surface_pattern", "internal_solid_infill_pattern", "infill_direction", "bridge_angle",
"minimum_sparse_infill_area", "reduce_infill_retraction", "ironing_pattern", "ironing_type",
"ironing_flow", "ironing_speed", "ironing_spacing",
"ironing_flow", "ironing_speed", "ironing_spacing","ironing_direction",
"max_travel_detour_distance",
"fuzzy_skin", "fuzzy_skin_thickness", "fuzzy_skin_point_distance",
#ifdef HAS_PRESSURE_EQUALIZER

View File

@ -1929,6 +1929,16 @@ void PrintConfigDef::init_fff_params()
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(20));
def = this->add("ironing_direction", coFloat);
def->label = L("ironing direction");
def->category = L("Quality");
def->tooltip = L("Angle for ironing, which controls the angle of the nozzle when ironing");
def->sidetext = L("°");
def->min = 0;
def->max = 360;
def->mode = comDevelop;
def->set_default_value(new ConfigOptionFloat(45));
def = this->add("layer_change_gcode", coString);
def->label = L("Layer change G-code");
def->tooltip = L("This gcode part is inserted at every layer change after lift z");

View File

@ -751,6 +751,7 @@ PRINT_CONFIG_CLASS_DEFINE(
((ConfigOptionEnum<InfillPattern>, ironing_pattern))
((ConfigOptionPercent, ironing_flow))
((ConfigOptionFloat, ironing_spacing))
((ConfigOptionFloat, ironing_direction))
((ConfigOptionFloat, ironing_speed))
// Detect bridging perimeters
((ConfigOptionBool, detect_overhang_wall))

View File

@ -647,7 +647,8 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
toggle_line(el, have_raft);
bool has_ironing = (config->opt_enum<IroningType>("ironing_type") != IroningType::NoIroning);
for (auto el : {"ironing_pattern", "ironing_flow", "ironing_spacing", "ironing_speed"})
for (auto el : {
"ironing_pattern","ironing_speed", "ironing_flow", "ironing_spacing", "ironing_direction"})
toggle_line(el, has_ironing);
// bool have_sequential_printing = (config->opt_enum<PrintSequence>("print_sequence") == PrintSequence::ByObject);

View File

@ -91,8 +91,7 @@ std::map<std::string, std::vector<SimpleSettingData>> SettingsFactory::OBJECT_C
};
std::map<std::string, std::vector<SimpleSettingData>> SettingsFactory::PART_CATEGORY_SETTINGS=
{
{ L("Quality"), {{"ironing_type", "",8},{"ironing_flow", "",9},{"ironing_spacing", "",10},{"bridge_flow", "",11}
{{L("Quality"), {{"ironing_type", "", 8}, {"ironing_flow", "", 9}, {"ironing_spacing", "", 10}, {"ironing_speed", "", 11}, {"ironing_direction", "",12}
}},
{ L("Strength"), {{"wall_loops", "",1},{"top_shell_layers", "",1},{"top_shell_thickness", "",1},
{"bottom_shell_layers", "",1}, {"bottom_shell_thickness", "",1}, {"sparse_infill_density", "",1},

View File

@ -1866,6 +1866,7 @@ void TabPrint::build()
optgroup->append_single_option_line("ironing_speed");
optgroup->append_single_option_line("ironing_flow");
optgroup->append_single_option_line("ironing_spacing");
optgroup->append_single_option_line("ironing_direction");
optgroup = page->new_optgroup(L("Wall generator"), L"param_wall");
optgroup->append_single_option_line("wall_generator");