add ironing angle (#2320)

This commit is contained in:
Ocraftyone 2023-10-04 10:48:35 -04:00 committed by GitHub
parent d31ca04720
commit a523979ac3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 15 additions and 3 deletions

View file

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

View file

@ -722,7 +722,7 @@ static std::vector<std::string> s_Preset_print_options {
"seam_position", "staggered_inner_seams", "wall_infill_order", "sparse_infill_density", "sparse_infill_pattern", "top_surface_pattern", "bottom_surface_pattern", "seam_position", "staggered_inner_seams", "wall_infill_order", "sparse_infill_density", "sparse_infill_pattern", "top_surface_pattern", "bottom_surface_pattern",
"infill_direction", "infill_direction",
"minimum_sparse_infill_area", "reduce_infill_retraction","internal_solid_infill_pattern", "minimum_sparse_infill_area", "reduce_infill_retraction","internal_solid_infill_pattern",
"ironing_type", "ironing_pattern", "ironing_flow", "ironing_speed", "ironing_spacing", "ironing_type", "ironing_pattern", "ironing_flow", "ironing_speed", "ironing_spacing", "ironing_angle",
"max_travel_detour_distance", "max_travel_detour_distance",
"fuzzy_skin", "fuzzy_skin_thickness", "fuzzy_skin_point_distance", "fuzzy_skin", "fuzzy_skin_thickness", "fuzzy_skin_point_distance",
"max_volumetric_extrusion_rate_slope", "max_volumetric_extrusion_rate_slope_segment_length", "max_volumetric_extrusion_rate_slope", "max_volumetric_extrusion_rate_slope_segment_length",

View file

@ -2375,6 +2375,16 @@ def = this->add("filament_loading_speed", coFloats);
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(20)); def->set_default_value(new ConfigOptionFloat(20));
def = this->add("ironing_angle", coFloat);
def->label = L("Ironing angle");
def->category = L("Quality");
def->tooltip = L("The angle ironing is done at. A negative number disables this function and uses the default method.");
def->sidetext = L("°");
def->min = -1;
def->max = 359;
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(-1));
def = this->add("layer_change_gcode", coString); def = this->add("layer_change_gcode", coString);
def->label = L("Layer change G-code"); def->label = L("Layer change G-code");
def->tooltip = L("This gcode part is inserted at every layer change after lift z"); def->tooltip = L("This gcode part is inserted at every layer change after lift z");

View file

@ -775,6 +775,7 @@ PRINT_CONFIG_CLASS_DEFINE(
((ConfigOptionPercent, ironing_flow)) ((ConfigOptionPercent, ironing_flow))
((ConfigOptionFloat, ironing_spacing)) ((ConfigOptionFloat, ironing_spacing))
((ConfigOptionFloat, ironing_speed)) ((ConfigOptionFloat, ironing_speed))
((ConfigOptionFloat, ironing_angle))
// Detect bridging perimeters // Detect bridging perimeters
((ConfigOptionBool, detect_overhang_wall)) ((ConfigOptionBool, detect_overhang_wall))
((ConfigOptionInt, wall_filament)) ((ConfigOptionInt, wall_filament))

View file

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

View file

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