Merge branch 'main' into add_biqu_b2

This commit is contained in:
bjuraga 2025-02-05 21:06:54 +01:00 committed by GitHub
commit f520242aa0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
44 changed files with 252 additions and 47 deletions

View file

@ -27,7 +27,6 @@ class CuraConan(ConanFile):
generators = "VirtualPythonEnv"
tool_requires = "gettext/0.22.5"
# FIXME: Remove specific branch once merged to main
python_requires = "translationextractor/[>=2.2.0]@ultimaker/stable"
options = {

View file

@ -13,7 +13,9 @@ class FormatMaps:
"fire_e": "ultimaker_method",
"lava_f": "ultimaker_methodx",
"magma_10": "ultimaker_methodxl",
"sketch": "ultimaker_sketch"
"sketch": "ultimaker_sketch",
"sketch_large": "ultimaker_sketch_large",
"sketch_sprint": "ultimaker_sketch_sprint"
}
# A map from the extruder-name in their native file-formats to the internal name we use.

View file

@ -331,7 +331,7 @@ class CloudOutputDevice(UltimakerNetworkedPrinterOutputDevice):
return False
[printer, *_] = self._printers
return printer.type in ("MakerBot Method X", "MakerBot Method XL", "MakerBot Sketch")
return printer.type in ("MakerBot Method", "MakerBot Method X", "MakerBot Method XL", "MakerBot Sketch", "MakerBot Sketch Large", "MakerBot Sketch Sprint")
@pyqtProperty(bool, notify=_cloudClusterPrintersChanged)
def supportsPrintJobActions(self) -> bool:

View file

@ -3,5 +3,7 @@
"ultimaker_methodx": "MakerBot Method X",
"ultimaker_methodxl": "MakerBot Method XL",
"ultimaker_factor4": "Ultimaker Factor 4",
"ultimaker_sketch": "MakerBot Sketch"
"ultimaker_sketch": "MakerBot Sketch",
"ultimaker_sketch_large": "MakerBot Sketch Large",
"ultimaker_sketch_sprint": "MakerBot Sketch Sprint"
}

View file

@ -0,0 +1,68 @@
import configparser
import io
from typing import Dict, Tuple, List
from UM.VersionUpgrade import VersionUpgrade
_RENAMED_SETTINGS = {
"wall_overhang_speed_factor": "wall_overhang_speed_factors"
} # type: Dict[str, str]
_NEW_SETTING_VERSION = "25"
class VersionUpgrade59to510(VersionUpgrade):
def upgradePreferences(self, serialized: str, filename: str):
parser = configparser.ConfigParser(interpolation = None)
parser.read_string(serialized)
# Fix 'renamed'(ish) settings for visibility
if "visible_settings" in parser["general"]:
all_setting_keys = parser["general"]["visible_settings"].strip().split(";")
if all_setting_keys:
for idx, key in enumerate(all_setting_keys):
if key in _RENAMED_SETTINGS:
all_setting_keys[idx] = _RENAMED_SETTINGS[key]
parser["general"]["visible_settings"] = ";".join(all_setting_keys)
# Update version number.
parser["metadata"]["setting_version"] = _NEW_SETTING_VERSION
result = io.StringIO()
parser.write(result)
return [filename], [result.getvalue()]
def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
parser = configparser.ConfigParser(interpolation = None, comment_prefixes = ())
parser.read_string(serialized)
# Update version number.
parser["metadata"]["setting_version"] = _NEW_SETTING_VERSION
if "values" in parser:
for old_name, new_name in _RENAMED_SETTINGS.items():
if old_name in parser["values"]:
parser["values"][new_name] = parser["values"][old_name]
del parser["values"][old_name]
if "wall_overhang_speed_factors" in parser["values"]:
old_value = float(parser["values"]["wall_overhang_speed_factors"])
new_value = [max(1, int(round(old_value)))]
parser["values"]["wall_overhang_speed_factor"] = str(new_value)
result = io.StringIO()
parser.write(result)
return [filename], [result.getvalue()]
def upgradeStack(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
parser = configparser.ConfigParser(interpolation = None)
parser.read_string(serialized)
# Update version number.
if "metadata" not in parser:
parser["metadata"] = {}
parser["metadata"]["setting_version"] = _NEW_SETTING_VERSION
result = io.StringIO()
parser.write(result)
return [filename], [result.getvalue()]

View file

@ -0,0 +1,60 @@
# Copyright (c) 2024 UltiMaker
# Cura is released under the terms of the LGPLv3 or higher.
from typing import Any, Dict, TYPE_CHECKING
from . import VersionUpgrade59to510
if TYPE_CHECKING:
from UM.Application import Application
upgrade = VersionUpgrade59to510.VersionUpgrade59to510()
def getMetaData() -> Dict[str, Any]:
return {
"version_upgrade": {
# From To Upgrade function
("preferences", 7000024): ("preferences", 7000025, upgrade.upgradePreferences),
("machine_stack", 6000024): ("machine_stack", 6000025, upgrade.upgradeStack),
("extruder_train", 6000024): ("extruder_train", 6000025, upgrade.upgradeStack),
("definition_changes", 4000024): ("definition_changes", 4000025, upgrade.upgradeInstanceContainer),
("quality_changes", 4000024): ("quality_changes", 4000025, upgrade.upgradeInstanceContainer),
("quality", 4000024): ("quality", 4000025, upgrade.upgradeInstanceContainer),
("user", 4000024): ("user", 4000025, upgrade.upgradeInstanceContainer),
("intent", 4000024): ("intent", 4000025, upgrade.upgradeInstanceContainer),
},
"sources": {
"preferences": {
"get_version": upgrade.getCfgVersion,
"location": {"."}
},
"machine_stack": {
"get_version": upgrade.getCfgVersion,
"location": {"./machine_instances"}
},
"extruder_train": {
"get_version": upgrade.getCfgVersion,
"location": {"./extruders"}
},
"definition_changes": {
"get_version": upgrade.getCfgVersion,
"location": {"./definition_changes"}
},
"quality_changes": {
"get_version": upgrade.getCfgVersion,
"location": {"./quality_changes"}
},
"quality": {
"get_version": upgrade.getCfgVersion,
"location": {"./quality"}
},
"user": {
"get_version": upgrade.getCfgVersion,
"location": {"./user"}
}
}
}
def register(app: "Application") -> Dict[str, Any]:
return {"version_upgrade": upgrade}

View file

@ -0,0 +1,8 @@
{
"name": "Version Upgrade 5.9 to 5.10",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"description": "Upgrades configurations from Cura 5.9 to Cura 5.10",
"api": 8,
"i18n-catalog": "cura"
}

View file

@ -120,7 +120,12 @@
"support_z_distance": { "value": "layer_height * 2" },
"top_bottom_thickness": { "value": "layer_height * 4" },
"wall_overhang_angle": { "value": 55 },
"wall_overhang_speed_factor": { "value": 55 },
"wall_overhang_speed_factors":
{
"value": [
55
]
},
"zig_zaggify_infill": { "value": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'lines'" }
}
}

View file

@ -238,7 +238,12 @@
"wall_extruder_nr": { "value": -1 },
"wall_line_width_0": { "value": 0.44 },
"wall_overhang_angle": { "value": 45 },
"wall_overhang_speed_factor": { "value": 40 },
"wall_overhang_speed_factors":
{
"value": [
40
]
},
"wall_thickness": { "value": 0.84 },
"wall_x_extruder_nr": { "value": -1 },
"zig_zaggify_infill": { "value": true }

View file

@ -167,7 +167,12 @@
"travel_avoid_supports": { "value": "True" },
"wall_line_width": { "value": "machine_nozzle_size" },
"wall_overhang_angle": { "value": "75" },
"wall_overhang_speed_factor": { "value": "50" },
"wall_overhang_speed_factors":
{
"value": [
50
]
},
"zig_zaggify_infill": { "value": "True" }
}
}

View file

@ -107,7 +107,7 @@
"travel_retract_before_outer_wall": { "value": true },
"wall_0_wipe_dist": { "value": 0.0 },
"wall_overhang_angle": { "default_value": 75 },
"wall_overhang_speed_factor": { "default_value": 50 },
"wall_overhang_speed_factors": { "default_value": "[50]" },
"wall_thickness": { "value": "line_width * 2" },
"z_seam_corner": { "value": "'z_seam_corner_weighted'" },
"z_seam_type": { "value": "'back'" }

View file

@ -4728,6 +4728,31 @@
"settable_per_mesh": false,
"settable_per_extruder": true
},
"cool_min_layer_time_overhang":
{
"label": "Minimum Layer Time with Overhang",
"description": "The minimum time spent in a layer that contains overhanging extrusions. This forces the printer to slow down, to at least spend the time set here in one layer. This allows the printed material to cool down properly before printing the next layer. Layers may still take shorter than the minimal layer time if Lift Head is disabled and if the Minimum Speed would otherwise be violated.",
"unit": "s",
"type": "float",
"default_value": 5,
"value": "cool_min_layer_time",
"minimum_value": "0",
"maximum_value_warning": "600",
"settable_per_mesh": false,
"settable_per_extruder": true
},
"cool_min_layer_time_overhang_min_segment_length":
{
"label": "Minimum Overhang Segment Length",
"description": "When trying to apply the minimum layer time specific for overhanging layers, it will be applied only if at least one consecutive overhanging extrusion move is longer than this value.",
"unit": "mm",
"type": "float",
"default_value": 5,
"minimum_value": "0",
"maximum_value_warning": "500",
"settable_per_mesh": false,
"settable_per_extruder": true
},
"cool_min_speed":
{
"label": "Minimum Speed",
@ -8430,15 +8455,13 @@
"value": "support_angle",
"settable_per_mesh": true
},
"wall_overhang_speed_factor":
"wall_overhang_speed_factors":
{
"label": "Overhanging Wall Speed",
"description": "Overhanging walls will be printed at this percentage of their normal print speed.",
"label": "Overhanging Wall Speeds",
"description": "Overhanging walls will be printed at a percentage of their normal print speed. You can specify multiple values, so that even more overhanging walls will be printed even slower, e.g. by setting [75, 50, 25]",
"unit": "%",
"type": "float",
"default_value": 100,
"minimum_value": "0.001",
"minimum_value_warning": "25",
"type": "[int]",
"default_value": "[100]",
"settable_per_mesh": true
},
"bridge_settings_enabled":

View file

@ -109,7 +109,12 @@
"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 },
"wall_overhang_speed_factors":
{
"default_value": [
50
]
},
"zig_zaggify_infill": { "value": true }
}
}

View file

@ -61,7 +61,12 @@
"support_pattern": { "default_value": "lines" },
"switch_extruder_retraction_amount": { "value": 100 },
"switch_extruder_retraction_speeds": { "value": 60 },
"wall_overhang_speed_factor": { "value": 50 },
"wall_overhang_speed_factors":
{
"value": [
50
]
},
"z_seam_corner": { "default_value": "z_seam_corner_any" },
"z_seam_relative": { "value": true },
"z_seam_type": { "default_value": "sharpest_corner" },

View file

@ -109,7 +109,12 @@
"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 },
"wall_overhang_speed_factors":
{
"default_value": [
50
]
},
"zig_zaggify_infill": { "value": true }
}
}

View file

@ -379,10 +379,12 @@
"wall_0_wipe_dist": { "value": 0.2 },
"wall_line_width_x": { "value": 0.58 },
"wall_overhang_angle": { "value": 35 },
"wall_overhang_speed_factor":
"wall_overhang_speed_factors":
{
"minimum_value_warning": 15,
"value": 17.5
"value": [
18
]
},
"wall_thickness": { "value": 1 },
"wall_x_material_flow_layer_0": { "value": "material_flow" },

View file

@ -119,7 +119,12 @@
"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 },
"wall_overhang_speed_factors":
{
"default_value": [
50
]
},
"zig_zaggify_infill": { "value": true }
}
}

View file

@ -195,7 +195,12 @@
"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 },
"wall_overhang_speed_factors":
{
"default_value": [
50
]
},
"xy_offset_layer_0": { "value": -0.3 },
"z_seam_type": { "value": "'back'" },
"zig_zaggify_infill": { "value": true }

View file

@ -115,7 +115,7 @@ travel_avoid_other_parts = True
travel_avoid_supports = True
travel_retract_before_outer_wall = False
wall_overhang_angle = 35.0
wall_overhang_speed_factor = 60.0
wall_overhang_speed_factors = [60]
wall_thickness = =line_width*2
z_seam_corner = z_seam_corner_inner
z_seam_position = backright

View file

@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -52,5 +52,5 @@ support_xy_distance = 0.3
support_xy_distance_overhang = 0.25
support_z_distance = 0.15
wall_overhang_angle = 30
wall_overhang_speed_factor = 50
wall_overhang_speed_factors = [50]

View file

@ -58,5 +58,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -58,5 +58,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -54,5 +54,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.22
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -52,5 +52,5 @@ support_xy_distance = 0.3
support_xy_distance_overhang = 0.25
support_z_distance = 0.15
wall_overhang_angle = 30
wall_overhang_speed_factor = 50
wall_overhang_speed_factors = [50]

View file

@ -58,5 +58,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -54,5 +54,5 @@ support_xy_distance = 0.3
support_xy_distance_overhang = 0.25
support_z_distance = 0.15
wall_overhang_angle = 30
wall_overhang_speed_factor = 50
wall_overhang_speed_factors = [50]

View file

@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -54,5 +54,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.22
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -59,5 +59,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -54,5 +54,5 @@ support_xy_distance = 0.3
support_xy_distance_overhang = 0.25
support_z_distance = 0.15
wall_overhang_angle = 30
wall_overhang_speed_factor = 50
wall_overhang_speed_factors = [50]

View file

@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -57,5 +57,5 @@ support_xy_overrides_z = xy_overrides_z
support_z_distance = 0.15
top_skin_expand_distance = 2.4
wall_overhang_angle = 30
wall_overhang_speed_factor = 40
wall_overhang_speed_factors = [40]

View file

@ -248,6 +248,7 @@ cool_fan_speed_0
cool_fan_full_at_height
cool_fan_full_layer
cool_min_layer_time
cool_min_layer_time_overhang
cool_min_speed
cool_lift_head
cool_during_extruder_switch