mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-10 16:27:54 -06:00
add ironing angle (#2320)
This commit is contained in:
parent
d31ca04720
commit
a523979ac3
6 changed files with 15 additions and 3 deletions
|
@ -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);
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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");
|
||||||
|
|
|
@ -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))
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue