mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-08-05 21:13:58 -06:00
Merge pull request #9997 from Ultimaker/CURA-8109_option_centre_walls_last
Change outer_inset_first setting to an enum, adding Center Last option
This commit is contained in:
commit
4f37bcec0b
19 changed files with 44 additions and 27 deletions
|
@ -1,4 +1,4 @@
|
|||
# Copyright (c) 2020 Ultimaker B.V.
|
||||
# Copyright (c) 2021 Ultimaker B.V.
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import configparser
|
||||
|
@ -38,6 +38,12 @@ class VersionUpgrade49to50(VersionUpgrade):
|
|||
for removed in _removed_settings:
|
||||
if removed in visible_settings:
|
||||
visible_settings.remove(removed)
|
||||
|
||||
# Replace Outer Before Inner Walls with equivalent.
|
||||
if "outer_inset_first" in visible_settings:
|
||||
visible_settings.remove("outer_inset_first")
|
||||
visible_settings.add("inset_direction")
|
||||
|
||||
parser["general"]["visible_settings"] = ";".join(visible_settings)
|
||||
|
||||
result = io.StringIO()
|
||||
|
@ -69,6 +75,13 @@ class VersionUpgrade49to50(VersionUpgrade):
|
|||
if removed in parser["values"]:
|
||||
del parser["values"][removed]
|
||||
|
||||
# Replace Outer Before Inner Walls with equivalent setting.
|
||||
if "outer_inset_first" in parser["values"]:
|
||||
old_value = parser["values"]["outer_inset_first"]
|
||||
if old_value.startswith("="): # Was already a formula.
|
||||
old_value = old_value[1:]
|
||||
parser["values"]["inset_direction"] = f"='outside_in' if ({old_value}) else 'inside_out'" # Makes it work both with plain setting values and formulas.
|
||||
|
||||
# Disable Fuzzy Skin as it doesn't work with with the libArachne walls
|
||||
if "magic_fuzzy_skin_enabled" in parser["values"]:
|
||||
parser["values"]["magic_fuzzy_skin_enabled"] = "False"
|
||||
|
|
|
@ -121,8 +121,8 @@
|
|||
"optimize_wall_printing_order": {
|
||||
"default_value": true
|
||||
},
|
||||
"outer_inset_first": {
|
||||
"default_value": false
|
||||
"inset_direction": {
|
||||
"default_value": "inside_out"
|
||||
},
|
||||
"retract_at_layer_change": {
|
||||
"value": true
|
||||
|
|
|
@ -831,7 +831,7 @@
|
|||
"description": "Width of the outermost wall line. By lowering this value, higher levels of detail can be printed.",
|
||||
"unit": "mm",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "(0.1 + 0.4 * machine_nozzle_size) if outer_inset_first else 0.1 * machine_nozzle_size",
|
||||
"minimum_value_warning": "(0.1 + 0.4 * machine_nozzle_size) if inset_direction == \"outside_in\" else 0.1 * machine_nozzle_size",
|
||||
"maximum_value_warning": "2 * machine_nozzle_size",
|
||||
"default_value": 0.4,
|
||||
"value": "wall_line_width",
|
||||
|
@ -1159,7 +1159,7 @@
|
|||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.0,
|
||||
"value": "(machine_nozzle_size - wall_line_width_0) / 2 if (wall_line_width_0 < machine_nozzle_size and not outer_inset_first) else 0",
|
||||
"value": "(machine_nozzle_size - wall_line_width_0) / 2 if (wall_line_width_0 < machine_nozzle_size and inset_direction != \"outside_in\") else 0",
|
||||
"minimum_value_warning": "0",
|
||||
"maximum_value_warning": "machine_nozzle_size",
|
||||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
|
@ -1173,13 +1173,17 @@
|
|||
"default_value": false,
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"outer_inset_first":
|
||||
"inset_direction":
|
||||
{
|
||||
"label": "Outer Before Inner Walls",
|
||||
"description": "Prints walls in order of outside to inside when enabled. This can help improve dimensional accuracy in X and Y when using a high viscosity plastic like ABS; however it can decrease outer surface print quality, especially on overhangs.",
|
||||
"type": "bool",
|
||||
"default_value": false,
|
||||
"enabled": "wall_0_extruder_nr == wall_x_extruder_nr",
|
||||
"label": "Wall Ordering",
|
||||
"description": "Determines the order in which walls are printed. Printing outer walls earlier helps with dimensional accuracy, as faults from inner walls cannot propagate to the outside. However printing them later allows them to stack better when overhangs are printed.",
|
||||
"type": "enum",
|
||||
"options": {
|
||||
"inside_out": "Inside To Outside",
|
||||
"outside_in": "Outside To Inside",
|
||||
"center_last": "Center Last"
|
||||
},
|
||||
"default_value": "inside_out",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"alternate_extra_perimeter":
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
"top_layers": {"value": "4 if infill_sparse_density < 95 else 1" },
|
||||
"bottom_layers": {"value": "(top_layers)" },
|
||||
"wall_0_inset": {"value": "0" },
|
||||
"outer_inset_first": {"value": true },
|
||||
"inset_direction": {"value": "'outside_in'" },
|
||||
"alternate_extra_perimeter": {"value": false },
|
||||
"filter_out_tiny_gaps": {"value": true },
|
||||
"fill_outline_gaps": {"value": true },
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
"top_bottom_pattern_0": {"value": "'lines'" },
|
||||
"wall_0_inset": {"value": 0},
|
||||
"optimize_wall_printing_order": {"value": false },
|
||||
"outer_inset_first": {"value": false },
|
||||
"inset_direction": {"value": "'inside_out'" },
|
||||
"alternate_extra_perimeter": {"value": false },
|
||||
"wall_min_flow": {"value": 0},
|
||||
"filter_out_tiny_gaps": {"value": true },
|
||||
|
|
|
@ -28,7 +28,7 @@ top_bottom_pattern = lines
|
|||
top_bottom_pattern_0 = lines
|
||||
wall_0_inset = 0
|
||||
optimize_wall_printing_order = False
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
alternate_extra_perimeter = False
|
||||
wall_min_flow = 0
|
||||
filter_out_tiny_gaps = True
|
||||
|
|
|
@ -27,7 +27,7 @@ top_bottom_pattern = lines
|
|||
top_bottom_pattern_0 = lines
|
||||
wall_0_inset = 0
|
||||
optimize_wall_printing_order = False
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
alternate_extra_perimeter = False
|
||||
wall_min_flow = 0
|
||||
filter_out_tiny_gaps = True
|
||||
|
|
|
@ -27,7 +27,7 @@ top_bottom_pattern = lines
|
|||
top_bottom_pattern_0 = lines
|
||||
wall_0_inset = 0
|
||||
optimize_wall_printing_order = False
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
alternate_extra_perimeter = False
|
||||
wall_min_flow = 0
|
||||
filter_out_tiny_gaps = True
|
||||
|
|
|
@ -29,7 +29,7 @@ top_bottom_pattern = lines
|
|||
top_bottom_pattern_0 = lines
|
||||
wall_0_inset = 0
|
||||
optimize_wall_printing_order = False
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
alternate_extra_perimeter = False
|
||||
wall_min_flow = 0
|
||||
filter_out_tiny_gaps = True
|
||||
|
|
|
@ -26,7 +26,7 @@ top_bottom_pattern = lines
|
|||
top_bottom_pattern_0 = lines
|
||||
wall_0_inset = 0
|
||||
optimize_wall_printing_order = False
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
alternate_extra_perimeter = False
|
||||
wall_min_flow = 0
|
||||
filter_out_tiny_gaps = True
|
||||
|
|
|
@ -29,7 +29,7 @@ top_bottom_pattern = lines
|
|||
top_bottom_pattern_0 = lines
|
||||
wall_0_inset = 0
|
||||
optimize_wall_printing_order = False
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
alternate_extra_perimeter = False
|
||||
wall_min_flow = 0
|
||||
filter_out_tiny_gaps = True
|
||||
|
|
|
@ -28,7 +28,7 @@ top_bottom_pattern = lines
|
|||
top_bottom_pattern_0 = lines
|
||||
wall_0_inset = 0
|
||||
optimize_wall_printing_order = False
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
alternate_extra_perimeter = False
|
||||
wall_min_flow = 0
|
||||
filter_out_tiny_gaps = True
|
||||
|
|
|
@ -27,7 +27,7 @@ top_bottom_pattern = lines
|
|||
top_bottom_pattern_0 = lines
|
||||
wall_0_inset = 0
|
||||
optimize_wall_printing_order = False
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
alternate_extra_perimeter = False
|
||||
wall_min_flow = 0
|
||||
filter_out_tiny_gaps = True
|
||||
|
|
|
@ -27,7 +27,7 @@ top_bottom_pattern = lines
|
|||
top_bottom_pattern_0 = lines
|
||||
wall_0_inset = 0
|
||||
optimize_wall_printing_order = False
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
alternate_extra_perimeter = False
|
||||
wall_min_flow = 0
|
||||
filter_out_tiny_gaps = True
|
||||
|
|
|
@ -27,7 +27,7 @@ top_bottom_pattern = lines
|
|||
top_bottom_pattern_0 = lines
|
||||
wall_0_inset = 0
|
||||
optimize_wall_printing_order = False
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
alternate_extra_perimeter = False
|
||||
wall_min_flow = 0
|
||||
filter_out_tiny_gaps = True
|
||||
|
|
|
@ -21,7 +21,7 @@ top_thickness = 0.8
|
|||
top_layers = 4
|
||||
bottom_thickness = 0.8
|
||||
bottom_layers = 4
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
skin_outline_count = 0
|
||||
|
||||
; infill_line_distance = 8
|
||||
|
|
|
@ -21,7 +21,7 @@ top_thickness = 0.8
|
|||
top_layers = 10
|
||||
bottom_thickness = 0.8
|
||||
bottom_layers = 10
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
skin_outline_count = 1
|
||||
|
||||
; infill_line_distance = 8
|
||||
|
|
|
@ -21,7 +21,7 @@ top_thickness = 0.8
|
|||
top_layers = 5
|
||||
bottom_thickness = 0.8
|
||||
bottom_layers = 5
|
||||
outer_inset_first = False
|
||||
inset_direction = inside_out
|
||||
skin_outline_count = 0
|
||||
|
||||
; infill_line_distance = 8
|
||||
|
|
|
@ -31,7 +31,7 @@ wall_line_count
|
|||
wall_0_wipe_dist
|
||||
wall_0_inset
|
||||
optimize_wall_printing_order
|
||||
outer_inset_first
|
||||
inset_direction
|
||||
alternate_extra_perimeter
|
||||
filter_out_tiny_gaps
|
||||
fill_outline_gaps
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue