Merge branch 'master' into CURA-8979_Materials_Preference_Page

# Conflicts:
#	resources/qml/ColorDialog.qml
#	resources/qml/Preferences/ProfilesPage.qml
This commit is contained in:
casper 2022-03-21 13:39:16 +01:00
commit bfa8118c9f
355 changed files with 875 additions and 1175 deletions

View file

@ -43,7 +43,7 @@ from UM.Scene.Selection import Selection
from UM.Scene.ToolHandle import ToolHandle
from UM.Settings.ContainerRegistry import ContainerRegistry
from UM.Settings.InstanceContainer import InstanceContainer
from UM.Settings.SettingDefinition import SettingDefinition, DefinitionPropertyType
from UM.Settings.SettingDefinition import SettingDefinition, DefinitionPropertyType, toIntConversion
from UM.Settings.SettingFunction import SettingFunction
from UM.Settings.Validator import Validator
from UM.View.SelectionPass import SelectionPass # For typing.
@ -382,11 +382,12 @@ class CuraApplication(QtApplication):
SettingDefinition.addSupportedProperty("resolve", DefinitionPropertyType.Function, default=None,
depends_on="value")
SettingDefinition.addSettingType("extruder", None, str, Validator)
SettingDefinition.addSettingType("optional_extruder", None, str, None)
SettingDefinition.addSettingType("extruder", None, toIntConversion, Validator)
SettingDefinition.addSettingType("optional_extruder", None, toIntConversion, None)
SettingDefinition.addSettingType("[int]", None, str, None)
def _initializeSettingFunctions(self):
"""Adds custom property types, settings types, and extra operators (functions).

View file

@ -298,7 +298,7 @@ class ChangeAtZ(Script):
},
"caz_change_retract": {
"label": "Change Retraction",
"description": "Indicates you would like to modify retraction properties.",
"description": "Indicates you would like to modify retraction properties. Does not work when using relative extrusion.",
"type": "bool",
"default_value": false
},

View file

@ -1092,38 +1092,6 @@
"default_value": "inward_distributed",
"limit_to_extruder": "wall_0_extruder_nr"
},
"wall_transition_threshold": {
"label": "Middle Line Threshold",
"description": "The smallest line width, as a factor of the normal line width, below which it will choose to use fewer, but wider lines to fill the available space the wall needs to occupy. Reduce this setting to use more, thinner lines. Increase to use fewer, wider lines. Note that this applies -as if- the entire shape should be filled with wall, so the middle here refers to the middle of the object between two outer edges of the shape, even if there actually is fill or (other) skin in the print instead of wall.",
"type": "float",
"unit": "%",
"default_value": 90,
"minimum_value": "1",
"maximum_value": "99",
"children":
{
"wall_split_middle_threshold": {
"label": "Split Middle Line Threshold",
"description": "The smallest line width, as a factor of the normal line width, above which the middle line (if there is one) will be split into two. Reduce this setting to use more, thinner lines. Increase to use fewer, wider lines. Note that this applies -as if- the entire shape should be filled with wall, so the middle here refers to the middle of the object between two outer edges of the shape, even if there actually is fill or (other) skin in the print instead of wall.",
"type": "float",
"unit": "%",
"default_value": 90,
"value": "wall_transition_threshold",
"minimum_value": "1",
"maximum_value": "99"
},
"wall_add_middle_threshold": {
"label": "Add Middle Line Threshold",
"description": "The smallest line width, as a factor of the normal line width, above which a middle line (if there wasn't one already) will be added. Reduce this setting to use more, thinner lines. Increase to use fewer, wider lines. Note that this applies -as if- the entire shape should be filled with wall, so the middle here refers to the middle of the object between two outer edges of the shape, even if there actually is fill or (other) skin in the print instead of wall.",
"type": "float",
"unit": "%",
"default_value": 80,
"value": "wall_transition_threshold * 8 / 9",
"minimum_value": "1",
"maximum_value": "99"
}
}
},
"wall_transition_length":
{
"label": "Wall Transition Length",
@ -1236,6 +1204,74 @@
"limit_to_extruder": "wall_0_extruder_nr",
"settable_per_mesh": true
},
"min_wall_line_width":
{
"label": "Minimum Wall Line Width",
"description": "For thin structures around once or twice the nozzle size, the line widths need to be altered to adhere to the thickness of the model. This setting controls the minimum line width allowed for the walls. The minimum line widths inherently also determine the maximum line widths, since we transition from N to N+1 walls at some geometry thickness where the N walls are wide and the N+1 walls are narrow. The widest possible wall line is twice the Minimum Wall Line Width.",
"unit": "mm",
"minimum_value_warning": ".5 * max(wall_line_width_0, wall_line_width_x)",
"maximum_value_warning": "min(wall_line_width_0, wall_line_width_x)",
"minimum_value_warning_old": "(0.1 + 0.4 * machine_nozzle_size) if inset_direction == \"outside_in\" else 0.1 * machine_nozzle_size",
"maximum_value_warning_old": "2 * machine_nozzle_size",
"default_value": 0.3,
"value": "machine_nozzle_size * .75",
"type": "float",
"settable_per_mesh": true,
"children":
{
"min_even_wall_line_width":
{
"label": "Minimum Even Wall Line Width",
"description": "The minimum line width for normal polygonal walls. This setting determines at which model thickness we switch from printing a single thin wall line, to printing two wall lines. A higher Minimum Even Wall Line Width leads to a higher maximum odd wall line width. The maximum even wall line width is calculated as Outer Wall Line Width + 0.5 * Minimum Odd Wall Line Width.",
"unit": "mm",
"minimum_value_warning": ".5 * max(wall_line_width_0, wall_line_width_x)",
"maximum_value_warning": "min(wall_line_width_0, wall_line_width_x)",
"default_value": 0.3,
"value": "min_wall_line_width",
"type": "float",
"settable_per_mesh": true,
"children":
{
"wall_split_middle_threshold": {
"label": "Split Middle Line Threshold",
"description": "The smallest line width, as a factor of the normal line width, above which the middle line (if there is one) will be split into two. Reduce this setting to use more, thinner lines. Increase to use fewer, wider lines. Note that this applies -as if- the entire shape should be filled with wall, so the middle here refers to the middle of the object between two outer edges of the shape, even if there actually is fill or (other) skin in the print instead of wall.",
"type": "float",
"unit": "%",
"default_value": 50,
"value": "max(1, min(99, 100 * (2 * min_even_wall_line_width - wall_line_width_0) / wall_line_width_0))",
"value_explicit": "100 * (2 * min_even_wall_line_width - wall_line_width_0) / (wall_line_width_0 + wall_line_width_x - wall_line_width_0)",
"minimum_value": "1",
"maximum_value": "99"
}
}
},
"min_odd_wall_line_width":
{
"label": "Minimum Odd Wall Line Width",
"description": "The minimum line width for middle line gap filler polyline walls. This setting determines at which model thickness we switch from printing two wall lines, to printing two outer walls and a single central wall in the middle. A higher Minimum Odd Wall Line Width leads to a higher maximum even wall line width. The maximum odd wall line width is calculated as 2 * Minimum Even Wall Line Width,",
"unit": "mm",
"minimum_value_warning": ".5 * max(wall_line_width_0, wall_line_width_x)",
"maximum_value_warning": "min(wall_line_width_0, wall_line_width_x)",
"default_value": 0.3,
"value": "min_wall_line_width",
"type": "float",
"settable_per_mesh": true,
"children":
{
"wall_add_middle_threshold": {
"label": "Add Middle Line Threshold",
"description": "The smallest line width, as a factor of the normal line width, above which a middle line (if there wasn't one already) will be added. Reduce this setting to use more, thinner lines. Increase to use fewer, wider lines. Note that this applies -as if- the entire shape should be filled with wall, so the middle here refers to the middle of the object between two outer edges of the shape, even if there actually is fill or (other) skin in the print instead of wall.",
"type": "float",
"unit": "%",
"default_value": 75,
"value": "max(1, min(99, 100 * min_odd_wall_line_width / wall_line_width_x))",
"minimum_value": "1",
"maximum_value": "99"
}
}
}
}
},
"fill_outline_gaps": {
"label": "Print Thin Walls",
"description": "Print pieces of the model which are horizontally thinner than the nozzle size.",
@ -1260,10 +1296,10 @@
},
"min_bead_width":
{
"label": "Minimum Wall Line Width",
"label": "Minimum Thin Wall Line Width",
"description": "Width of the wall that will replace thin features (according to the Minimum Feature Size) of the model. If the Minimum Wall Line Width is thinner than the thickness of the feature, the wall will become as thick as the feature itself.",
"unit": "mm",
"value": "wall_line_width_0 * (100.0 + wall_split_middle_threshold)/200",
"value": "machine_nozzle_size * .75",
"default_value": 0.2,
"minimum_value": "0.001",
"minimum_value_warning": "min_feature_size",
@ -4366,6 +4402,7 @@
"default_value": "0",
"value": "support_extruder_nr",
"enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1",
"resolve": "max(extruderValues('support_interface_extruder_nr'))",
"settable_per_mesh": false,
"settable_per_extruder": false,
"children":
@ -4378,6 +4415,7 @@
"default_value": "0",
"value": "support_interface_extruder_nr",
"enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1",
"resolve": "max(extruderValues('support_roof_extruder_nr'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
@ -4389,6 +4427,7 @@
"default_value": "0",
"value": "support_interface_extruder_nr",
"enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1",
"resolve": "max(extruderValues('support_bottom_extruder_nr'))",
"settable_per_mesh": false,
"settable_per_extruder": false
}
@ -5421,6 +5460,7 @@
"default_value": "0",
"value": "int(defaultExtruderPosition())",
"enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') != 'none' or resolveOrValue('prime_tower_brim_enable'))",
"resolve": "max(extruderValues('adhesion_extruder_nr'))",
"settable_per_mesh": false,
"settable_per_extruder": false,
"children":
@ -5444,6 +5484,7 @@
"default_value": "0",
"value": "adhesion_extruder_nr",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'",
"resolve": "max(extruderValues('raft_base_extruder_nr'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
@ -5455,6 +5496,7 @@
"default_value": "0",
"value": "adhesion_extruder_nr",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'",
"resolve": "max(extruderValues('raft_interface_extruder_nr'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
@ -5466,6 +5508,7 @@
"default_value": "0",
"value": "adhesion_extruder_nr",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'",
"resolve": "max(extruderValues('raft_surface_extruder_nr'))",
"settable_per_mesh": false,
"settable_per_extruder": false
}

View file

@ -29,7 +29,7 @@
"default_value": "M104 S{material_print_temperature_layer_0} ;Set Hotend Temperature\nM140 S{material_bed_temperature_layer_0} ;Set Bed Temperature\nG28 ;home\nG90 ;absolute positioning\nG1 X-10 Y-10 F3000 ;Move to corner \nG1 Z0 F1800 ;Go to zero offset\nM109 S{material_print_temperature_layer_0} ;Wait for Hotend Temperature\nM190 S{material_bed_temperature_layer_0} ;Wait for Bed Temperature\nG92 E0 ;Zero set extruder position\nG1 E20 F200 ;Feed filament to clear nozzle\nG92 E0 ;Zero set extruder position"
},
"machine_end_gcode": {
"default_value": "M104 S0 ;Extruder heater off\nM140 S0 ;Heated bed heater off\nG90 ;absolute positioning\nG92 E0 ;Retract the filament\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z{machine_width} E-1 F3000 ;move Z up a bit and retract filament even more\nG1 X0 F3000 ;move X to min endstops, so the head is out of the way\nG1 Y{machine_depth} F3000 ;so the head is out of the way and Plate is moved forward"
"default_value": "M104 S0 ;Extruder heater off\nM140 S0 ;Heated bed heater off\nG90 ;absolute positioning\nG92 E0 ;Retract the filament\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z{machine_height} E-1 F3000 ;move Z up a bit and retract filament even more\nG1 X0 F3000 ;move X to min endstops, so the head is out of the way\nG1 Y{machine_depth} F3000 ;so the head is out of the way and Plate is moved forward"
},
"machine_nozzle_size": {
"default_value": 0.4

View file

@ -47,6 +47,9 @@
"line_width": {
"value": "machine_nozzle_size"
},
"wall_thickness": {
"value": "wall_line_width_0 + wall_line_width_x"
},
"infill_before_walls": {
"value": "False"
},
@ -67,6 +70,9 @@
},
"bottom_layers": {
"value": "math.ceil(round(bottom_thickness / resolveOrValue('layer_height'), 4))"
},
"xy_offset": {
"value": "-layer_height * 0.2"
}
}
}

View file

@ -166,7 +166,6 @@
"top_bottom_thickness": { "value": "1" },
"travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" },
"wall_0_inset": { "value": "0" },
"wall_thickness": { "value": "1" },
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" }
}
}

View file

@ -159,7 +159,6 @@
"travel_avoid_supports": { "value": "True" },
"travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" },
"wall_0_inset": { "value": "0" },
"wall_thickness": { "value": "1" },
"meshfix_maximum_resolution": { "value": "(speed_wall_0 + speed_wall_x) / 60" },
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
"initial_layer_line_width_factor": { "value": "120" },

View file

@ -161,7 +161,6 @@
"travel_avoid_supports": { "value": "True" },
"travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" },
"wall_0_inset": { "value": "0" },
"wall_thickness": { "value": "1" },
"meshfix_maximum_resolution": { "value": "(speed_wall_0 + speed_wall_x) / 60" },
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
"optimize_wall_printing_order": { "value": "True" },

View file

@ -18,8 +18,7 @@ speed_wall = =speed_print
speed_wall_0 = =speed_wall
speed_wall_x = =speed_wall
speed_layer_0 = 20
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 2
top_bottom_thickness = 0.8
infill_sparse_density = 15
jerk_print = 30

View file

@ -31,4 +31,3 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -31,4 +31,3 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -18,8 +18,7 @@ speed_wall = =speed_print
speed_wall_0 = =speed_wall
speed_wall_x = =speed_wall
speed_layer_0 = 20
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 2
top_bottom_thickness = 0.8
infill_sparse_density = 15
jerk_print = 30

View file

@ -31,4 +31,3 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -31,4 +31,3 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -35,5 +35,4 @@ speed_wall_0 = =speed_wall
speed_wall_x = =speed_wall
speed_layer_0 = 20
wall_thickness = =line_width * 2
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 0.8

View file

@ -18,8 +18,7 @@ speed_wall = =speed_print
speed_wall_0 = =speed_wall
speed_wall_x = =speed_wall
speed_layer_0 = 20
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 2
top_bottom_thickness = 0.8
infill_sparse_density = 15
jerk_print = 30

View file

@ -31,4 +31,3 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -31,4 +31,3 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -35,5 +35,4 @@ speed_wall_0 = =speed_wall
speed_wall_x = =speed_wall
speed_layer_0 = 20
wall_thickness = =line_width * 2
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 0.8

View file

@ -18,8 +18,7 @@ speed_wall = =speed_print
speed_wall_0 = =speed_wall
speed_wall_x = =speed_wall
speed_layer_0 = 20
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 2
top_bottom_thickness = 0.8
infill_sparse_density = 15
jerk_print = 30

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -31,6 +31,5 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -31,6 +31,5 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -31,6 +31,5 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -31,6 +31,5 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -31,6 +31,5 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -31,6 +31,5 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -31,6 +31,5 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -31,6 +31,5 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -31,6 +31,5 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -31,6 +31,5 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -18,8 +18,7 @@ speed_wall = =speed_print
speed_wall_0 = =speed_wall
speed_wall_x = =speed_wall
speed_layer_0 = 20
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 2
top_bottom_thickness = 0.8
infill_sparse_density = 15
jerk_print = 30

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -35,5 +35,4 @@ speed_wall_0 = =speed_wall
speed_wall_x = =speed_wall
speed_layer_0 = 20
wall_thickness = =line_width * 2
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 0.8

View file

@ -18,8 +18,7 @@ speed_wall = =speed_print
speed_wall_0 = =speed_wall
speed_wall_x = =speed_wall
speed_layer_0 = 20
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 2
top_bottom_thickness = 0.8
infill_sparse_density = 15
jerk_print = 30

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
top_bottom_thickness = =wall_thickness
wall_thickness = =line_width * 3
xy_offset = =-layer_height * 0.2
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset

View file

@ -13,5 +13,4 @@ variant = AA 0.4
[values]
speed_infill = 50
wall_thickness = =wall_line_width * 3
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 1.05

View file

@ -35,5 +35,4 @@ speed_wall_0 = =speed_wall
speed_wall_x = =speed_wall
speed_layer_0 = 20
wall_thickness = =line_width * 2
top_bottom_thickness = =wall_thickness
top_bottom_thickness = 0.8

View file

@ -21,6 +21,13 @@ UM.Dialog
property alias swatchGridColumns: colorSwatchGrid.columns
// In this case we would like to let the content of the dialog determine the size of the dialog
// however with the current implementation of the dialog this is not possible, so instead we calculate
// the size of the dialog ourselves.
// Ugly workaround for windows having overlapping elements due to incorrect dialog width
minimumWidth: content.width + (Qt.platform.os == "windows" ? 4 * margin : 2 * margin)
minimumHeight: content.height + buttonRow.height + (Qt.platform.os == "windows" ? 5 * margin : 3 * margin)
property alias color: colorInput.text
property var swatchColors: [
"#2161AF", "#57AFB2", "#F7B32D", "#E33D4A", "#C088AD",

View file

@ -93,8 +93,8 @@ UM.Dialog
leftButtons: [
Cura.ComboBox
{
implicitHeight: UM.Theme.getSize("combobox_wide").height
implicitWidth: UM.Theme.getSize("combobox_wide").width
implicitHeight: UM.Theme.getSize("combobox").height
implicitWidth: UM.Theme.getSize("combobox").width
id: discardOrKeepProfileChangesDropDownButton
textRole: "text"

View file

@ -148,6 +148,14 @@ UM.PreferencesPage
bottom: parent.bottom
right: parent.right
}
onPositionChanged: {
// This removes focus from items when scrolling.
// This fixes comboboxes staying open and scrolling container
if (!activeFocus) {
forceActiveFocus();
}
}
}
Column
@ -215,7 +223,7 @@ UM.PreferencesPage
textRole: "text"
model: languageList
implicitWidth: UM.Theme.getSize("combobox_wide").width
implicitWidth: UM.Theme.getSize("combobox").width
implicitHeight: currencyField.height
function setCurrentIndex() {
@ -255,7 +263,7 @@ UM.PreferencesPage
id: currencyField
selectByMouse: true
text: UM.Preferences.getValue("cura/currency")
implicitWidth: UM.Theme.getSize("combobox_wide").width
implicitWidth: UM.Theme.getSize("combobox").width
onTextChanged: UM.Preferences.setValue("cura/currency", text)
}
@ -284,7 +292,7 @@ UM.PreferencesPage
model: themeList
textRole: "text"
implicitWidth: UM.Theme.getSize("combobox_wide").width
implicitWidth: UM.Theme.getSize("combobox").width
implicitHeight: currencyField.height
currentIndex:
@ -554,8 +562,8 @@ UM.PreferencesPage
model: comboBoxList
textRole: "text"
width: UM.Theme.getSize("combobox_wide").width
height: UM.Theme.getSize("combobox_wide").height
width: UM.Theme.getSize("combobox").width
height: UM.Theme.getSize("combobox").height
currentIndex:
{
@ -711,8 +719,8 @@ UM.PreferencesPage
Cura.ComboBox
{
id: choiceOnOpenProjectDropDownButton
width: UM.Theme.getSize("combobox_wide").width
height: UM.Theme.getSize("combobox_wide").height
width: UM.Theme.getSize("combobox").width
height: UM.Theme.getSize("combobox").height
model: ListModel
{

View file

@ -25,7 +25,6 @@ Item
top: parent.top
left: parent.left
right: settingVisibilityMenu.left
rightMargin: UM.Theme.getSize("default_margin").width
}
height: UM.Theme.getSize("print_setup_big_item").height
@ -131,8 +130,6 @@ Item
SettingVisibilityPresetsMenu
{
id: settingVisibilityPresetsMenu
x: settingVisibilityMenu.x
y: settingVisibilityMenu.y
onCollapseAllCategories:
{
settingsSearchTimer.stop()
@ -142,32 +139,32 @@ Item
}
}
UM.SimpleButton
UM.BurgerButton
{
id: settingVisibilityMenu
anchors
{
top: filterContainer.top
bottom: filterContainer.bottom
verticalCenter: filterContainer.verticalCenter
right: parent.right
rightMargin: UM.Theme.getSize("wide_margin").width
}
width: UM.Theme.getSize("medium_button_icon").width
height: UM.Theme.getSize("medium_button_icon").height
iconSource: UM.Theme.getIcon("Hamburger")
hoverColor: UM.Theme.getColor("small_button_text_hover")
color: UM.Theme.getColor("small_button_text")
onClicked:
{
settingVisibilityPresetsMenu.popup(
settingVisibilityMenu,
popupContainer,
-settingVisibilityPresetsMenu.width + UM.Theme.getSize("default_margin").width,
settingVisibilityMenu.height
)
}
}
Item
{
// Work around to prevent the buttom from being rescaled if a popup is attached
id: popupContainer
anchors.bottom: settingVisibilityMenu.bottom
anchors.right: settingVisibilityMenu.right
}
// Mouse area that gathers the scroll events to not propagate it to the main view.
MouseArea
@ -191,7 +188,17 @@ Item
}
clip: true
cacheBuffer: 1000000 // Set a large cache to effectively just cache every list item.
ScrollBar.vertical: UM.ScrollBar { id: scrollBar }
ScrollBar.vertical: UM.ScrollBar
{
id: scrollBar
onPositionChanged: {
// This removes focus from items when scrolling.
// This fixes comboboxes staying open and scrolling container
if (!activeFocus) {
forceActiveFocus();
}
}
}
model: UM.SettingDefinitionsModel
{

View file

@ -72,6 +72,18 @@ Item
base.value = value * base.stepSize;
}
// This forces TextField to commit typed values before incrementing with buttons.
// This fixes the typed value not being incremented when the textField has active focus.
up.onPressedChanged:
{
base.forceActiveFocus()
}
down.onPressedChanged:
{
base.forceActiveFocus()
}
background: Item {}
contentItem: Cura.TextField

View file

@ -17,5 +17,4 @@ cool_min_layer_time = 3
speed_wall_0 = =math.ceil(speed_print * 40 / 60)
speed_wall_x = =math.ceil(speed_print * 80 / 60)
speed_infill = =math.ceil(speed_print * 100 / 60)
wall_thickness = 1
speed_topbottom = =math.ceil(speed_print * 30 / 60)

View file

@ -18,4 +18,3 @@ infill_sparse_density = 22
speed_layer_0 = =round(speed_print * 30 / 30)
speed_print = 30
top_bottom_thickness = 0.72
wall_thickness = 0.88

View file

@ -21,4 +21,3 @@ speed_topbottom = =math.ceil(speed_print * 30 / 60)
speed_travel = 150
speed_wall = =math.ceil(speed_print * 50 / 60)
top_bottom_thickness = 0.75
wall_thickness = 0.7

View file

@ -19,4 +19,3 @@ speed_layer_0 = =round(speed_print * 30 / 50)
speed_print = 50
speed_topbottom = =math.ceil(speed_print * 20 / 50)
top_bottom_thickness = 0.72
wall_thickness = 1.05

View file

@ -19,4 +19,3 @@ speed_layer_0 = =round(speed_print * 30 / 50)
speed_print = 50
speed_topbottom = =math.ceil(speed_print * 20 / 50)
top_bottom_thickness = 0.8
wall_thickness = 1.05

View file

@ -21,4 +21,3 @@ speed_topbottom = =math.ceil(speed_print * 20 / 55)
speed_wall = =math.ceil(speed_print * 40 / 55)
speed_wall_0 = =math.ceil(speed_print * 25 / 55)
top_bottom_thickness = 1.2
wall_thickness = 1.59

View file

@ -19,4 +19,3 @@ speed_layer_0 = =round(speed_print * 30 / 40)
speed_print = 40
speed_wall_0 = =math.ceil(speed_print * 25 / 40)
top_bottom_thickness = 1.2
wall_thickness = 2.1

View file

@ -20,4 +20,3 @@ infill_sparse_density = 22
speed_layer_0 = =round(speed_print * 30 / 30)
speed_print = 30
top_bottom_thickness = 0.72
wall_thickness = 0.88

View file

@ -23,7 +23,6 @@ speed_topbottom = =math.ceil(speed_print * 30 / 55)
speed_travel = 150
speed_wall = =math.ceil(speed_print * 40 / 55)
top_bottom_thickness = 0.75
wall_thickness = 0.7
speed_wall_0 = =math.ceil(speed_print * 40 / 55)
speed_wall_x = =math.ceil(speed_print * 80 / 55)
speed_infill = =math.ceil(speed_print * 100 / 55)

View file

@ -21,6 +21,5 @@ speed_layer_0 = =round(speed_print * 30 / 45)
speed_print = 45
speed_wall = =math.ceil(speed_print * 30 / 45)
top_bottom_thickness = 0.72
wall_thickness = 1.05
speed_topbottom = =math.ceil(speed_print * 15 / 45)
speed_infill = =math.ceil(speed_print * 45 / 45)

View file

@ -21,4 +21,3 @@ speed_layer_0 = =round(speed_print * 30 / 45)
speed_print = 45
speed_wall = =math.ceil(speed_print * 30 / 45)
top_bottom_thickness = 0.8
wall_thickness = 1.05

View file

@ -21,4 +21,3 @@ speed_infill = =math.ceil(speed_print * 55 / 40)
speed_layer_0 = =round(speed_print * 30 / 40)
speed_print = 40
top_bottom_thickness = 1.2
wall_thickness = 1.59

View file

@ -20,4 +20,3 @@ infill_sparse_density = 20
speed_layer_0 = =round(speed_print * 30 / 40)
speed_print = 40
top_bottom_thickness = 1.2
wall_thickness = 2.1

View file

@ -20,4 +20,3 @@ infill_sparse_density = 22
speed_layer_0 = =round(speed_print * 30 / 30)
speed_print = 30
top_bottom_thickness = 0.72
wall_thickness = 0.88

View file

@ -22,7 +22,6 @@ speed_print = 45
speed_travel = 150
speed_wall = =math.ceil(speed_print * 40 / 45)
top_bottom_thickness = 0.75
wall_thickness = 0.7
speed_wall_0 = =math.ceil(speed_print * 30 / 45)
speed_topbottom = =math.ceil(speed_print * 30 / 45)
speed_wall_x = =math.ceil(speed_print * 40 / 45)

View file

@ -21,6 +21,5 @@ speed_layer_0 = =round(speed_print * 30 / 45)
speed_print = 45
speed_wall = =math.ceil(speed_print * 30 / 45)
top_bottom_thickness = 0.72
wall_thickness = 1.05
speed_topbottom = =math.ceil(speed_print * 15 / 45)
speed_infill = =math.ceil(speed_print * 45 / 45)

View file

@ -21,4 +21,3 @@ speed_layer_0 = =round(speed_print * 30 / 45)
speed_print = 45
speed_wall = =math.ceil(speed_print * 30 / 45)
top_bottom_thickness = 0.8
wall_thickness = 1.05

View file

@ -20,4 +20,3 @@ infill_sparse_density = 20
speed_layer_0 = =round(speed_print * 30 / 40)
speed_print = 40
top_bottom_thickness = 1.2
wall_thickness = 1.59

View file

@ -20,4 +20,3 @@ infill_sparse_density = 20
speed_layer_0 = =round(speed_print * 30 / 40)
speed_print = 40
top_bottom_thickness = 1.2
wall_thickness = 2.1

View file

@ -38,4 +38,3 @@ support_infill_rate = =20 if support_enable and support_structure == 'normal' el
support_pattern = lines
support_z_distance = 0.26
top_bottom_thickness = 1.5
wall_thickness = 1.14

View file

@ -38,4 +38,3 @@ support_infill_rate = =20 if support_enable and support_structure == 'normal' el
support_pattern = lines
support_z_distance = 0.26
top_bottom_thickness = 1.5
wall_thickness = 1.14

View file

@ -43,4 +43,3 @@ support_pattern = lines
support_xy_distance = 0.6
support_z_distance = 0.22
top_bottom_thickness = 0.75
wall_thickness = 1.14

View file

@ -43,4 +43,3 @@ support_pattern = lines
support_xy_distance = 0.6
support_z_distance = 0.22
top_bottom_thickness = 0.75
wall_thickness = 1.14

View file

@ -38,4 +38,3 @@ support_infill_rate = =20 if support_enable and support_structure == 'normal' el
support_pattern = lines
support_z_distance = 0.26
top_bottom_thickness = 1.2
wall_thickness = 2.1

View file

@ -38,4 +38,3 @@ support_infill_rate = =20 if support_enable and support_structure == 'normal' el
support_pattern = lines
support_z_distance = 0.26
top_bottom_thickness = 1.2
wall_thickness = 2.1

View file

@ -40,5 +40,4 @@ support_pattern = lines
support_xy_distance = 0.6
support_z_distance = =layer_height * 2
top_bottom_thickness = 1.2
wall_thickness = 1
speed_infill = =math.ceil(speed_print * 40 / 40)

View file

@ -40,4 +40,3 @@ support_pattern = lines
support_xy_distance = 0.6
support_z_distance = =layer_height * 2
top_bottom_thickness = 1.2
wall_thickness = 1

Some files were not shown because too many files have changed in this diff Show more