mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-19 14:51:11 -06:00
Simple brim ears impl (#1779)
* First working brim ear impl, ported from SuperSlicer * Make brim ears configurable * Generate ears only if ear size > 0 * Fix `Polygon::convex_points` as well as brim ear max angle * Fix another error in `Polygon::convex_points` and `Polygon::concave_points` * Apply brim ears to inner brims as well * tweak hide and disable condition a bit --------- Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
parent
afe1030b58
commit
f714e72faa
9 changed files with 136 additions and 18 deletions
|
@ -598,6 +598,15 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
|
|||
// wall_filament uses the same logic as in Print::extruders()
|
||||
toggle_field("wall_filament", have_perimeters || have_brim);
|
||||
|
||||
bool have_brim_ear = (config->opt_enum<BrimType>("brim_type") == btEar);
|
||||
const auto brim_width = config->opt_float("brim_width");
|
||||
// disable brim_ears_max_angle and brim_ears_detection_length if brim_width is 0
|
||||
toggle_field("brim_ears_max_angle", brim_width > 0.0f);
|
||||
toggle_field("brim_ears_detection_length", brim_width > 0.0f);
|
||||
// hide brim_ears_max_angle and brim_ears_detection_length if brim_ear is not selected
|
||||
toggle_line("brim_ears_max_angle", have_brim_ear);
|
||||
toggle_line("brim_ears_detection_length", have_brim_ear);
|
||||
|
||||
bool have_raft = config->opt_int("raft_layers") > 0;
|
||||
bool have_support_material = config->opt_bool("enable_support") || have_raft;
|
||||
// BBS
|
||||
|
|
|
@ -2049,6 +2049,8 @@ void TabPrint::build()
|
|||
optgroup->append_single_option_line("brim_type", "auto-brim");
|
||||
optgroup->append_single_option_line("brim_width", "auto-brim#manual");
|
||||
optgroup->append_single_option_line("brim_object_gap", "auto-brim#brim-object-gap");
|
||||
optgroup->append_single_option_line("brim_ears_max_angle");
|
||||
optgroup->append_single_option_line("brim_ears_detection_length");
|
||||
|
||||
optgroup = page->new_optgroup(L("Prime tower"), L"param_tower");
|
||||
optgroup->append_single_option_line("enable_prime_tower");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue