Fix small area flow comp regression and some other small tweaks (#5844)

* Fix regression, always create SmallAreaInfillFlowCompensator model
small_area_infill_flow_compensation is per-region parameter, it's not necessary to iterate though all regions to check whether to create a model.

* Make SmallAreaInfillFlowCompensator robus.
1. handle spaces/tabs/new lines etc
2. don't throw expection, fall back to no-op instead if parsing failed

* Fixing an issue that changing small_area_infill_flow_compensation per modifier didn't take effect
This commit is contained in:
SoftFever 2024-06-25 00:20:20 +08:00 committed by GitHub
parent 5c9b82d6ec
commit 34ad17bcd2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 56 additions and 40 deletions

View file

@ -924,8 +924,7 @@ bool PrintObject::invalidate_state_by_config_options(
|| opt_key == "wipe_speed") {
steps.emplace_back(posPerimeters);
} else if (
opt_key == "small_area_infill_flow_compensation"
|| opt_key == "small_area_infill_flow_compensation_model") {
opt_key == "small_area_infill_flow_compensation_model") {
steps.emplace_back(posSlice);
} else if (opt_key == "gap_infill_speed"
|| opt_key == "filter_out_gap_fill" ) {
@ -1080,7 +1079,8 @@ bool PrintObject::invalidate_state_by_config_options(
|| opt_key == "infill_anchor"
|| opt_key == "infill_anchor_max"
|| opt_key == "top_surface_line_width"
|| opt_key == "initial_layer_line_width") {
|| opt_key == "initial_layer_line_width"
|| opt_key == "small_area_infill_flow_compensation") {
steps.emplace_back(posInfill);
} else if (opt_key == "sparse_infill_pattern") {
steps.emplace_back(posPrepareInfill);