Merge branch 'main' into CURA-9793_extend_recommended_print_settings

This commit is contained in:
jspijker 2022-12-07 10:16:17 +01:00
commit 0bdb04ccf6
5 changed files with 228 additions and 112 deletions

View File

@ -1,5 +1,5 @@
name: Cura All Installers name: Cura All Installers
run-name: ${{ inputs.cura_conan_version }} by @${{ github.actor }} run-name: ${{ inputs.cura_conan_version }} for Windows ${{ inputs.build_windows }}, MacOS ${{ inputs.build_macos }}, Linux ${{ inputs.build_linux }}
on: on:
workflow_dispatch: workflow_dispatch:

View File

@ -1,6 +1,6 @@
{ {
"name": "VzBot Base",
"version": 2, "version": 2,
"name": "VzBot Base",
"inherits": "fdmprinter", "inherits": "fdmprinter",
"metadata": "metadata":
{ {
@ -8,105 +8,196 @@
"author": "Chris, ckvsoft.at", "author": "Chris, ckvsoft.at",
"manufacturer": "VzBot", "manufacturer": "VzBot",
"file_formats": "text/x-gcode", "file_formats": "text/x-gcode",
"first_start_actions": ["MachineSettingsAction"], "first_start_actions": [ "MachineSettingsAction" ],
"machine_extruder_trains": { "0": "vzbot_extruder_0" },
"has_machine_quality": true, "has_machine_quality": true,
"has_materials": true, "has_materials": true,
"has_variants": true, "has_variants": true,
"variants_name": "Nozzle Size", "machine_extruder_trains": { "0": "vzbot_extruder_0" },
"preferred_material": "generic_abs",
"preferred_quality_type": "standard", "preferred_quality_type": "standard",
"preferred_variant_name": "0.4mm Nozzle", "preferred_variant_name": "0.4mm Nozzle",
"preferred_material": "generic_abs" "variants_name": "Nozzle Size"
}, },
"overrides": "overrides":
{ {
"machine_name": { "default_value": "VzBot" }, "acceleration_enabled": { "default_value": true },
"machine_width": { "default_value": 330 }, "acceleration_infill": { "maximum_value_warning": 50000 },
"machine_depth": { "default_value": 330 }, "acceleration_layer_0":
"machine_height": { "default_value": 400 }, {
"gantry_height": { "value": 34 }, "maximum_value_warning": 50000,
"machine_heated_bed": { "default_value": true }, "value": 15000
"machine_max_acceleration_x": { "default_value": 15000 }, },
"machine_max_acceleration_y": { "default_value": 15000 }, "acceleration_print":
"machine_max_acceleration_z": { "default_value": 2000 }, {
"machine_acceleration": { "default_value": 15000 }, "default_value": 15000,
"machine_max_jerk_xy": { "default_value": 20 }, "maximum_value_warning": 50000
"machine_max_jerk_z": { "default_value": 1 }, },
"machine_max_jerk_e": { "default_value": 60 }, "acceleration_print_layer_0":
"machine_steps_per_mm_x": { "default_value": 80 }, {
"machine_steps_per_mm_y": { "default_value": 80 }, "maximum_value_warning": 50000,
"machine_steps_per_mm_z": { "default_value": 400 }, "value": 15000
"machine_endstop_positive_direction_x": { "default_value": true }, },
"machine_endstop_positive_direction_y": { "default_value": true }, "acceleration_roofing":
"machine_endstop_positive_direction_z": { "default_value": false }, {
"machine_feeder_wheel_diameter": { "default_value": 7.5 }, "maximum_value_warning": 50000,
"machine_head_with_fans_polygon": { "default_value": [ [-35, 65], [-35, -50], [35, -50], [35, 65] ] }, "value": 15000
"machine_max_feedrate_z": { "default_value": 40 }, },
"machine_max_feedrate_e": { "default_value": 120 }, "acceleration_skirt_brim":
"machine_gcode_flavor": { "default_value": "Marlin" }, {
"machine_start_gcode": { "default_value": "start_print B={material_bed_temperature_layer_0} H={material_print_temperature_layer_0} C={build_volume_temperature}" }, "maximum_value_warning": 50000,
"machine_end_gcode": { "default_value": "end_print" }, "value": 15000
"adhesion_type": { "default_value": "skirt" }, },
"retraction_amount": { "default_value": 0.65 }, "acceleration_topbottom":
"skirt_brim_minimal_length": { "default_value": 550 }, {
"retraction_speed": { "default_value": 30, "maximum_value_warning": 130 }, "maximum_value_warning": 50000,
"retraction_retract_speed": { "maximum_value_warning": 130 }, "value": 15000
"retraction_prime_speed": { "value": "math.ceil(retraction_speed * 0.4)", "maximum_value_warning": 130 }, },
"retraction_hop_enabled": { "default_value": true }, "acceleration_travel":
"retraction_hop": { "default_value": 0.2 }, {
"retraction_combing": { "value": "'noskin'" }, "maximum_value_warning": 50000,
"retraction_combing_max_distance": { "default_value": 10 }, "value": 15000
"travel_avoid_other_parts": { "default_value": false }, },
"speed_print": { "value": 300, "maximum_value_warning": 1001 }, "acceleration_travel_layer_0":
"speed_infill": { "maximum_value_warning": 1001 }, {
"speed_travel": { "value": 300, "maximum_value_warning": 1001 }, "maximum_value_warning": 50000,
"speed_travel_layer_0": { "value": "math.ceil(speed_travel * 0.4)", "maximum_value_warning": 1001 }, "value": 15000
"speed_layer_0": { "value": "math.ceil(speed_print * 0.25)", "maximum_value_warning": 1001 }, },
"speed_wall": { "value": "math.ceil(speed_print * 0.5)", "maximum_value_warning": 1001 }, "acceleration_wall": { "maximum_value_warning": 50000 },
"speed_wall_0": { "value": "math.ceil(speed_print * 0.5)", "maximum_value_warning": 1001 }, "acceleration_wall_0":
"speed_wall_x": { "value": "math.ceil(speed_print)", "maximum_value_warning": 1001 }, {
"speed_topbottom": { "value": "math.ceil(speed_print * 0.5)", "maximum_value_warning": 1001 }, "maximum_value_warning": 50000,
"speed_roofing": { "value": "math.ceil(speed_print * 0.5)", "maximum_value_warning": 1001 }, "value": 15000
"speed_slowdown_layers": { "default_value": 4 }, },
"roofing_layer_count": { "value": 1 }, "acceleration_wall_x":
"optimize_wall_printing_order": { "default_value": true }, {
"infill_enable_travel_optimization": { "default_value": true }, "maximum_value_warning": 50000,
"minimum_polygon_circumference": { "default_value": 0.2 }, "value": 15000
"wall_overhang_angle": { "default_value": 75 }, },
"wall_overhang_speed_factor": { "default_value": 50 }, "adhesion_type": { "default_value": "skirt" },
"bridge_settings_enabled": { "default_value": true }, "alternate_extra_perimeter": { "default_value": true },
"bridge_wall_coast": { "default_value": 10 }, "bridge_fan_speed_2": { "resolve": "max(cool_fan_speed, 50)" },
"bridge_fan_speed": { "default_value": 100 }, "bridge_fan_speed_3": { "resolve": "max(cool_fan_speed, 20)" },
"bridge_fan_speed_2": { "resolve": "max(cool_fan_speed, 50)" }, "bridge_settings_enabled": { "default_value": true },
"bridge_fan_speed_3": { "resolve": "max(cool_fan_speed, 20)" }, "bridge_wall_coast": { "default_value": 10 },
"alternate_extra_perimeter": { "default_value": true }, "cool_fan_full_at_height": { "value": "resolveOrValue('layer_height_0') + resolveOrValue('layer_height') * max(1, cool_fan_full_layer - 1)" },
"cool_min_layer_time_fan_speed_max": { "default_value": 20 }, "cool_fan_full_layer": { "value": 4 },
"cool_min_layer_time": { "default_value": 15 }, "cool_min_layer_time_fan_speed_max": { "default_value": 20 },
"cool_fan_speed_min": { "value": "cool_fan_speed" }, "gantry_height": { "value": 34 },
"cool_fan_full_at_height": { "value": "resolveOrValue('layer_height_0') + resolveOrValue('layer_height') * max(1, cool_fan_full_layer - 1)" }, "infill_before_walls": { "default_value": false },
"cool_fan_full_layer": { "value": 4 }, "infill_enable_travel_optimization": { "default_value": true },
"layer_height_0": { "resolve": "max(0.2, min(extruderValues('layer_height')))" }, "infill_pattern": { "value": "'grid' if infill_sparse_density > 40 else 'cubic'" },
"line_width": { "value": "machine_nozzle_size * 1.125" }, "infill_sparse_density": { "value": 35 },
"wall_line_width": { "value": "machine_nozzle_size" }, "jerk_roofing": { "value": 10 },
"fill_outline_gaps": { "default_value": true }, "jerk_wall_0": { "value": 10 },
"meshfix_maximum_resolution": { "default_value": 0.01 }, "layer_height_0": { "resolve": "max(0.2, min(extruderValues('layer_height')))" },
"infill_before_walls": { "default_value": false }, "line_width": { "value": "machine_nozzle_size * 1.125" },
"zig_zaggify_infill": { "value": true }, "machine_acceleration": { "default_value": 15000 },
"min_infill_area": { "default_value": 5.0 }, "machine_depth": { "default_value": 330 },
"acceleration_enabled": { "default_value": false }, "machine_end_gcode": { "default_value": "end_print" },
"acceleration_print": { "default_value": 15000, "maximum_value_warning": 50000 }, "machine_endstop_positive_direction_x": { "default_value": true },
"acceleration_wall_0": { "value": 15000, "maximum_value_warning": 50000 }, "machine_endstop_positive_direction_y": { "default_value": true },
"acceleration_wall_x": { "value": 15000, "maximum_value_warning": 50000 }, "machine_endstop_positive_direction_z": { "default_value": false },
"acceleration_layer_0": { "value": 15000, "maximum_value_warning": 50000 }, "machine_feeder_wheel_diameter": { "default_value": 7.5 },
"acceleration_travel_layer_0": { "value": 15000, "maximum_value_warning": 50000 }, "machine_gcode_flavor": { "default_value": "Marlin" },
"acceleration_roofing": { "value": 15000, "maximum_value_warning": 50000 }, "machine_head_with_fans_polygon":
"acceleration_topbottom": { "value": 15000, "maximum_value_warning": 50000 }, {
"acceleration_travel": { "value": 20000, "maximum_value_warning": 50000 }, "default_value": [
"acceleration_skirt_brim": { "value": 15000, "maximum_value_warning": 50000 }, [-35, 65],
"acceleration_print_layer_0": { "value": 15000, "maximum_value_warning": 50000 }, [-35, -50],
"jerk_enabled": { "default_value": false }, [35, -50],
"jerk_wall_0": { "value": 10 }, [35, 65]
"jerk_roofing": { "value": 10 } ]
},
"machine_heated_bed": { "default_value": true },
"machine_height": { "default_value": 400 },
"machine_max_acceleration_x": { "default_value": 15000 },
"machine_max_acceleration_y": { "default_value": 15000 },
"machine_max_acceleration_z": { "default_value": 2000 },
"machine_max_feedrate_e": { "default_value": 120 },
"machine_max_feedrate_z": { "default_value": 40 },
"machine_max_jerk_e": { "default_value": 60 },
"machine_max_jerk_xy": { "default_value": 20 },
"machine_max_jerk_z": { "default_value": 1 },
"machine_name": { "default_value": "VzBot" },
"machine_start_gcode": { "default_value": "start_print B={material_bed_temperature_layer_0} H={material_print_temperature_layer_0} C={build_volume_temperature}" },
"machine_steps_per_mm_x": { "default_value": 80 },
"machine_steps_per_mm_y": { "default_value": 80 },
"machine_steps_per_mm_z": { "default_value": 400 },
"machine_width": { "default_value": 330 },
"meshfix_maximum_resolution": { "default_value": 0.01 },
"min_infill_area": { "default_value": 5.0 },
"minimum_polygon_circumference": { "default_value": 0.2 },
"optimize_wall_printing_order": { "default_value": true },
"retraction_amount": { "default_value": 0.65 },
"retraction_combing": { "value": "'noskin'" },
"retraction_combing_max_distance": { "default_value": 10 },
"retraction_hop": { "default_value": 0.2 },
"retraction_prime_speed":
{
"maximum_value_warning": 150,
"value": "math.ceil(retraction_speed * 0.4)"
},
"retraction_retract_speed": { "maximum_value_warning": 150 },
"retraction_speed":
{
"default_value": 45,
"maximum_value_warning": 150
},
"roofing_layer_count": { "value": 1 },
"skin_monotonic": { "default_value": true },
"skirt_brim_minimal_length": { "default_value": 550 },
"speed_infill": { "maximum_value_warning": 1001 },
"speed_layer_0":
{
"maximum_value_warning": 1001,
"value": "math.ceil(speed_print * 0.25)"
},
"speed_print":
{
"maximum_value_warning": 1001,
"value": 300
},
"speed_roofing":
{
"maximum_value_warning": 1001,
"value": "math.ceil(speed_print * 0.5)"
},
"speed_topbottom":
{
"maximum_value_warning": 1001,
"value": "math.ceil(speed_print * 0.5)"
},
"speed_travel":
{
"maximum_value_warning": 1001,
"value": 300
},
"speed_travel_layer_0":
{
"maximum_value_warning": 1001,
"value": "math.ceil(speed_travel * 0.4)"
},
"speed_wall":
{
"maximum_value_warning": 1001,
"value": "math.ceil(speed_print * 0.5)"
},
"speed_wall_0":
{
"maximum_value_warning": 1001,
"value": "math.ceil(speed_print * 0.5)"
},
"speed_wall_x":
{
"maximum_value_warning": 1001,
"value": "math.ceil(speed_print)"
},
"travel_avoid_other_parts": { "default_value": false },
"wall_line_width": { "value": "machine_nozzle_size" },
"wall_overhang_angle": { "default_value": 75 },
"wall_overhang_speed_factor": { "default_value": 50 },
"xy_offset_layer_0": { "value": 0.3 },
"z_seam_type": { "value": "'back'" },
"zig_zaggify_infill": { "value": true }
} }
} }

View File

@ -52,8 +52,13 @@ Item
id: intentSelection id: intentSelection
onClicked: menu.opened ? menu.close() : menu.open() onClicked: menu.opened ? menu.close() : menu.open()
anchors.right: profileWarningReset.left // Anchoring to the right makes much more sense here, but for some reason this component compresses from the right
width: UM.Theme.getSize("print_setup_big_item").width - profileWarningReset.width // and then expands from the left afterwards. This pushes it left by profileWarningReset.width
// The solution is to anchor from the other direction so this does not happen.
anchors.left: parent.left
// This leftMargin gives us the same spacing as anchoring to the right on profileWarningReset
anchors.leftMargin: parent.width - UM.Theme.getSize("print_setup_big_item").width
width: profileWarningReset.visible ? UM.Theme.getSize("print_setup_big_item").width - profileWarningReset.width - UM.Theme.getSize("default_margin").width : UM.Theme.getSize("print_setup_big_item").width
height: textLabel.contentHeight + 2 * UM.Theme.getSize("narrow_margin").height height: textLabel.contentHeight + 2 * UM.Theme.getSize("narrow_margin").height
hoverEnabled: true hoverEnabled: true
@ -157,6 +162,7 @@ Item
id: profileWarningReset id: profileWarningReset
width: childrenRect.width width: childrenRect.width
anchors.right: parent.right anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
fullWarning: false fullWarning: false
} }

View File

@ -233,18 +233,19 @@ Popup
right: parent.right right: parent.right
} }
height: textLabel.contentHeight + 2 * UM.Theme.getSize("narrow_margin").height height: textLabel.contentHeight + UM.Theme.getSize("default_margin").height
contentItem: Item contentItem: Item
{ {
width: parent.width width: parent.width
height: childrenRect.height height: parent.height
UM.Label UM.Label
{ {
id: textLabel id: textLabel
text: manageProfilesButton.text text: manageProfilesButton.text
height: contentHeight height: contentHeight
anchors.verticalCenter: parent.verticalCenter
} }
UM.Label UM.Label
{ {
@ -252,6 +253,7 @@ Popup
text: Cura.Actions.manageProfiles.shortcut text: Cura.Actions.manageProfiles.shortcut
color: UM.Theme.getColor("text_lighter") color: UM.Theme.getColor("text_lighter")
height: contentHeight height: contentHeight
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right anchors.right: parent.right
anchors.rightMargin: UM.Theme.getSize("default_margin").width anchors.rightMargin: UM.Theme.getSize("default_margin").width
} }

View File

@ -13,13 +13,14 @@ Item
property bool fullWarning: true // <- Can you see the warning icon and the text, or is it just the buttons? property bool fullWarning: true // <- Can you see the warning icon and the text, or is it just the buttons?
height: visible ? UM.Theme.getSize("action_button_icon").height : 0 height: visible ? UM.Theme.getSize("action_button_icon").height : 0
visible: Cura.SimpleModeSettingsManager.isProfileCustomized || Cura.MachineManager.hasCustomQuality width: visible ? childrenRect.width: 0
visible: Cura.MachineManager.hasUserSettings || (fullWarning && Cura.MachineManager.hasCustomQuality)
Rectangle Rectangle
{ {
id: warningIcon id: warningIcon
visible: fullWarning visible: fullWarning
color: UM.Theme.getColor("um_yellow_5") color: UM.Theme.getColor("warning")
height: UM.Theme.getSize("action_button_icon").height height: UM.Theme.getSize("action_button_icon").height
width: visible ? height : 0 width: visible ? height : 0
radius: width radius: width
@ -30,6 +31,7 @@ Item
} }
UM.ColorImage UM.ColorImage
{ {
id: warningIconImage
height: UM.Theme.getSize("action_button_icon").height height: UM.Theme.getSize("action_button_icon").height
width: height width: height
source: UM.Theme.getIcon("Warning", "low") source: UM.Theme.getIcon("Warning", "low")
@ -45,7 +47,7 @@ Item
{ {
left: warningIcon.right left: warningIcon.right
verticalCenter: parent.verticalCenter verticalCenter: parent.verticalCenter
leftMargin: UM.Theme.getSize("thin_margin").width leftMargin: visible ? UM.Theme.getSize("thin_margin").width : 0
} }
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
@ -54,7 +56,7 @@ Item
State State
{ {
name: "settings changed and custom quality" name: "settings changed and custom quality"
when: Cura.SimpleModeSettingsManager.isProfileCustomized && Cura.MachineManager.hasCustomQuality when: Cura.MachineManager.hasUserSettings && Cura.MachineManager.hasCustomQuality
PropertyChanges PropertyChanges
{ {
target: warning target: warning
@ -63,7 +65,6 @@ Item
return catalog.i18nc("@info, %1 is the name of the custom profile", "<b>%1</b> custom profile is active and you overwrote some settings.").arg(profile_name) return catalog.i18nc("@info, %1 is the name of the custom profile", "<b>%1</b> custom profile is active and you overwrote some settings.").arg(profile_name)
} }
} }
}, },
State State
{ {
@ -80,7 +81,21 @@ Item
}, },
State State
{ {
name: "settings changed" name: "recommended settings changed"
when: Cura.MachineManager.hasUserSettings
PropertyChanges
{
target: warning
text:
{
var profile_name = Cura.MachineManager.activeQualityOrQualityChangesName;
return catalog.i18nc("@info %1 is the name of a profile", "Recommended settings (for <b>%1</b>) were altered.").arg(profile_name);
}
}
},
State
{
name: "custom settings changed"
when: Cura.SimpleModeSettingsManager.isProfileCustomized when: Cura.SimpleModeSettingsManager.isProfileCustomized
PropertyChanges PropertyChanges
{ {
@ -99,7 +114,7 @@ Item
{ {
id: resetToDefaultQualityButton id: resetToDefaultQualityButton
height: UM.Theme.getSize("action_button_icon").height height: UM.Theme.getSize("action_button_icon").height
width: height width: visible ? height : 0
iconSource: UM.Theme.getIcon("ArrowReset") iconSource: UM.Theme.getIcon("ArrowReset")
anchors anchors
{ {
@ -107,10 +122,11 @@ Item
verticalCenter: parent.verticalCenter verticalCenter: parent.verticalCenter
} }
visible: enabled
color: enabled ? UM.Theme.getColor("accent_1") : UM.Theme.getColor("disabled") color: enabled ? UM.Theme.getColor("accent_1") : UM.Theme.getColor("disabled")
hoverColor: UM.Theme.getColor("primary_hover") hoverColor: UM.Theme.getColor("primary_hover")
enabled: Cura.MachineManager.hasCustomQuality || Cura.SimpleModeSettingsManager.isProfileCustomized enabled: (fullWarning && Cura.MachineManager.hasCustomQuality) || Cura.MachineManager.hasUserSettings
onClicked: Cura.MachineManager.resetToUseDefaultQuality() onClicked: Cura.MachineManager.resetToUseDefaultQuality()
UM.ToolTip UM.ToolTip
@ -126,7 +142,7 @@ Item
Item Item
{ {
id: buttonsSpacer id: buttonsSpacer
width: UM.Theme.getSize("action_button_icon").height width: compareAndSaveButton.visible ? UM.Theme.getSize("default_margin").width : 0
anchors.right: compareAndSaveButton.left anchors.right: compareAndSaveButton.left
} }
@ -134,7 +150,7 @@ Item
{ {
id: compareAndSaveButton id: compareAndSaveButton
height: UM.Theme.getSize("action_button_icon").height height: UM.Theme.getSize("action_button_icon").height
width: height width: visible ? height : 0
iconSource: UM.Theme.getIcon("Save") iconSource: UM.Theme.getIcon("Save")
anchors anchors
{ {
@ -142,10 +158,11 @@ Item
verticalCenter: parent.verticalCenter verticalCenter: parent.verticalCenter
} }
visible: enabled
color: enabled ? UM.Theme.getColor("accent_1") : UM.Theme.getColor("disabled") color: enabled ? UM.Theme.getColor("accent_1") : UM.Theme.getColor("disabled")
hoverColor: UM.Theme.getColor("primary_hover") hoverColor: UM.Theme.getColor("primary_hover")
enabled: Cura.SimpleModeSettingsManager.isProfileCustomized enabled: Cura.MachineManager.hasUserSettings
onClicked: CuraApplication.showCompareAndSaveProfileChanges onClicked: CuraApplication.showCompareAndSaveProfileChanges
( (
Cura.MachineManager.hasCustomQuality ? Cura.MachineManager.hasCustomQuality ?