mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-12-24 16:48:49 -07:00
Ignore the precise outer wall option when the wall sequence is not set to InnerOuter. (#10687)
This commit is contained in:
parent
4f50fdc94e
commit
d2eb007d57
4 changed files with 9 additions and 4 deletions
|
|
@ -1129,7 +1129,7 @@ void PerimeterGenerator::process_classic()
|
|||
coord_t ext_perimeter_spacing = this->ext_perimeter_flow.scaled_spacing();
|
||||
coord_t ext_perimeter_spacing2;
|
||||
// Orca: ignore precise_outer_wall if wall_sequence is not InnerOuter
|
||||
if(config->precise_outer_wall)
|
||||
if(config->precise_outer_wall && config->wall_sequence != WallSequence::InnerOuter)
|
||||
ext_perimeter_spacing2 = scaled<coord_t>(0.5f * (this->ext_perimeter_flow.width() + this->perimeter_flow.width()));
|
||||
else
|
||||
ext_perimeter_spacing2 = scaled<coord_t>(0.5f * (this->ext_perimeter_flow.spacing() + this->perimeter_flow.spacing()));
|
||||
|
|
@ -2124,7 +2124,7 @@ void PerimeterGenerator::process_arachne()
|
|||
if (is_topmost_layer && loop_number > 0 && config->only_one_wall_top)
|
||||
loop_number = 0;
|
||||
|
||||
auto apply_precise_outer_wall = config->precise_outer_wall;
|
||||
auto apply_precise_outer_wall = config->precise_outer_wall && config->wall_sequence != WallSequence::InnerOuter;
|
||||
// Orca: properly adjust offset for the outer wall if precise_outer_wall is enabled.
|
||||
ExPolygons last = offset_ex(surface.expolygon.simplify_p(surface_simplify_resolution),
|
||||
apply_precise_outer_wall? -float(ext_perimeter_width - ext_perimeter_spacing )
|
||||
|
|
|
|||
|
|
@ -1600,6 +1600,12 @@ StringObjectException Print::validate(StringObjectException *warning, Polygons*
|
|||
// }
|
||||
// }
|
||||
|
||||
// check wall sequence and precise outer wall
|
||||
if (m_default_region_config.precise_outer_wall && m_default_region_config.wall_sequence != WallSequence::InnerOuter) {
|
||||
warning->string = L("Precise outer wall will be ignored when wall sequence is InnerOuter.");
|
||||
warning->opt_key = "precise_outer_wall";
|
||||
}
|
||||
|
||||
} catch (std::exception& e) {
|
||||
BOOST_LOG_TRIVIAL(warning) << "Orca: validate motion ability failed: " << e.what() << std::endl;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1085,7 +1085,7 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("precise_outer_wall",coBool);
|
||||
def->label = L("Precise wall");
|
||||
def->category = L("Quality");
|
||||
def->tooltip = L("Improve shell precision by adjusting outer wall spacing. This also improves layer consistency.");
|
||||
def->tooltip = L("Improve shell precision by adjusting outer wall spacing. This also improves layer consistency. NOTE: This option will be ignored unless the wall sequence is InnerOuter.");
|
||||
def->set_default_value(new ConfigOptionBool{true});
|
||||
|
||||
def = this->add("only_one_wall_top", coBool);
|
||||
|
|
|
|||
|
|
@ -1145,7 +1145,6 @@ bool PrintObject::invalidate_state_by_config_options(
|
|||
|| opt_key == "overhang_reverse_internal_only"
|
||||
|| opt_key == "overhang_reverse_threshold"
|
||||
|| opt_key == "wall_direction"
|
||||
//BBS
|
||||
|| opt_key == "enable_overhang_speed"
|
||||
|| opt_key == "detect_thin_wall"
|
||||
|| opt_key == "precise_outer_wall") {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue