From d710d42c0aed53df753eff7dfa90a4da005a8a7a Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Aug 2020 02:16:16 +0200 Subject: [PATCH 01/27] Keep tooltip visible when hovering over it Except when hovering over it while it's completely invisible. You just get this 100ms leeway time to transition from the setting to the tooltip. --- resources/qml/PrintSetupTooltip.qml | 47 ++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/resources/qml/PrintSetupTooltip.qml b/resources/qml/PrintSetupTooltip.qml index 41d68aef37..cb9801f1bb 100644 --- a/resources/qml/PrintSetupTooltip.qml +++ b/resources/qml/PrintSetupTooltip.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2019 Ultimaker B.V. +// Copyright (c) 2020 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.7 @@ -59,22 +59,39 @@ UM.PointingRectangle base.opacity = 0; } - Label + MouseArea { - id: label; - anchors + anchors.fill: parent + hoverEnabled: true + onHoveredChanged: { - top: parent.top; - topMargin: UM.Theme.getSize("tooltip_margins").height; - left: parent.left; - leftMargin: UM.Theme.getSize("tooltip_margins").width; - right: parent.right; - rightMargin: UM.Theme.getSize("tooltip_margins").width; + if(containsMouse && base.opacity > 0) + { + base.show(Qt.point(base.x + base.width, base.y + UM.Theme.getSize("tooltip_arrow_margins").height)); + } + else + { + base.hide(); + } + } + + Label + { + id: label + anchors + { + top: parent.top; + topMargin: UM.Theme.getSize("tooltip_margins").height; + left: parent.left; + leftMargin: UM.Theme.getSize("tooltip_margins").width; + right: parent.right; + rightMargin: UM.Theme.getSize("tooltip_margins").width; + } + wrapMode: Text.Wrap; + textFormat: Text.RichText + font: UM.Theme.getFont("default"); + color: UM.Theme.getColor("tooltip_text"); + renderType: Text.NativeRendering } - wrapMode: Text.Wrap; - textFormat: Text.RichText - font: UM.Theme.getFont("default"); - color: UM.Theme.getColor("tooltip_text"); - renderType: Text.NativeRendering } } From 3b8ae6439c61d9e63068ea91ef391c498608d2f6 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Aug 2020 02:40:45 +0200 Subject: [PATCH 02/27] Put the setting tooltip in a scrollview You can now scroll through it if the description is too long for it to fit on the screen. --- resources/qml/PrintSetupTooltip.qml | 38 +++++++++++++++++------------ 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/resources/qml/PrintSetupTooltip.qml b/resources/qml/PrintSetupTooltip.qml index cb9801f1bb..515427e655 100644 --- a/resources/qml/PrintSetupTooltip.qml +++ b/resources/qml/PrintSetupTooltip.qml @@ -11,7 +11,7 @@ UM.PointingRectangle id: base property real sourceWidth: 0 width: UM.Theme.getSize("tooltip").width - height: label.height + UM.Theme.getSize("tooltip_margins").height * 2 + height: textScroll.height + UM.Theme.getSize("tooltip_margins").height * 2 color: UM.Theme.getColor("tooltip") arrowSize: UM.Theme.getSize("default_arrow").width @@ -75,23 +75,29 @@ UM.PointingRectangle } } - Label + ScrollView { - id: label - anchors - { - top: parent.top; - topMargin: UM.Theme.getSize("tooltip_margins").height; - left: parent.left; - leftMargin: UM.Theme.getSize("tooltip_margins").width; - right: parent.right; - rightMargin: UM.Theme.getSize("tooltip_margins").width; + id: textScroll + width: parent.width + height: Math.min(label.height, base.parent.height) + + ScrollBar.horizontal: ScrollBar { + active: false //Only allow vertical scrolling. We should grow vertically only, but due to how the label is positioned it allocates space in the ScrollView horizontally. + } + + Label + { + id: label + x: UM.Theme.getSize("tooltip_margins").width + y: UM.Theme.getSize("tooltip_margins").height + width: base.width - UM.Theme.getSize("tooltip_margins").width * 2 + + wrapMode: Text.Wrap; + textFormat: Text.RichText + font: UM.Theme.getFont("default"); + color: UM.Theme.getColor("tooltip_text"); + renderType: Text.NativeRendering } - wrapMode: Text.Wrap; - textFormat: Text.RichText - font: UM.Theme.getFont("default"); - color: UM.Theme.getColor("tooltip_text"); - renderType: Text.NativeRendering } } } From 10857094070e79aabce25bd4fbcb394a0f5d3d68 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 5 Aug 2020 02:44:19 +0200 Subject: [PATCH 03/27] Fix arrow position if tooltip is too big to fit on the screen --- resources/qml/PrintSetupTooltip.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/PrintSetupTooltip.qml b/resources/qml/PrintSetupTooltip.qml index 515427e655..6b39842ec0 100644 --- a/resources/qml/PrintSetupTooltip.qml +++ b/resources/qml/PrintSetupTooltip.qml @@ -67,7 +67,7 @@ UM.PointingRectangle { if(containsMouse && base.opacity > 0) { - base.show(Qt.point(base.x + base.width, base.y + UM.Theme.getSize("tooltip_arrow_margins").height)); + base.show(Qt.point(target.x - 1, target.y - UM.Theme.getSize("tooltip_arrow_margins").height / 2)); //Same arrow position as before. } else { From 116f3adf5f4db24f5a484c51b081db5ce3655e6f Mon Sep 17 00:00:00 2001 From: Thushan Fernando Date: Thu, 6 Aug 2020 16:10:44 +1000 Subject: [PATCH 04/27] Initial Cocoon Create sources. --- .../definitions/cocoon_create_touch.def.json | 79 ++++++++++++++++++ .../cocoon_create_touch_extruder_0.def.json | 15 ++++ resources/images/Cocoon-backplate.png | Bin 0 -> 1061 bytes 3 files changed, 94 insertions(+) create mode 100644 resources/definitions/cocoon_create_touch.def.json create mode 100644 resources/extruders/cocoon_create_touch_extruder_0.def.json create mode 100644 resources/images/Cocoon-backplate.png diff --git a/resources/definitions/cocoon_create_touch.def.json b/resources/definitions/cocoon_create_touch.def.json new file mode 100644 index 0000000000..da5905c047 --- /dev/null +++ b/resources/definitions/cocoon_create_touch.def.json @@ -0,0 +1,79 @@ +{ + "name": "Cocoon Create Touch", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Thushan Fernando", + "manufacturer": "Cocoon Create", + "file_formats": "text/x-gcode", + "preferred_quality_type": "fine", + "has_materials": true, + "platform": "wanhao_200_200_platform.obj", + "platform_texture": "Cocoon-backplate.png", + "machine_extruder_trains": { + "0": "cocoon_create_touch_extruder_0" + }, + "platform_offset": [ + 0, + -28, + 0 + ] + }, + "overrides": { + "machine_name": { + "default_value": "Cocoon Create Touch" + }, + "machine_width": { + "default_value": 200 + }, + "machine_height": { + "default_value": 180 + }, + "machine_depth": { + "default_value": 200 + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_gcode_flavor": { + "default_value": "RepRap (Marlin/Sprinter)" + }, + "machine_start_gcode": { + "default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{speed_travel} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E3 ;extrude 3mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{speed_travel} \n ;Put printing message on LCD screen\n M117 Printing..." + }, + "machine_end_gcode": { + "default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning" + }, + "material_diameter": { + "default_value": 1.75 + }, + "layer_height": { + "default_value": 0.10 + }, + "layer_height_0": { + "default_value": 0.2 + }, + "wall_thickness": { + "value": "0.8" + }, + "top_bottom_thickness": { + "default_value": 0.6 + }, + "speed_print": { + "default_value": 50 + }, + "support_enable": { + "default_value": true + }, + "retraction_enable": { + "default_value": true + }, + "retraction_amount": { + "default_value": 4.5 + }, + "retraction_speed": { + "default_value": 25 + } + } +} \ No newline at end of file diff --git a/resources/extruders/cocoon_create_touch_extruder_0.def.json b/resources/extruders/cocoon_create_touch_extruder_0.def.json new file mode 100644 index 0000000000..ca7c3e38af --- /dev/null +++ b/resources/extruders/cocoon_create_touch_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "cocoon_create_touch", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} diff --git a/resources/images/Cocoon-backplate.png b/resources/images/Cocoon-backplate.png new file mode 100644 index 0000000000000000000000000000000000000000..577edfcf0d182027d303ebedb820b92b687c8c79 GIT binary patch literal 1061 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wrry*ZeHWLC-B(?H5Nz$e7@z`=u!&CSlPuJ7N! z7ZDdvN=aF`XwiiW7alx#psc1gandAXGqVjFHx`wY1c!#Qu(SXF|G##j&qknj!IB`q zU?3L-FsQDbnZ&@rJi*h&F{I+w+gT?ky;k6Hoynej{LlaE`&j#U=S{eCcir|K<9QLP7d~bi1p~XIIMvRt zdwBYNHDC6>bI&PXD0FrVU$Cw(w%B+3P2VdHF>`~a2mK6?GR%tNVta9{h4YuEo&M!d zS7bHACQp2svFOc$(g!g=RhIOvOHyy*o01}UecGdoZi{Br#x+)@)!2Jw*q^`EsjjB zs1?{daZWt@+8H0Yv%c$=*P481u?iH{%Uy6{xn{WO(R%)fBSEo8NPKFN`BuDICXeiouEng zmM2M@+fSXVF}~7ycIKP{ujl5D#q$no%QHXRcyWvUro|7Nm;IGgdYAP>qVnJ#W~=n+ zKNf7BHaFwZL(`SnMZef*C0KJ$=~LIUEwP#T%w9de@mwVL!HPMt#Sin|R4x|C=qvL+ zBI*6<$@xR-ds5~&JZNmI^JU<@z`)CB;=pVoz+mFw4CA6P_AaPTD2|=E`7479Fyk_K My85}Sb4q9e0BcI}egFUf literal 0 HcmV?d00001 From 3c70d55ae708d03f6672cbf37b7855c7ef9411f0 Mon Sep 17 00:00:00 2001 From: Thushan Fernando Date: Thu, 6 Aug 2020 16:11:13 +1000 Subject: [PATCH 05/27] Initial Cocoon Create attempt. --- resources/definitions/cocoon_create.def.json | 79 +++++++++++++++++++ .../cocoon_create_extruder_0.def.json | 15 ++++ 2 files changed, 94 insertions(+) create mode 100644 resources/definitions/cocoon_create.def.json create mode 100644 resources/extruders/cocoon_create_extruder_0.def.json diff --git a/resources/definitions/cocoon_create.def.json b/resources/definitions/cocoon_create.def.json new file mode 100644 index 0000000000..a3b47361c7 --- /dev/null +++ b/resources/definitions/cocoon_create.def.json @@ -0,0 +1,79 @@ +{ + "name": "Cocoon Create", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Thushan Fernando", + "manufacturer": "Cocoon Create", + "file_formats": "text/x-gcode", + "preferred_quality_type": "fine", + "has_materials": true, + "platform": "wanhao_200_200_platform.obj", + "platform_texture": "Cocoon-backplate.png", + "machine_extruder_trains": { + "0": "cocoon_create_extruder_0" + }, + "platform_offset": [ + 0, + -28, + 0 + ] + }, + "overrides": { + "machine_name": { + "default_value": "Cocoon Create" + }, + "machine_width": { + "default_value": 200 + }, + "machine_height": { + "default_value": 180 + }, + "machine_depth": { + "default_value": 200 + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_gcode_flavor": { + "default_value": "RepRap (Marlin/Sprinter)" + }, + "machine_start_gcode": { + "default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{speed_travel} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E3 ;extrude 3mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{speed_travel} \n ;Put printing message on LCD screen\n M117 Printing..." + }, + "machine_end_gcode": { + "default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning" + }, + "material_diameter": { + "default_value": 1.75 + }, + "layer_height": { + "default_value": 0.10 + }, + "layer_height_0": { + "default_value": 0.2 + }, + "wall_thickness": { + "value": "0.8" + }, + "top_bottom_thickness": { + "default_value": 0.6 + }, + "speed_print": { + "default_value": 50 + }, + "support_enable": { + "default_value": true + }, + "retraction_enable": { + "default_value": true + }, + "retraction_amount": { + "default_value": 4.5 + }, + "retraction_speed": { + "default_value": 25 + } + } +} \ No newline at end of file diff --git a/resources/extruders/cocoon_create_extruder_0.def.json b/resources/extruders/cocoon_create_extruder_0.def.json new file mode 100644 index 0000000000..edca4b33bb --- /dev/null +++ b/resources/extruders/cocoon_create_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "cocoon_create", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} From c9239ed32ec5ba42f0d30e1c350dc053b74882f7 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 6 Aug 2020 15:46:32 +0200 Subject: [PATCH 06/27] Hide unavailable quality groups in profile preferences CURA-7589 --- cura/Machines/Models/QualityManagementModel.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cura/Machines/Models/QualityManagementModel.py b/cura/Machines/Models/QualityManagementModel.py index 663a49dbc1..3fbd935916 100644 --- a/cura/Machines/Models/QualityManagementModel.py +++ b/cura/Machines/Models/QualityManagementModel.py @@ -333,6 +333,7 @@ class QualityManagementModel(ListModel): "layer_height": layer_height, # layer_height is only used for sorting } item_list.append(item) + # Sort by layer_height for built-in qualities item_list = sorted(item_list, key = lambda x: x["layer_height"]) @@ -341,6 +342,9 @@ class QualityManagementModel(ListModel): available_intent_list = [i for i in available_intent_list if i[0] != "default"] result = [] for intent_category, quality_type in available_intent_list: + if not quality_group_dict[quality_type].is_available: + continue + result.append({ "name": quality_group_dict[quality_type].name, # Use the quality name as the display name "is_read_only": True, From eb17e146bc88a4b314bb59ee44d64c47ed08580b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 6 Aug 2020 16:59:30 +0200 Subject: [PATCH 07/27] Fix some quality_changes being incorrectly shown for some configurations CURA-7589 --- cura/Machines/MachineNode.py | 16 +++++++++++++--- cura/Machines/Models/QualityManagementModel.py | 3 +++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/cura/Machines/MachineNode.py b/cura/Machines/MachineNode.py index d487ea57f2..d4706ae5ef 100644 --- a/cura/Machines/MachineNode.py +++ b/cura/Machines/MachineNode.py @@ -135,9 +135,7 @@ class MachineNode(ContainerNode): groups_by_name[name] = QualityChangesGroup(name, quality_type = quality_changes["quality_type"], intent_category = quality_changes.get("intent_category", "default"), parent = CuraApplication.getInstance()) - # CURA-6882 - # Custom qualities are always available, even if they are based on the "not supported" profile. - groups_by_name[name].is_available = True + elif groups_by_name[name].intent_category == "default": # Intent category should be stored as "default" if everything is default or as the intent if any of the extruder have an actual intent. groups_by_name[name].intent_category = quality_changes.get("intent_category", "default") @@ -146,6 +144,18 @@ class MachineNode(ContainerNode): else: # Global profile. groups_by_name[name].metadata_for_global = quality_changes + quality_groups = self.getQualityGroups(variant_names, material_bases, extruder_enabled) + for quality_changes_group in groups_by_name.values(): + if quality_changes_group.quality_type not in quality_groups: + if quality_changes_group.quality_type == "not_supported": + # Quality changes based on an empty profile are always available. + quality_changes_group.is_available = True + else: + quality_changes_group.is_available = False + else: + # Quality changes group is available iff the quality group it depends on is available. Irrespective of whether the intent category is available. + quality_changes_group.is_available = quality_groups[quality_changes_group.quality_type].is_available + return list(groups_by_name.values()) def preferredGlobalQuality(self) -> "QualityNode": diff --git a/cura/Machines/Models/QualityManagementModel.py b/cura/Machines/Models/QualityManagementModel.py index 3fbd935916..099d71ab03 100644 --- a/cura/Machines/Models/QualityManagementModel.py +++ b/cura/Machines/Models/QualityManagementModel.py @@ -365,6 +365,9 @@ class QualityManagementModel(ListModel): # CURA-6913 Note that custom qualities can be based on "not supported", so the quality group can be None. quality_group = quality_group_dict.get(quality_changes_group.quality_type) quality_type = quality_changes_group.quality_type + + if not quality_changes_group.is_available: + continue item = {"name": quality_changes_group.name, "is_read_only": False, "quality_group": quality_group, From 724498cba79ac8ce5fdb3a48371b18313d0c0656 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 6 Aug 2020 17:12:14 +0200 Subject: [PATCH 08/27] Reset quality if none was found CURA-7589 --- cura/Settings/MachineManager.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 1934befd66..da1d13aa4e 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1212,9 +1212,8 @@ class MachineManager(QObject): return if not available_quality_types: - if global_stack.qualityChanges == empty_quality_changes_container: - Logger.log("i", "No available quality types found, setting all qualities to empty (Not Supported).") - self._setEmptyQuality() + Logger.log("i", "No available quality types found, setting all qualities to empty (Not Supported).") + self._setEmptyQuality() return if current_quality_type in available_quality_types: From bd54ef8d5a658af884c8b7d828d7c964cd873712 Mon Sep 17 00:00:00 2001 From: Kostas Karmas Date: Fri, 7 Aug 2020 11:12:27 +0200 Subject: [PATCH 09/27] Update the SDK version to 7.3.0 for 4.7 CURA-7641 --- cura/ApplicationMetadata.py | 2 +- plugins/3MFReader/plugin.json | 2 +- plugins/3MFWriter/plugin.json | 2 +- plugins/AMFReader/plugin.json | 2 +- plugins/CuraDrive/plugin.json | 2 +- plugins/CuraEngineBackend/plugin.json | 2 +- plugins/CuraProfileReader/plugin.json | 2 +- plugins/CuraProfileWriter/plugin.json | 2 +- plugins/FirmwareUpdateChecker/plugin.json | 2 +- plugins/FirmwareUpdater/plugin.json | 2 +- plugins/GCodeGzReader/plugin.json | 2 +- plugins/GCodeGzWriter/plugin.json | 2 +- plugins/GCodeProfileReader/plugin.json | 2 +- plugins/GCodeReader/plugin.json | 2 +- plugins/GCodeWriter/plugin.json | 2 +- plugins/ImageReader/plugin.json | 2 +- plugins/LegacyProfileReader/plugin.json | 2 +- plugins/MachineSettingsAction/plugin.json | 2 +- plugins/ModelChecker/plugin.json | 2 +- plugins/MonitorStage/plugin.json | 2 +- plugins/PerObjectSettingsTool/plugin.json | 2 +- plugins/PostProcessingPlugin/plugin.json | 2 +- plugins/PrepareStage/plugin.json | 2 +- plugins/PreviewStage/plugin.json | 2 +- .../RemovableDriveOutputDevice/plugin.json | 2 +- plugins/SentryLogger/plugin.json | 2 +- plugins/SimulationView/plugin.json | 2 +- plugins/SliceInfoPlugin/plugin.json | 2 +- plugins/SolidView/plugin.json | 2 +- plugins/SupportEraser/plugin.json | 2 +- plugins/Toolbox/plugin.json | 2 +- plugins/TrimeshReader/plugin.json | 2 +- plugins/UFPReader/plugin.json | 2 +- plugins/UFPWriter/plugin.json | 2 +- plugins/UM3NetworkPrinting/plugin.json | 2 +- plugins/USBPrinting/plugin.json | 2 +- plugins/UltimakerMachineActions/plugin.json | 2 +- .../VersionUpgrade21to22/plugin.json | 2 +- .../VersionUpgrade22to24/plugin.json | 2 +- .../VersionUpgrade25to26/plugin.json | 2 +- .../VersionUpgrade26to27/plugin.json | 2 +- .../VersionUpgrade27to30/plugin.json | 2 +- .../VersionUpgrade30to31/plugin.json | 2 +- .../VersionUpgrade32to33/plugin.json | 2 +- .../VersionUpgrade33to34/plugin.json | 2 +- .../VersionUpgrade34to35/plugin.json | 2 +- .../VersionUpgrade35to40/plugin.json | 2 +- .../VersionUpgrade40to41/plugin.json | 2 +- .../VersionUpgrade41to42/plugin.json | 2 +- .../VersionUpgrade42to43/plugin.json | 2 +- .../VersionUpgrade43to44/plugin.json | 2 +- .../VersionUpgrade44to45/plugin.json | 2 +- .../VersionUpgrade45to46/plugin.json | 2 +- .../VersionUpgrade460to462/plugin.json | 2 +- .../VersionUpgrade462to47/plugin.json | 2 +- plugins/X3DReader/plugin.json | 2 +- plugins/XRayView/plugin.json | 2 +- plugins/XmlMaterialProfile/plugin.json | 2 +- resources/bundled_packages/cura.json | 206 +++++++++--------- 59 files changed, 161 insertions(+), 161 deletions(-) diff --git a/cura/ApplicationMetadata.py b/cura/ApplicationMetadata.py index ee4eab597f..6e0aa5f04f 100644 --- a/cura/ApplicationMetadata.py +++ b/cura/ApplicationMetadata.py @@ -13,7 +13,7 @@ DEFAULT_CURA_DEBUG_MODE = False # Each release has a fixed SDK version coupled with it. It doesn't make sense to make it configurable because, for # example Cura 3.2 with SDK version 6.1 will not work. So the SDK version is hard-coded here and left out of the # CuraVersion.py.in template. -CuraSDKVersion = "7.2.0" +CuraSDKVersion = "7.3.0" try: from cura.CuraVersion import CuraAppName # type: ignore diff --git a/plugins/3MFReader/plugin.json b/plugins/3MFReader/plugin.json index 7e434d03b2..ec0b7bf079 100644 --- a/plugins/3MFReader/plugin.json +++ b/plugins/3MFReader/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides support for reading 3MF files.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/3MFWriter/plugin.json b/plugins/3MFWriter/plugin.json index 421b6b5b6f..ce3ccadc9b 100644 --- a/plugins/3MFWriter/plugin.json +++ b/plugins/3MFWriter/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides support for writing 3MF files.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/AMFReader/plugin.json b/plugins/AMFReader/plugin.json index 0f828c9393..80f9a10940 100644 --- a/plugins/AMFReader/plugin.json +++ b/plugins/AMFReader/plugin.json @@ -3,5 +3,5 @@ "author": "fieldOfView", "version": "1.0.0", "description": "Provides support for reading AMF files.", - "api": "7.2.0" + "api": "7.3.0" } diff --git a/plugins/CuraDrive/plugin.json b/plugins/CuraDrive/plugin.json index 506d4cf231..9160127fac 100644 --- a/plugins/CuraDrive/plugin.json +++ b/plugins/CuraDrive/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "description": "Backup and restore your configuration.", "version": "1.2.0", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/CuraEngineBackend/plugin.json b/plugins/CuraEngineBackend/plugin.json index 2eee5deb61..b4e24af2a3 100644 --- a/plugins/CuraEngineBackend/plugin.json +++ b/plugins/CuraEngineBackend/plugin.json @@ -2,7 +2,7 @@ "name": "CuraEngine Backend", "author": "Ultimaker B.V.", "description": "Provides the link to the CuraEngine slicing backend.", - "api": "7.2.0", + "api": "7.3.0", "version": "1.0.1", "i18n-catalog": "cura" } diff --git a/plugins/CuraProfileReader/plugin.json b/plugins/CuraProfileReader/plugin.json index 080c9c5244..3f224d4b85 100644 --- a/plugins/CuraProfileReader/plugin.json +++ b/plugins/CuraProfileReader/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides support for importing Cura profiles.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/CuraProfileWriter/plugin.json b/plugins/CuraProfileWriter/plugin.json index 77d18dc76c..7f840577c1 100644 --- a/plugins/CuraProfileWriter/plugin.json +++ b/plugins/CuraProfileWriter/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides support for exporting Cura profiles.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog":"cura" } diff --git a/plugins/FirmwareUpdateChecker/plugin.json b/plugins/FirmwareUpdateChecker/plugin.json index 7c1f22c753..1e6a73f47b 100644 --- a/plugins/FirmwareUpdateChecker/plugin.json +++ b/plugins/FirmwareUpdateChecker/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Checks for firmware updates.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/FirmwareUpdater/plugin.json b/plugins/FirmwareUpdater/plugin.json index fad955a043..72c795aab1 100644 --- a/plugins/FirmwareUpdater/plugin.json +++ b/plugins/FirmwareUpdater/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides a machine actions for updating firmware.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/GCodeGzReader/plugin.json b/plugins/GCodeGzReader/plugin.json index 05265bf29b..73e777ef01 100644 --- a/plugins/GCodeGzReader/plugin.json +++ b/plugins/GCodeGzReader/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Reads g-code from a compressed archive.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/GCodeGzWriter/plugin.json b/plugins/GCodeGzWriter/plugin.json index 48e39c9429..21a0ce715b 100644 --- a/plugins/GCodeGzWriter/plugin.json +++ b/plugins/GCodeGzWriter/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Writes g-code to a compressed archive.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/GCodeProfileReader/plugin.json b/plugins/GCodeProfileReader/plugin.json index 9e06ab1b73..c1725863fd 100644 --- a/plugins/GCodeProfileReader/plugin.json +++ b/plugins/GCodeProfileReader/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides support for importing profiles from g-code files.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/GCodeReader/plugin.json b/plugins/GCodeReader/plugin.json index d64bcb2513..d244c9ba62 100644 --- a/plugins/GCodeReader/plugin.json +++ b/plugins/GCodeReader/plugin.json @@ -3,6 +3,6 @@ "author": "Victor Larchenko, Ultimaker B.V.", "version": "1.0.1", "description": "Allows loading and displaying G-code files.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/GCodeWriter/plugin.json b/plugins/GCodeWriter/plugin.json index 31e72e2032..4502a34006 100644 --- a/plugins/GCodeWriter/plugin.json +++ b/plugins/GCodeWriter/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Writes g-code to a file.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/ImageReader/plugin.json b/plugins/ImageReader/plugin.json index 890c13c202..4c978e190f 100644 --- a/plugins/ImageReader/plugin.json +++ b/plugins/ImageReader/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Enables ability to generate printable geometry from 2D image files.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/LegacyProfileReader/plugin.json b/plugins/LegacyProfileReader/plugin.json index a3036e25d2..b24d56ff0f 100644 --- a/plugins/LegacyProfileReader/plugin.json +++ b/plugins/LegacyProfileReader/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides support for importing profiles from legacy Cura versions.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/MachineSettingsAction/plugin.json b/plugins/MachineSettingsAction/plugin.json index 18e28903e1..87f00aeeb8 100644 --- a/plugins/MachineSettingsAction/plugin.json +++ b/plugins/MachineSettingsAction/plugin.json @@ -3,6 +3,6 @@ "author": "fieldOfView, Ultimaker B.V.", "version": "1.0.1", "description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/ModelChecker/plugin.json b/plugins/ModelChecker/plugin.json index 4624f24ea9..1e0e9be3af 100644 --- a/plugins/ModelChecker/plugin.json +++ b/plugins/ModelChecker/plugin.json @@ -2,7 +2,7 @@ "name": "Model Checker", "author": "Ultimaker B.V.", "version": "1.0.1", - "api": "7.2.0", + "api": "7.3.0", "description": "Checks models and print configuration for possible printing issues and give suggestions.", "i18n-catalog": "cura" } diff --git a/plugins/MonitorStage/plugin.json b/plugins/MonitorStage/plugin.json index 541518b9e1..0e612e202b 100644 --- a/plugins/MonitorStage/plugin.json +++ b/plugins/MonitorStage/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides a monitor stage in Cura.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } \ No newline at end of file diff --git a/plugins/PerObjectSettingsTool/plugin.json b/plugins/PerObjectSettingsTool/plugin.json index ebc51a5e94..4a0ad40e65 100644 --- a/plugins/PerObjectSettingsTool/plugin.json +++ b/plugins/PerObjectSettingsTool/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides the Per Model Settings.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/PostProcessingPlugin/plugin.json b/plugins/PostProcessingPlugin/plugin.json index 21a7cedb75..6e5c8f9b87 100644 --- a/plugins/PostProcessingPlugin/plugin.json +++ b/plugins/PostProcessingPlugin/plugin.json @@ -2,7 +2,7 @@ "name": "Post Processing", "author": "Ultimaker", "version": "2.2.1", - "api": "7.2.0", + "api": "7.3.0", "description": "Extension that allows for user created scripts for post processing", "catalog": "cura" } \ No newline at end of file diff --git a/plugins/PrepareStage/plugin.json b/plugins/PrepareStage/plugin.json index 49c6ba873d..2b1be732e9 100644 --- a/plugins/PrepareStage/plugin.json +++ b/plugins/PrepareStage/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides a prepare stage in Cura.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } \ No newline at end of file diff --git a/plugins/PreviewStage/plugin.json b/plugins/PreviewStage/plugin.json index 813a28d245..d381059656 100644 --- a/plugins/PreviewStage/plugin.json +++ b/plugins/PreviewStage/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides a preview stage in Cura.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } \ No newline at end of file diff --git a/plugins/RemovableDriveOutputDevice/plugin.json b/plugins/RemovableDriveOutputDevice/plugin.json index e70be24dda..3b1091f07c 100644 --- a/plugins/RemovableDriveOutputDevice/plugin.json +++ b/plugins/RemovableDriveOutputDevice/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "description": "Provides removable drive hotplugging and writing support.", "version": "1.0.1", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/SentryLogger/plugin.json b/plugins/SentryLogger/plugin.json index 0419e70d25..b31b0f6a25 100644 --- a/plugins/SentryLogger/plugin.json +++ b/plugins/SentryLogger/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Logs certain events so that they can be used by the crash reporter", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/SimulationView/plugin.json b/plugins/SimulationView/plugin.json index 9a0f322888..df1f2b8485 100644 --- a/plugins/SimulationView/plugin.json +++ b/plugins/SimulationView/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides the Simulation view.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/SliceInfoPlugin/plugin.json b/plugins/SliceInfoPlugin/plugin.json index b5b8d48713..21fa5bd5d8 100644 --- a/plugins/SliceInfoPlugin/plugin.json +++ b/plugins/SliceInfoPlugin/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Submits anonymous slice info. Can be disabled through preferences.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/SolidView/plugin.json b/plugins/SolidView/plugin.json index 1619ced52f..1569c153c3 100644 --- a/plugins/SolidView/plugin.json +++ b/plugins/SolidView/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides a normal solid mesh view.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } \ No newline at end of file diff --git a/plugins/SupportEraser/plugin.json b/plugins/SupportEraser/plugin.json index 5686995eac..0aeb418ef3 100644 --- a/plugins/SupportEraser/plugin.json +++ b/plugins/SupportEraser/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Creates an eraser mesh to block the printing of support in certain places", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/Toolbox/plugin.json b/plugins/Toolbox/plugin.json index f1243d2166..e6c9b5025b 100644 --- a/plugins/Toolbox/plugin.json +++ b/plugins/Toolbox/plugin.json @@ -2,6 +2,6 @@ "name": "Toolbox", "author": "Ultimaker B.V.", "version": "1.0.1", - "api": "7.2.0", + "api": "7.3.0", "description": "Find, manage and install new Cura packages." } diff --git a/plugins/TrimeshReader/plugin.json b/plugins/TrimeshReader/plugin.json index 1761628ac8..2370ad5026 100644 --- a/plugins/TrimeshReader/plugin.json +++ b/plugins/TrimeshReader/plugin.json @@ -3,5 +3,5 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides support for reading model files.", - "api": "7.2.0" + "api": "7.3.0" } diff --git a/plugins/UFPReader/plugin.json b/plugins/UFPReader/plugin.json index cd1126c84b..ef55880bb9 100644 --- a/plugins/UFPReader/plugin.json +++ b/plugins/UFPReader/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides support for reading Ultimaker Format Packages.", - "supported_sdk_versions": ["7.2.0"], + "supported_sdk_versions": ["7.3.0"], "i18n-catalog": "cura" } \ No newline at end of file diff --git a/plugins/UFPWriter/plugin.json b/plugins/UFPWriter/plugin.json index 2aa46f7830..6975e49f3d 100644 --- a/plugins/UFPWriter/plugin.json +++ b/plugins/UFPWriter/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides support for writing Ultimaker Format Packages.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/plugin.json b/plugins/UM3NetworkPrinting/plugin.json index 5d98658cd9..7b8ae5612e 100644 --- a/plugins/UM3NetworkPrinting/plugin.json +++ b/plugins/UM3NetworkPrinting/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "description": "Manages network connections to Ultimaker networked printers.", "version": "2.0.0", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/USBPrinting/plugin.json b/plugins/USBPrinting/plugin.json index 7d947061cf..7ae87aac44 100644 --- a/plugins/USBPrinting/plugin.json +++ b/plugins/USBPrinting/plugin.json @@ -2,7 +2,7 @@ "name": "USB printing", "author": "Ultimaker B.V.", "version": "1.0.2", - "api": "7.2.0", + "api": "7.3.0", "description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.", "i18n-catalog": "cura" } diff --git a/plugins/UltimakerMachineActions/plugin.json b/plugins/UltimakerMachineActions/plugin.json index 607597a8c8..26dae05670 100644 --- a/plugins/UltimakerMachineActions/plugin.json +++ b/plugins/UltimakerMachineActions/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/plugin.json b/plugins/VersionUpgrade/VersionUpgrade21to22/plugin.json index 96e2dace32..355716da66 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Upgrades configurations from Cura 2.1 to Cura 2.2.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade22to24/plugin.json b/plugins/VersionUpgrade/VersionUpgrade22to24/plugin.json index 06f03f1760..160b786ff9 100644 --- a/plugins/VersionUpgrade/VersionUpgrade22to24/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade22to24/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Upgrades configurations from Cura 2.2 to Cura 2.4.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade25to26/plugin.json b/plugins/VersionUpgrade/VersionUpgrade25to26/plugin.json index 952586764e..4511ee98d8 100644 --- a/plugins/VersionUpgrade/VersionUpgrade25to26/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade25to26/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Upgrades configurations from Cura 2.5 to Cura 2.6.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade26to27/plugin.json b/plugins/VersionUpgrade/VersionUpgrade26to27/plugin.json index fe5f70baed..2add265a40 100644 --- a/plugins/VersionUpgrade/VersionUpgrade26to27/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade26to27/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Upgrades configurations from Cura 2.6 to Cura 2.7.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade27to30/plugin.json b/plugins/VersionUpgrade/VersionUpgrade27to30/plugin.json index c4dba30510..a793bd3f57 100644 --- a/plugins/VersionUpgrade/VersionUpgrade27to30/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade27to30/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Upgrades configurations from Cura 2.7 to Cura 3.0.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade30to31/plugin.json b/plugins/VersionUpgrade/VersionUpgrade30to31/plugin.json index 48cea8dd1f..91d1b33f45 100644 --- a/plugins/VersionUpgrade/VersionUpgrade30to31/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade30to31/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Upgrades configurations from Cura 3.0 to Cura 3.1.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade32to33/plugin.json b/plugins/VersionUpgrade/VersionUpgrade32to33/plugin.json index 2208294b81..cd87db5363 100644 --- a/plugins/VersionUpgrade/VersionUpgrade32to33/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade32to33/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Upgrades configurations from Cura 3.2 to Cura 3.3.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade33to34/plugin.json b/plugins/VersionUpgrade/VersionUpgrade33to34/plugin.json index 3ecb32071d..78746b0557 100644 --- a/plugins/VersionUpgrade/VersionUpgrade33to34/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade33to34/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Upgrades configurations from Cura 3.3 to Cura 3.4.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade34to35/plugin.json b/plugins/VersionUpgrade/VersionUpgrade34to35/plugin.json index e47d4dce72..b2a6db9f00 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to35/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Upgrades configurations from Cura 3.4 to Cura 3.5.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade35to40/plugin.json b/plugins/VersionUpgrade/VersionUpgrade35to40/plugin.json index 01ff9b81c5..dde8f39bcc 100644 --- a/plugins/VersionUpgrade/VersionUpgrade35to40/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade35to40/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Upgrades configurations from Cura 3.5 to Cura 4.0.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade40to41/plugin.json b/plugins/VersionUpgrade/VersionUpgrade40to41/plugin.json index d321c71e02..208696935c 100644 --- a/plugins/VersionUpgrade/VersionUpgrade40to41/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade40to41/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Upgrades configurations from Cura 4.0 to Cura 4.1.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade41to42/plugin.json b/plugins/VersionUpgrade/VersionUpgrade41to42/plugin.json index f59a5b3861..53cbe93ac0 100644 --- a/plugins/VersionUpgrade/VersionUpgrade41to42/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade41to42/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Upgrades configurations from Cura 4.1 to Cura 4.2.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade42to43/plugin.json b/plugins/VersionUpgrade/VersionUpgrade42to43/plugin.json index 86a3ea607e..821a6c547f 100644 --- a/plugins/VersionUpgrade/VersionUpgrade42to43/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade42to43/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Upgrades configurations from Cura 4.2 to Cura 4.3.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade43to44/plugin.json b/plugins/VersionUpgrade/VersionUpgrade43to44/plugin.json index f08b5a50bb..b605d27271 100644 --- a/plugins/VersionUpgrade/VersionUpgrade43to44/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade43to44/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Upgrades configurations from Cura 4.3 to Cura 4.4.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade44to45/plugin.json b/plugins/VersionUpgrade/VersionUpgrade44to45/plugin.json index ce98c9f94a..2eab8bc00c 100644 --- a/plugins/VersionUpgrade/VersionUpgrade44to45/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade44to45/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Upgrades configurations from Cura 4.4 to Cura 4.5.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade45to46/plugin.json b/plugins/VersionUpgrade/VersionUpgrade45to46/plugin.json index 08c3c57ed1..16313bf42f 100644 --- a/plugins/VersionUpgrade/VersionUpgrade45to46/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade45to46/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Upgrades configurations from Cura 4.5 to Cura 4.6.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade460to462/plugin.json b/plugins/VersionUpgrade/VersionUpgrade460to462/plugin.json index d30b979be9..479f87a4ec 100644 --- a/plugins/VersionUpgrade/VersionUpgrade460to462/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade460to462/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Upgrades configurations from Cura 4.6.0 to Cura 4.6.2.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/VersionUpgrade/VersionUpgrade462to47/plugin.json b/plugins/VersionUpgrade/VersionUpgrade462to47/plugin.json index 5abde9a94c..c906b0470c 100644 --- a/plugins/VersionUpgrade/VersionUpgrade462to47/plugin.json +++ b/plugins/VersionUpgrade/VersionUpgrade462to47/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Upgrades configurations from Cura 4.6.2 to Cura 4.7.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/X3DReader/plugin.json b/plugins/X3DReader/plugin.json index 0d523a1bf6..ac4e7aa45a 100644 --- a/plugins/X3DReader/plugin.json +++ b/plugins/X3DReader/plugin.json @@ -3,6 +3,6 @@ "author": "Seva Alekseyev, Ultimaker B.V.", "version": "1.0.1", "description": "Provides support for reading X3D files.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/XRayView/plugin.json b/plugins/XRayView/plugin.json index 344c5e660f..da718be916 100644 --- a/plugins/XRayView/plugin.json +++ b/plugins/XRayView/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides the X-Ray view.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/plugins/XmlMaterialProfile/plugin.json b/plugins/XmlMaterialProfile/plugin.json index 121ada7b84..bf8d4245c0 100644 --- a/plugins/XmlMaterialProfile/plugin.json +++ b/plugins/XmlMaterialProfile/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.1", "description": "Provides capabilities to read and write XML-based material profiles.", - "api": "7.2.0", + "api": "7.3.0", "i18n-catalog": "cura" } diff --git a/resources/bundled_packages/cura.json b/resources/bundled_packages/cura.json index 162472bb36..b468a350d6 100644 --- a/resources/bundled_packages/cura.json +++ b/resources/bundled_packages/cura.json @@ -6,7 +6,7 @@ "display_name": "3MF Reader", "description": "Provides support for reading 3MF files.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -23,7 +23,7 @@ "display_name": "3MF Writer", "description": "Provides support for writing 3MF files.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -40,7 +40,7 @@ "display_name": "AMF Reader", "description": "Provides support for reading AMF files.", "package_version": "1.0.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "fieldOfView", @@ -57,7 +57,7 @@ "display_name": "Cura Backups", "description": "Backup and restore your configuration.", "package_version": "1.2.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -74,7 +74,7 @@ "display_name": "CuraEngine Backend", "description": "Provides the link to the CuraEngine slicing backend.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -91,7 +91,7 @@ "display_name": "Cura Profile Reader", "description": "Provides support for importing Cura profiles.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -108,7 +108,7 @@ "display_name": "Cura Profile Writer", "description": "Provides support for exporting Cura profiles.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -125,7 +125,7 @@ "display_name": "Firmware Update Checker", "description": "Checks for firmware updates.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -142,7 +142,7 @@ "display_name": "Firmware Updater", "description": "Provides a machine actions for updating firmware.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -159,7 +159,7 @@ "display_name": "Compressed G-code Reader", "description": "Reads g-code from a compressed archive.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -176,7 +176,7 @@ "display_name": "Compressed G-code Writer", "description": "Writes g-code to a compressed archive.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -193,7 +193,7 @@ "display_name": "G-Code Profile Reader", "description": "Provides support for importing profiles from g-code files.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -210,7 +210,7 @@ "display_name": "G-Code Reader", "description": "Allows loading and displaying G-code files.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "VictorLarchenko", @@ -227,7 +227,7 @@ "display_name": "G-Code Writer", "description": "Writes g-code to a file.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -244,7 +244,7 @@ "display_name": "Image Reader", "description": "Enables ability to generate printable geometry from 2D image files.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -261,7 +261,7 @@ "display_name": "Legacy Cura Profile Reader", "description": "Provides support for importing profiles from legacy Cura versions.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -278,7 +278,7 @@ "display_name": "Machine Settings Action", "description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "fieldOfView", @@ -295,7 +295,7 @@ "display_name": "Model Checker", "description": "Checks models and print configuration for possible printing issues and give suggestions.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -312,7 +312,7 @@ "display_name": "Monitor Stage", "description": "Provides a monitor stage in Cura.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -329,7 +329,7 @@ "display_name": "Per-Object Settings Tool", "description": "Provides the per-model settings.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -346,7 +346,7 @@ "display_name": "Post Processing", "description": "Extension that allows for user created scripts for post processing.", "package_version": "2.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -363,7 +363,7 @@ "display_name": "Prepare Stage", "description": "Provides a prepare stage in Cura.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -380,7 +380,7 @@ "display_name": "Preview Stage", "description": "Provides a preview stage in Cura.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -397,7 +397,7 @@ "display_name": "Removable Drive Output Device", "description": "Provides removable drive hotplugging and writing support.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -414,7 +414,7 @@ "display_name": "Sentry Logger", "description": "Logs certain events so that they can be used by the crash reporter", "package_version": "1.0.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -431,7 +431,7 @@ "display_name": "Simulation View", "description": "Provides the Simulation view.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -448,7 +448,7 @@ "display_name": "Slice Info", "description": "Submits anonymous slice info. Can be disabled through preferences.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -465,7 +465,7 @@ "display_name": "Solid View", "description": "Provides a normal solid mesh view.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -482,7 +482,7 @@ "display_name": "Support Eraser Tool", "description": "Creates an eraser mesh to block the printing of support in certain places.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -499,7 +499,7 @@ "display_name": "Trimesh Reader", "description": "Provides support for reading model files.", "package_version": "1.0.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -516,7 +516,7 @@ "display_name": "Toolbox", "description": "Find, manage and install new Cura packages.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -533,7 +533,7 @@ "display_name": "UFP Reader", "description": "Provides support for reading Ultimaker Format Packages.", "package_version": "1.0.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -550,7 +550,7 @@ "display_name": "UFP Writer", "description": "Provides support for writing Ultimaker Format Packages.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -567,7 +567,7 @@ "display_name": "Ultimaker Machine Actions", "description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -584,7 +584,7 @@ "display_name": "UM3 Network Printing", "description": "Manages network connections to Ultimaker 3 printers.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -601,7 +601,7 @@ "display_name": "USB Printing", "description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.", "package_version": "1.0.2", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -618,7 +618,7 @@ "display_name": "Version Upgrade 2.1 to 2.2", "description": "Upgrades configurations from Cura 2.1 to Cura 2.2.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -635,7 +635,7 @@ "display_name": "Version Upgrade 2.2 to 2.4", "description": "Upgrades configurations from Cura 2.2 to Cura 2.4.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -652,7 +652,7 @@ "display_name": "Version Upgrade 2.5 to 2.6", "description": "Upgrades configurations from Cura 2.5 to Cura 2.6.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -669,7 +669,7 @@ "display_name": "Version Upgrade 2.6 to 2.7", "description": "Upgrades configurations from Cura 2.6 to Cura 2.7.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -686,7 +686,7 @@ "display_name": "Version Upgrade 2.7 to 3.0", "description": "Upgrades configurations from Cura 2.7 to Cura 3.0.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -703,7 +703,7 @@ "display_name": "Version Upgrade 3.0 to 3.1", "description": "Upgrades configurations from Cura 3.0 to Cura 3.1.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -720,7 +720,7 @@ "display_name": "Version Upgrade 3.2 to 3.3", "description": "Upgrades configurations from Cura 3.2 to Cura 3.3.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -737,7 +737,7 @@ "display_name": "Version Upgrade 3.3 to 3.4", "description": "Upgrades configurations from Cura 3.3 to Cura 3.4.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -754,7 +754,7 @@ "display_name": "Version Upgrade 3.4 to 3.5", "description": "Upgrades configurations from Cura 3.4 to Cura 3.5.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -771,7 +771,7 @@ "display_name": "Version Upgrade 3.5 to 4.0", "description": "Upgrades configurations from Cura 3.5 to Cura 4.0.", "package_version": "1.0.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -788,7 +788,7 @@ "display_name": "Version Upgrade 4.0 to 4.1", "description": "Upgrades configurations from Cura 4.0 to Cura 4.1.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -805,7 +805,7 @@ "display_name": "Version Upgrade 4.1 to 4.2", "description": "Upgrades configurations from Cura 4.1 to Cura 4.2.", "package_version": "1.0.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -822,7 +822,7 @@ "display_name": "Version Upgrade 4.2 to 4.3", "description": "Upgrades configurations from Cura 4.2 to Cura 4.3.", "package_version": "1.0.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -839,7 +839,7 @@ "display_name": "Version Upgrade 4.3 to 4.4", "description": "Upgrades configurations from Cura 4.3 to Cura 4.4.", "package_version": "1.0.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -856,7 +856,7 @@ "display_name": "Version Upgrade 4.4 to 4.5", "description": "Upgrades configurations from Cura 4.4 to Cura 4.5.", "package_version": "1.0.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -873,7 +873,7 @@ "display_name": "Version Upgrade 4.5 to 4.6", "description": "Upgrades configurations from Cura 4.5 to Cura 4.6.", "package_version": "1.0.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -890,7 +890,7 @@ "display_name": "Version Upgrade 4.6.0 to 4.6.2", "description": "Upgrades configurations from Cura 4.6.0 to Cura 4.6.2.", "package_version": "1.0.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -907,7 +907,7 @@ "display_name": "Version Upgrade 4.6.2 to 4.7", "description": "Upgrades configurations from Cura 4.6.2 to Cura 4.7.", "package_version": "1.0.0", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -924,7 +924,7 @@ "display_name": "X3D Reader", "description": "Provides support for reading X3D files.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "SevaAlekseyev", @@ -941,7 +941,7 @@ "display_name": "XML Material Profiles", "description": "Provides capabilities to read and write XML-based material profiles.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -958,7 +958,7 @@ "display_name": "X-Ray View", "description": "Provides the X-Ray view.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -975,7 +975,7 @@ "display_name": "Generic ABS", "description": "The generic ABS profile which other profiles can be based upon.", "package_version": "1.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -993,7 +993,7 @@ "display_name": "Generic BAM", "description": "The generic BAM profile which other profiles can be based upon.", "package_version": "1.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1011,7 +1011,7 @@ "display_name": "Generic CFF CPE", "description": "The generic CFF CPE profile which other profiles can be based upon.", "package_version": "1.1.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1029,7 +1029,7 @@ "display_name": "Generic CFF PA", "description": "The generic CFF PA profile which other profiles can be based upon.", "package_version": "1.1.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1047,7 +1047,7 @@ "display_name": "Generic CPE", "description": "The generic CPE profile which other profiles can be based upon.", "package_version": "1.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1065,7 +1065,7 @@ "display_name": "Generic CPE+", "description": "The generic CPE+ profile which other profiles can be based upon.", "package_version": "1.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1083,7 +1083,7 @@ "display_name": "Generic GFF CPE", "description": "The generic GFF CPE profile which other profiles can be based upon.", "package_version": "1.1.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1101,7 +1101,7 @@ "display_name": "Generic GFF PA", "description": "The generic GFF PA profile which other profiles can be based upon.", "package_version": "1.1.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1119,7 +1119,7 @@ "display_name": "Generic HIPS", "description": "The generic HIPS profile which other profiles can be based upon.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1137,7 +1137,7 @@ "display_name": "Generic Nylon", "description": "The generic Nylon profile which other profiles can be based upon.", "package_version": "1.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1155,7 +1155,7 @@ "display_name": "Generic PC", "description": "The generic PC profile which other profiles can be based upon.", "package_version": "1.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1173,7 +1173,7 @@ "display_name": "Generic PETG", "description": "The generic PETG profile which other profiles can be based upon.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1191,7 +1191,7 @@ "display_name": "Generic PLA", "description": "The generic PLA profile which other profiles can be based upon.", "package_version": "1.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1209,7 +1209,7 @@ "display_name": "Generic PP", "description": "The generic PP profile which other profiles can be based upon.", "package_version": "1.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1227,7 +1227,7 @@ "display_name": "Generic PVA", "description": "The generic PVA profile which other profiles can be based upon.", "package_version": "1.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1245,7 +1245,7 @@ "display_name": "Generic Tough PLA", "description": "The generic Tough PLA profile which other profiles can be based upon.", "package_version": "1.0.2", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1263,7 +1263,7 @@ "display_name": "Generic TPU", "description": "The generic TPU profile which other profiles can be based upon.", "package_version": "1.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1281,7 +1281,7 @@ "display_name": "Dagoma Chromatik PLA", "description": "Filament testé et approuvé pour les imprimantes 3D Dagoma. Chromatik est l'idéal pour débuter et suivre les tutoriels premiers pas. Il vous offre qualité et résistance pour chacune de vos impressions.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://dagoma.fr/boutique/filaments.html", "author": { "author_id": "Dagoma", @@ -1298,7 +1298,7 @@ "display_name": "FABtotum ABS", "description": "This material is easy to be extruded but it is not the simplest to use. It is one of the most used in 3D printing to get very well finished objects. It is not sustainable and its smoke can be dangerous if inhaled. The reason to prefer this filament to PLA is mainly because of its precision and mechanical specs. ABS (for plastic) stands for Acrylonitrile Butadiene Styrene and it is a thermoplastic which is widely used in everyday objects. It can be printed with any FFF 3D printer which can get to high temperatures as it must be extruded in a range between 220° and 245°, so it’s compatible with all versions of the FABtotum Personal fabricator.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=40", "author": { "author_id": "FABtotum", @@ -1315,7 +1315,7 @@ "display_name": "FABtotum Nylon", "description": "When 3D printing started this material was not listed among the extrudable filaments. It is flexible as well as resistant to tractions. It is well known for its uses in textile but also in industries which require a strong and flexible material. There are different kinds of Nylon: 3D printing mostly uses Nylon 6 and Nylon 6.6, which are the most common. It requires higher temperatures to be printed, so a 3D printer must be able to reach them (around 240°C): the FABtotum, of course, can.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=53", "author": { "author_id": "FABtotum", @@ -1332,7 +1332,7 @@ "display_name": "FABtotum PLA", "description": "It is the most common filament used for 3D printing. It is studied to be bio-degradable as it comes from corn starch’s sugar mainly. It is completely made of renewable sources and has no footprint on polluting. PLA stands for PolyLactic Acid and it is a thermoplastic that today is still considered the easiest material to be 3D printed. It can be extruded at lower temperatures: the standard range of FABtotum’s one is between 185° and 195°.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=39", "author": { "author_id": "FABtotum", @@ -1349,7 +1349,7 @@ "display_name": "FABtotum TPU Shore 98A", "description": "", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=66", "author": { "author_id": "FABtotum", @@ -1366,7 +1366,7 @@ "display_name": "Fiberlogy HD PLA", "description": "With our HD PLA you have many more options. You can use this material in two ways. Choose the one you like best. You can use it as a normal PLA and get prints characterized by a very good adhesion between the layers and high precision. You can also make your prints acquire similar properties to that of ABS – better impact resistance and high temperature resistance. All you need is an oven. Yes, an oven! By annealing our HD PLA in an oven, in accordance with the manual, you will avoid all the inconveniences of printing with ABS, such as unpleasant odour or hazardous fumes.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "http://fiberlogy.com/en/fiberlogy-filaments/filament-hd-pla/", "author": { "author_id": "Fiberlogy", @@ -1383,7 +1383,7 @@ "display_name": "Filo3D PLA", "description": "Fast, safe and reliable printing. PLA is ideal for the fast and reliable printing of parts and prototypes with a great surface quality.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://dagoma.fr", "author": { "author_id": "Dagoma", @@ -1400,7 +1400,7 @@ "display_name": "IMADE3D JellyBOX PETG", "description": "", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "http://shop.imade3d.com/filament.html", "author": { "author_id": "IMADE3D", @@ -1417,7 +1417,7 @@ "display_name": "IMADE3D JellyBOX PLA", "description": "", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "http://shop.imade3d.com/filament.html", "author": { "author_id": "IMADE3D", @@ -1434,7 +1434,7 @@ "display_name": "Octofiber PLA", "description": "PLA material from Octofiber.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://nl.octofiber.com/3d-printing-filament/pla.html", "author": { "author_id": "Octofiber", @@ -1451,7 +1451,7 @@ "display_name": "PolyFlex™ PLA", "description": "PolyFlex™ is a highly flexible yet easy to print 3D printing material. Featuring good elasticity and a large strain-to- failure, PolyFlex™ opens up a completely new realm of applications.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "http://www.polymaker.com/shop/polyflex/", "author": { "author_id": "Polymaker", @@ -1468,7 +1468,7 @@ "display_name": "PolyMax™ PLA", "description": "PolyMax™ PLA is a 3D printing material with excellent mechanical properties and printing quality. PolyMax™ PLA has an impact resistance of up to nine times that of regular PLA, and better overall mechanical properties than ABS.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "http://www.polymaker.com/shop/polymax/", "author": { "author_id": "Polymaker", @@ -1485,7 +1485,7 @@ "display_name": "PolyPlus™ PLA True Colour", "description": "PolyPlus™ PLA is a premium PLA designed for all desktop FDM/FFF 3D printers. It is produced with our patented Jam-Free™ technology that ensures consistent extrusion and prevents jams.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "http://www.polymaker.com/shop/polyplus-true-colour/", "author": { "author_id": "Polymaker", @@ -1502,7 +1502,7 @@ "display_name": "PolyWood™ PLA", "description": "PolyWood™ is a wood mimic printing material that contains no actual wood ensuring a clean Jam-Free™ printing experience.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "http://www.polymaker.com/shop/polywood/", "author": { "author_id": "Polymaker", @@ -1519,7 +1519,7 @@ "display_name": "Ultimaker ABS", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.2.2", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1538,7 +1538,7 @@ "display_name": "Ultimaker Breakaway", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com/products/materials/breakaway", "author": { "author_id": "UltimakerPackages", @@ -1557,7 +1557,7 @@ "display_name": "Ultimaker CPE", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.2.2", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1576,7 +1576,7 @@ "display_name": "Ultimaker CPE+", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.2.2", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com/products/materials/cpe", "author": { "author_id": "UltimakerPackages", @@ -1595,7 +1595,7 @@ "display_name": "Ultimaker Nylon", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.2.2", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1614,7 +1614,7 @@ "display_name": "Ultimaker PC", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.2.2", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com/products/materials/pc", "author": { "author_id": "UltimakerPackages", @@ -1633,7 +1633,7 @@ "display_name": "Ultimaker PLA", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.2.2", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1652,7 +1652,7 @@ "display_name": "Ultimaker PP", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.2.2", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com/products/materials/pp", "author": { "author_id": "UltimakerPackages", @@ -1671,7 +1671,7 @@ "display_name": "Ultimaker PVA", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.2.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1690,7 +1690,7 @@ "display_name": "Ultimaker TPU 95A", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.2.2", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com/products/materials/tpu-95a", "author": { "author_id": "UltimakerPackages", @@ -1709,7 +1709,7 @@ "display_name": "Ultimaker Tough PLA", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.0.3", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://ultimaker.com/products/materials/tough-pla", "author": { "author_id": "UltimakerPackages", @@ -1728,7 +1728,7 @@ "display_name": "Vertex Delta ABS", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", @@ -1745,7 +1745,7 @@ "display_name": "Vertex Delta PET", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", @@ -1762,7 +1762,7 @@ "display_name": "Vertex Delta PLA", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", @@ -1779,7 +1779,7 @@ "display_name": "Vertex Delta TPU", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.0.1", - "sdk_version": "7.2.0", + "sdk_version": "7.3.0", "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", From fc6ea283528e28da19be1fac384c02a0f588dc30 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 10 Aug 2020 11:16:07 +0200 Subject: [PATCH 10/27] Don't crash if CuraStackBuilder failed to create a stack If it failed to create a global stack, the extruder_stack_dict variable would not be defined, and Cura crashes. It may fail to create a stack because of an indexerror in a malformed project file. Fixes Sentry issue CURA-137. --- plugins/3MFReader/ThreeMFWorkspaceReader.py | 27 +++++++++++---------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 411a78948b..9abab88e6a 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -758,21 +758,22 @@ class ThreeMFWorkspaceReader(WorkspaceReader): Job.yieldThread() QCoreApplication.processEvents() # Ensure that the GUI does not freeze. - # Handle quality changes if any - self._processQualityChanges(global_stack) + if global_stack: + # Handle quality changes if any + self._processQualityChanges(global_stack) - # Prepare the machine - self._applyChangesToMachine(global_stack, extruder_stack_dict) + # Prepare the machine + self._applyChangesToMachine(global_stack, extruder_stack_dict) - Logger.log("d", "Workspace loading is notifying rest of the code of changes...") - # Actually change the active machine. - # - # This is scheduled for later is because it depends on the Variant/Material/Qualitiy Managers to have the latest - # data, but those managers will only update upon a container/container metadata changed signal. Because this - # function is running on the main thread (Qt thread), although those "changed" signals have been emitted, but - # they won't take effect until this function is done. - # To solve this, we schedule _updateActiveMachine() for later so it will have the latest data. - self._updateActiveMachine(global_stack) + Logger.log("d", "Workspace loading is notifying rest of the code of changes...") + # Actually change the active machine. + # + # This is scheduled for later is because it depends on the Variant/Material/Qualitiy Managers to have the latest + # data, but those managers will only update upon a container/container metadata changed signal. Because this + # function is running on the main thread (Qt thread), although those "changed" signals have been emitted, but + # they won't take effect until this function is done. + # To solve this, we schedule _updateActiveMachine() for later so it will have the latest data. + self._updateActiveMachine(global_stack) # Load all the nodes / mesh data of the workspace nodes = self._3mf_mesh_reader.read(file_name) From e7d95f6d909e42a7a35079d999a6538f24d86b30 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 10 Aug 2020 11:25:46 +0200 Subject: [PATCH 11/27] Give an error message when stack fails to build This way we may venture at a reason why it failed to build. --- cura/Settings/CuraStackBuilder.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cura/Settings/CuraStackBuilder.py b/cura/Settings/CuraStackBuilder.py index 2b71db8034..aadfd15f1a 100644 --- a/cura/Settings/CuraStackBuilder.py +++ b/cura/Settings/CuraStackBuilder.py @@ -62,7 +62,8 @@ class CuraStackBuilder: for position in extruder_dict: try: cls.createExtruderStackWithDefaultSetup(new_global_stack, position) - except IndexError: + except IndexError as e: + Logger.logException("e", "Failed to create an extruder stack for position {pos}: {err}".format(pos = position, err = str(e))) return None for new_extruder in new_global_stack.extruderList: # Only register the extruders if we're sure that all of them are correct. From 45461e702d4493ee7e4e8a7203763c0fcd577a11 Mon Sep 17 00:00:00 2001 From: n7484443 Date: Tue, 11 Aug 2020 08:53:21 +0900 Subject: [PATCH 12/27] Retranslate ko_kr "ironing_flow" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit en:i changed ironing_flow translation to "다림질 압출량". "과정" means process. so i changed it "압출량"-every flow word has been translated to this. kr:기존의 다림질 과정에서 flow를 "과정"이 아닌 "압출량"으로 바꾸었습니다. --- resources/i18n/ko_KR/fdmprinter.def.json.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 52770fac4c..830239fb46 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -1488,12 +1488,12 @@ msgstr "다림질 라인 사이의 거리." #: fdmprinter.def.json msgctxt "ironing_flow label" msgid "Ironing Flow" -msgstr "다림질 과정" +msgstr "다림질 압출량" #: fdmprinter.def.json msgctxt "ironing_flow description" msgid "The amount of material, relative to a normal skin line, to extrude during ironing. Keeping the nozzle filled helps filling some of the crevices of the top surface, but too much results in overextrusion and blips on the side of the surface." -msgstr "다림질하는 동안 기본 스킨 라인을 기준으로 한 재료의 양. 노즐을 가득 채우면 윗면의 틈새가 채워서포트만 표면의 과도한 압출과 틈이 너무 많이 생깁니다." +msgstr "다림질하는 동안 기본 스킨 라인을 기준으로 한 재료의 압출량. 노즐을 가득 채우면 윗면의 틈새가 채워서포트만 표면의 과도한 압출과 틈이 너무 많이 생깁니다." #: fdmprinter.def.json msgctxt "ironing_inset label" From c7525719d534bb6ebf9cbe85a86780b678cec4ed Mon Sep 17 00:00:00 2001 From: Kostas Karmas Date: Tue, 11 Aug 2020 11:18:37 +0200 Subject: [PATCH 13/27] Fix wrong filtering in Marketplace when pressing Back It was trying to apply a wrong filter, which was causing a slowdown. It is now applying the correct filter. Fixes https://github.com/Ultimaker/Cura/issues/8161 CURA-7649 --- plugins/Toolbox/resources/qml/components/ToolboxBackColumn.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Toolbox/resources/qml/components/ToolboxBackColumn.qml b/plugins/Toolbox/resources/qml/components/ToolboxBackColumn.qml index dba9f19ccd..cbf48fc57f 100644 --- a/plugins/Toolbox/resources/qml/components/ToolboxBackColumn.qml +++ b/plugins/Toolbox/resources/qml/components/ToolboxBackColumn.qml @@ -48,7 +48,7 @@ Item onClicked: { toolbox.viewPage = "overview" - toolbox.filterModelByProp("packages", "type", toolbox.viewCategory) + toolbox.filterModelByProp("packages", "package_types", toolbox.viewCategory) } style: ButtonStyle { From 23ba40e54ff514f89f6ec63e390581da3ad43ce8 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 11 Aug 2020 11:27:11 +0200 Subject: [PATCH 14/27] Clarify replacement key in translated text This is done as a reaction to translators asking what the brackets mean. --- cura/Machines/Models/GlobalStacksModel.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/Machines/Models/GlobalStacksModel.py b/cura/Machines/Models/GlobalStacksModel.py index 6d091659a8..712597c2e7 100644 --- a/cura/Machines/Models/GlobalStacksModel.py +++ b/cura/Machines/Models/GlobalStacksModel.py @@ -72,8 +72,8 @@ class GlobalStacksModel(ListModel): section_name = self._catalog.i18nc("@info:title", section_name) default_removal_warning = self._catalog.i18nc( - "@label ({} is object name)", - "Are you sure you wish to remove {}? This cannot be undone!", device_name + "@label {0} is the name of a printer that's about to be deleted.", + "Are you sure you wish to remove {0}? This cannot be undone!", device_name ) removal_warning = container_stack.getMetaDataEntry("removal_warning", default_removal_warning) From ccd4add3efa61c4425fa7b01b9a3224c1402315e Mon Sep 17 00:00:00 2001 From: Kostas Karmas Date: Tue, 11 Aug 2020 11:32:53 +0200 Subject: [PATCH 15/27] Apply different filtering per category when pressing Back Back now applies the same filters that are applied when pressing the tab buttons. CURA-7649 --- .../resources/qml/components/ToolboxBackColumn.qml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/Toolbox/resources/qml/components/ToolboxBackColumn.qml b/plugins/Toolbox/resources/qml/components/ToolboxBackColumn.qml index cbf48fc57f..5514e555eb 100644 --- a/plugins/Toolbox/resources/qml/components/ToolboxBackColumn.qml +++ b/plugins/Toolbox/resources/qml/components/ToolboxBackColumn.qml @@ -48,7 +48,15 @@ Item onClicked: { toolbox.viewPage = "overview" - toolbox.filterModelByProp("packages", "package_types", toolbox.viewCategory) + if (toolbox.viewCategory == "material") + { + toolbox.filterModelByProp("authors", "package_types", "material") + } + else if (toolbox.viewCategory == "plugin") + { + toolbox.filterModelByProp("packages", "type", "plugin") + } + } style: ButtonStyle { From 55dbb1ea0c6a0c8281c4053d766e42e346d230bd Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 11 Aug 2020 13:29:53 +0200 Subject: [PATCH 16/27] Temporarily remove warning message for cloud cameras It's incorrect; the camera is possible with development firmware, but not implemented yet in Cura. Removed this in lieu of the actual fix in CURA-7637, which takes too much time to fix for the 4.7 release. --- .../UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml index da2acc8cf7..6416558fe7 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml @@ -282,12 +282,13 @@ Item enabled: !cameraButton.enabled } + /* //Warning message is commented out because it's factually incorrect. Fix CURA-7637 to allow camera connections via cloud. MonitorInfoBlurb { id: cameraDisabledInfo text: catalog.i18nc("@info", "The webcam is not available because you are monitoring a cloud printer.") target: cameraButton - } + }*/ } // Divider From 5ec57d42d0f474453c64e05d24f79bfb658bdd86 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 12 Aug 2020 09:45:51 +0200 Subject: [PATCH 17/27] Improve translatability of cloud printer syncing texts Here are a number of improvements to the translated texts that make it easier for the translators to translate them: * Never include layout elements such as
    or
  • in the translated text. The translators don't know what to do with them. Instead, leave the tags out of the translated parts and then wrap them around it in Python. * If there are replacement keys in the source text, explain all of them in the context. * Use a name within the brackets, to make it clear from context what the brackets mean and to disambiguate multiple keys if there are multiple. * No invisible whitespace (such as space at the end of a line). * Use plural forms with i18ncp if applicable (or i18np if no context is necessary). I also changed the catalogue variable to lowercase with underscores, as per our code style. --- .../src/Cloud/CloudOutputDeviceManager.py | 48 +++++++++---------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py index ec8dfd9ae7..7730adec1e 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py +++ b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py @@ -1,5 +1,6 @@ -# Copyright (c) 2019 Ultimaker B.V. +# Copyright (c) 2020 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. + import os from typing import Dict, List, Optional, Set @@ -37,7 +38,7 @@ class CloudOutputDeviceManager: SYNC_SERVICE_NAME = "CloudOutputDeviceManager" # The translation catalog for this device. - I18N_CATALOG = i18nCatalog("cura") + i18n_catalog = i18nCatalog("cura") # Signal emitted when the list of discovered devices changed. discoveredDevicesChanged = Signal() @@ -221,7 +222,7 @@ class CloudOutputDeviceManager: ) message = Message( - title = self.I18N_CATALOG.i18ncp( + title = self.i18n_catalog.i18ncp( "info:status", "New printer detected from your Ultimaker account", "New printers detected from your Ultimaker account", @@ -234,11 +235,7 @@ class CloudOutputDeviceManager: message.show() for idx, device in enumerate(new_devices): - message_text = self.I18N_CATALOG.i18nc( - "info:status", "Adding printer {} ({}) from your account", - device.name, - device.printerTypeName - ) + message_text = self.i18n_catalog.i18nc("info:status %1 is printer name, %2 is printer type", "Adding printer {name} ({type}) from your account").format(name = device.name, type = device.printerTypeName) message.setText(message_text) if len(new_devices) > 1: message.setProgress((idx / len(new_devices)) * 100) @@ -255,16 +252,12 @@ class CloudOutputDeviceManager: if len(new_devices) > max_disp_devices: num_hidden = len(new_devices) - max_disp_devices device_name_list = ["
  • {} ({})
  • ".format(device.name, device.printerTypeName) for device in new_devices[0:max_disp_devices]] - device_name_list.append(self.I18N_CATALOG.i18nc("info:hidden list items", "
  • ... and {} others
  • ", num_hidden)) + device_name_list.append("
  • " + self.i18n_catalog.i18ncp("info:{num_hidden} gets replaced by a number of printers", "... and {num_hidden} other", "... and {num_hidden} others", num_hidden).format(num_hidden = num_hidden) + "
  • ") device_names = "".join(device_name_list) else: device_names = "".join(["
  • {} ({})
  • ".format(device.name, device.printerTypeName) for device in new_devices]) - message_text = self.I18N_CATALOG.i18nc( - "info:status", - "Printers added from Digital Factory:
      {}
    ", - device_names - ) + message_text = self.i18n_catalog.i18nc("info:status", "Printers added from Digital Factory:") + "
      " + device_names + "
    " message.setText(message_text) def _updateOutdatedMachine(self, outdated_machine: GlobalStack, new_cloud_output_device: CloudOutputDevice) -> None: @@ -318,7 +311,7 @@ class CloudOutputDeviceManager: # Generate message self._removed_printers_message = Message( - title = self.I18N_CATALOG.i18ncp( + title = self.i18n_catalog.i18ncp( "info:status", "A cloud connection is not available for a printer", "A cloud connection is not available for some printers", @@ -326,27 +319,27 @@ class CloudOutputDeviceManager: ) ) device_names = "".join(["
  • {} ({})
  • ".format(self._um_cloud_printers[device].name, self._um_cloud_printers[device].definition.name) for device in self.reported_device_ids]) - message_text = self.I18N_CATALOG.i18ncp( + message_text = self.i18n_catalog.i18ncp( "info:status", "This printer is not linked to the Digital Factory:", "These printers are not linked to the Digital Factory:", len(self.reported_device_ids) ) message_text += "
      {}

    ".format(device_names) - digital_factory_string = self.I18N_CATALOG.i18nc("info:name", "Ultimaker Digital Factory") + digital_factory_string = self.i18n_catalog.i18nc("info:name", "Ultimaker Digital Factory") - message_text += self.I18N_CATALOG.i18nc( + message_text += self.i18n_catalog.i18nc( "info:status", "To establish a connection, please visit the {website_link}".format(website_link = "{}.".format(digital_factory_string)) ) self._removed_printers_message.setText(message_text) self._removed_printers_message.addAction("keep_printer_configurations_action", - name = self.I18N_CATALOG.i18nc("@action:button", "Keep printer configurations"), + name = self.i18n_catalog.i18nc("@action:button", "Keep printer configurations"), icon = "", description = "Keep cloud printers in Ultimaker Cura when not connected to your account.", button_align = Message.ActionButtonAlignment.ALIGN_RIGHT) self._removed_printers_message.addAction("remove_printers_action", - name = self.I18N_CATALOG.i18nc("@action:button", "Remove printers"), + name = self.i18n_catalog.i18nc("@action:button", "Remove printers"), icon = "", description = "Remove cloud printer(s) which aren't linked to your account.", button_style = Message.ActionButtonStyle.SECONDARY, @@ -423,9 +416,9 @@ class CloudOutputDeviceManager: machine.setMetaDataEntry(self.META_HOST_GUID, device.clusterData.host_guid) machine.setMetaDataEntry("group_name", device.name) machine.setMetaDataEntry("group_size", device.clusterSize) - digital_factory_string = self.I18N_CATALOG.i18nc("info:name", "Ultimaker Digital Factory") + digital_factory_string = self.i18n_catalog.i18nc("info:name", "Ultimaker Digital Factory") digital_factory_link = "{}".format(digital_factory_string) - removal_warning_string = self.I18N_CATALOG.i18nc( + removal_warning_string = self.i18n_catalog.i18nc( "@label ({printer_name} is replaced with the name of the printer", "{printer_name} will be removed until the next account sync.
    To remove {printer_name} permanently, " "visit {digital_factory_link}" @@ -469,10 +462,15 @@ class CloudOutputDeviceManager: remove_printers_ids = {self._um_cloud_printers[i].getId() for i in self.reported_device_ids} all_ids = {m.getId() for m in CuraApplication.getInstance().getContainerRegistry().findContainerStacks(type = "machine")} - question_title = self.I18N_CATALOG.i18nc("@title:window", "Remove printers?") - question_content = self.I18N_CATALOG.i18nc("@label", "You are about to remove {} printer(s) from Cura. This action cannot be undone. \nAre you sure you want to continue?".format(len(remove_printers_ids))) + question_title = self.i18n_catalog.i18nc("@title:window", "Remove printers?") + question_content = self.i18n_catalog.i18ncp( + "@label", + "You are about to remove {num_printers} printer from Cura. This action cannot be undone.\nAre you sure you want to continue?", + "You are about to remove {num_printers} printers from Cura. This action cannot be undone.\nAre you sure you want to continue?", + len(remove_printers_ids) + ).format(num_printers = len(remove_printers_ids)) if remove_printers_ids == all_ids: - question_content = self.I18N_CATALOG.i18nc("@label", "You are about to remove all printers from Cura. This action cannot be undone. \nAre you sure you want to continue?") + question_content = self.i18n_catalog.i18nc("@label", "You are about to remove all printers from Cura. This action cannot be undone.\nAre you sure you want to continue?") result = QMessageBox.question(None, question_title, question_content) if result == QMessageBox.No: return From 4ecab892e54ae068c212ea867bb2c32abe65e9b9 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 12 Aug 2020 10:53:37 +0200 Subject: [PATCH 18/27] Further improve translated strings Remove this formatting from the translated part. --- .../src/Cloud/CloudOutputDeviceManager.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py index 7730adec1e..c5883e59ca 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py +++ b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py @@ -235,7 +235,7 @@ class CloudOutputDeviceManager: message.show() for idx, device in enumerate(new_devices): - message_text = self.i18n_catalog.i18nc("info:status %1 is printer name, %2 is printer type", "Adding printer {name} ({type}) from your account").format(name = device.name, type = device.printerTypeName) + message_text = self.i18n_catalog.i18nc("info:status Filled in with printer name and printer model.", "Adding printer {name} ({model}) from your account").format(name = device.name, model = device.printerTypeName) message.setText(message_text) if len(new_devices) > 1: message.setProgress((idx / len(new_devices)) * 100) @@ -417,15 +417,10 @@ class CloudOutputDeviceManager: machine.setMetaDataEntry("group_name", device.name) machine.setMetaDataEntry("group_size", device.clusterSize) digital_factory_string = self.i18n_catalog.i18nc("info:name", "Ultimaker Digital Factory") - digital_factory_link = "{}".format(digital_factory_string) - removal_warning_string = self.i18n_catalog.i18nc( - "@label ({printer_name} is replaced with the name of the printer", - "{printer_name} will be removed until the next account sync.
    To remove {printer_name} permanently, " - "visit {digital_factory_link}" - "

    Are you sure you want to remove {printer_name} temporarily?".format(printer_name = device.name, - digital_factory_link = digital_factory_link) - ) - + digital_factory_link = "{digital_factory_string}".format(digital_factory_string = digital_factory_string) + removal_warning_string = self.i18n_catalog.i18nc("@message {printer_name} is replaced with the name of the printer", "{printer_name} will be removed until the next account sync.").format(printer_name = device.name) \ + + "
    " + self.i18n_catalog.i18nc("@message {printer_name} is replaced with the name of the printer", "To remove {printer_name} permanently, visit {digital_factory_link}").format(printer_name = device.name, digital_factory_link = digital_factory_link) \ + + "

    " + self.i18n_catalog.i18nc("@message {printer_name} is replaced with the name of the printer", "Are you sure you want to remove {printer_name} temporarily?").format(printer_name = device.name) machine.setMetaDataEntry("removal_warning", removal_warning_string) machine.addConfiguredConnectionType(device.connectionType.value) From 3de3d438a547ed70694684038241c38cfb4a8890 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 12 Aug 2020 11:02:04 +0200 Subject: [PATCH 19/27] Prevent MouseArea from stealing mouse clicks Possibly this is a problem if the tooltip is invisible. We're not sure yet how to reproduce that bug though. In any case, it's neater to not catch mouse events you don't need. --- resources/qml/PrintSetupTooltip.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/qml/PrintSetupTooltip.qml b/resources/qml/PrintSetupTooltip.qml index 6b39842ec0..82210b5399 100644 --- a/resources/qml/PrintSetupTooltip.qml +++ b/resources/qml/PrintSetupTooltip.qml @@ -62,6 +62,7 @@ UM.PointingRectangle MouseArea { anchors.fill: parent + acceptedButtons: Qt.NoButton hoverEnabled: true onHoveredChanged: { From 615c124960840e81ed119f4b9d9b858fda1b44e7 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 12 Aug 2020 11:07:09 +0200 Subject: [PATCH 20/27] Remove MouseArea if tooltip is not visible It should unnecessarily catch any mouse events then. And neither should the ScrollView inside. --- resources/qml/PrintSetupTooltip.qml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/qml/PrintSetupTooltip.qml b/resources/qml/PrintSetupTooltip.qml index 82210b5399..91f044ceed 100644 --- a/resources/qml/PrintSetupTooltip.qml +++ b/resources/qml/PrintSetupTooltip.qml @@ -61,6 +61,8 @@ UM.PointingRectangle MouseArea { + enabled: parent.opacity > 0 + visible: enabled anchors.fill: parent acceptedButtons: Qt.NoButton hoverEnabled: true From 33ea62bb3d863bd234b415c3a54691d7d6b85110 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 12 Aug 2020 11:40:40 +0200 Subject: [PATCH 21/27] Update translation of ironing flow description MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is an improvement suggested by Kwang jun Ko from Brulé via e-mail. --- resources/i18n/ko_KR/fdmprinter.def.json.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 52770fac4c..8cbbaf3071 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -1493,7 +1493,7 @@ msgstr "다림질 과정" #: fdmprinter.def.json msgctxt "ironing_flow description" msgid "The amount of material, relative to a normal skin line, to extrude during ironing. Keeping the nozzle filled helps filling some of the crevices of the top surface, but too much results in overextrusion and blips on the side of the surface." -msgstr "다림질하는 동안 기본 스킨 라인을 기준으로 한 재료의 양. 노즐을 가득 채우면 윗면의 틈새가 채워서포트만 표면의 과도한 압출과 틈이 너무 많이 생깁니다." +msgstr "다림질하는 동안 기본 스킨 라인을 기준으로 한 재료의 압출량. 노즐을 가득 채우면 윗면의 틈새를 채울 수 있지만 표면에 과도한 압출과 필라멘트 덩어리가 생길 수 있습니다." #: fdmprinter.def.json msgctxt "ironing_inset label" From 67ef6405240a8ef6b4abde24eb85e281b0dbb98a Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 12 Aug 2020 11:43:46 +0200 Subject: [PATCH 22/27] Improve ironing flow setting name Another suggestion for an improvement, this time by William Lee from Ultimaker. --- resources/i18n/ko_KR/fdmprinter.def.json.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 8cbbaf3071..a423723d2a 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -1488,7 +1488,7 @@ msgstr "다림질 라인 사이의 거리." #: fdmprinter.def.json msgctxt "ironing_flow label" msgid "Ironing Flow" -msgstr "다림질 과정" +msgstr "다림질 압출량" #: fdmprinter.def.json msgctxt "ironing_flow description" From 8b59fe83d8afa87a8111b5bb9a4784a7be9b8e05 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 12 Aug 2020 14:15:38 +0200 Subject: [PATCH 23/27] Clarify description of infill mesh rank Translators found it confusing, and I think users would find so too. Hopefully this is a bit better. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 2623dff181..e1b550621e 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6152,7 +6152,7 @@ "infill_mesh_order": { "label": "Mesh Processing Rank", - "description": "Determines the priority of this mesh when considering overlapping volumes. Areas where multiple meshes reside will be won by the lower rank mesh. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes.", + "description": "Determines the priority of this mesh when considering multiple overlapping infill meshes. Areas where multiple infill meshes overlap will take on the settings of the mesh with the lowest rank. An infill mesh with a higher order will modify the infill of infill meshes with lower order and normal meshes.", "default_value": 0, "value": "1 if infill_mesh else 0", "minimum_value_warning": "1", From 99cd8ab1b0cd7a506d97d7b47b1f628fdb894d10 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 12 Aug 2020 17:42:10 +0200 Subject: [PATCH 24/27] Show models outside of BP clearly in layerview. CURA-7586 --- plugins/SimulationView/SimulationPass.py | 15 +++++++++++++++ resources/shaders/striped.shader | 7 +++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/plugins/SimulationView/SimulationPass.py b/plugins/SimulationView/SimulationPass.py index b720fc5758..f594fefbe5 100644 --- a/plugins/SimulationView/SimulationPass.py +++ b/plugins/SimulationView/SimulationPass.py @@ -32,6 +32,7 @@ class SimulationPass(RenderPass): self._current_shader = None # This shader will be the shadow or the normal depending if the user wants to see the paths or the layers self._tool_handle_shader = None self._nozzle_shader = None + self._disabled_shader = None self._old_current_layer = 0 self._old_current_path = 0 self._switching_layers = True # It tracks when the user is moving the layers' slider @@ -90,9 +91,17 @@ class SimulationPass(RenderPass): self._nozzle_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "color.shader")) self._nozzle_shader.setUniformValue("u_color", Color(*Application.getInstance().getTheme().getColor("layerview_nozzle").getRgb())) + if not self._disabled_shader: + self._disabled_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "striped.shader")) + self._disabled_shader.setUniformValue("u_diffuseColor1", Color(*Application.getInstance().getTheme().getColor("model_unslicable").getRgb())) + self._disabled_shader.setUniformValue("u_diffuseColor2", Color(*Application.getInstance().getTheme().getColor("model_unslicable_alt").getRgb())) + self._disabled_shader.setUniformValue("u_width", 50.0) + self._disabled_shader.setUniformValue("u_opacity", 0.6) + self.bind() tool_handle_batch = RenderBatch(self._tool_handle_shader, type = RenderBatch.RenderType.Overlay, backface_cull = True) + disabled_batch = RenderBatch(self._disabled_shader) head_position = None # Indicates the current position of the print head nozzle_node = None @@ -105,6 +114,9 @@ class SimulationPass(RenderPass): nozzle_node = node nozzle_node.setVisible(False) + elif getattr(node, "_outside_buildarea", False) and isinstance(node, SceneNode) and node.getMeshData() and node.isVisible(): + disabled_batch.addItem(node.getWorldTransformation(copy=False), node.getMeshData()) + elif isinstance(node, SceneNode) and (node.getMeshData() or node.callDecoration("isBlockSlicing")) and node.isVisible(): layer_data = node.callDecoration("getLayerData") if not layer_data: @@ -183,6 +195,9 @@ class SimulationPass(RenderPass): nozzle_batch.addItem(nozzle_node.getWorldTransformation(), mesh = nozzle_node.getMeshData()) nozzle_batch.render(self._scene.getActiveCamera()) + if len(disabled_batch.items) > 0: + disabled_batch.render(self._scene.getActiveCamera()) + # Render toolhandles on top of the layerview if len(tool_handle_batch.items) > 0: tool_handle_batch.render(self._scene.getActiveCamera()) diff --git a/resources/shaders/striped.shader b/resources/shaders/striped.shader index 71b1f7b0fa..07ce2bebe6 100644 --- a/resources/shaders/striped.shader +++ b/resources/shaders/striped.shader @@ -29,6 +29,7 @@ fragment = uniform mediump vec4 u_diffuseColor1; uniform mediump vec4 u_diffuseColor2; uniform mediump vec4 u_specularColor; + uniform mediump float u_opacity; uniform highp vec3 u_lightPosition; uniform mediump float u_shininess; uniform highp vec3 u_viewPosition; @@ -65,7 +66,7 @@ fragment = finalColor += pow(NdotR, u_shininess) * u_specularColor; gl_FragColor = finalColor; - gl_FragColor.a = 1.0; + gl_FragColor.a = u_opacity; } vertex41core = @@ -100,6 +101,7 @@ fragment41core = uniform mediump vec4 u_diffuseColor1; uniform mediump vec4 u_diffuseColor2; uniform mediump vec4 u_specularColor; + uniform mediump float u_opacity; uniform highp vec3 u_lightPosition; uniform mediump float u_shininess; uniform highp vec3 u_viewPosition; @@ -138,7 +140,7 @@ fragment41core = finalColor += pow(NdotR, u_shininess) * u_specularColor; frag_color = finalColor; - frag_color.a = 1.0; + frag_color.a = u_opacity; } [defaults] @@ -146,6 +148,7 @@ u_ambientColor = [0.3, 0.3, 0.3, 1.0] u_diffuseColor1 = [1.0, 0.5, 0.5, 1.0] u_diffuseColor2 = [0.5, 0.5, 0.5, 1.0] u_specularColor = [0.4, 0.4, 0.4, 1.0] +u_opacity = 1.0 u_shininess = 20.0 u_width = 5.0 u_vertical_stripes = 0 From 6ad696e69ade661ced9d2be10273b45ed5622d42 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 12 Aug 2020 17:45:31 +0200 Subject: [PATCH 25/27] Fix non-printing objects in preview. --- cura/PreviewPass.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/PreviewPass.py b/cura/PreviewPass.py index ba139bb2b3..47e8c367dc 100644 --- a/cura/PreviewPass.py +++ b/cura/PreviewPass.py @@ -76,8 +76,8 @@ class PreviewPass(RenderPass): Logger.error("Unable to compile shader program: overhang.shader") if not self._non_printing_shader: + self._non_printing_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "transparent_object.shader")) if self._non_printing_shader: - self._non_printing_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "transparent_object.shader")) self._non_printing_shader.setUniformValue("u_diffuseColor", [0.5, 0.5, 0.5, 0.5]) self._non_printing_shader.setUniformValue("u_opacity", 0.6) From 5c8132a94452afb137ed1744df0b719246b8a125 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 13 Aug 2020 14:54:34 +0200 Subject: [PATCH 26/27] Fix translation crash --- .../UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py index c5883e59ca..767739d935 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py +++ b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py @@ -252,7 +252,7 @@ class CloudOutputDeviceManager: if len(new_devices) > max_disp_devices: num_hidden = len(new_devices) - max_disp_devices device_name_list = ["
  • {} ({})
  • ".format(device.name, device.printerTypeName) for device in new_devices[0:max_disp_devices]] - device_name_list.append("
  • " + self.i18n_catalog.i18ncp("info:{num_hidden} gets replaced by a number of printers", "... and {num_hidden} other", "... and {num_hidden} others", num_hidden).format(num_hidden = num_hidden) + "
  • ") + device_name_list.append("
  • " + self.i18n_catalog.i18ncp("info:{num_hidden} gets replaced by a number of printers", "... and {num_hidden} other", "... and {num_hidden} others").format(num_hidden = num_hidden) + "
  • ") device_names = "".join(device_name_list) else: device_names = "".join(["
  • {} ({})
  • ".format(device.name, device.printerTypeName) for device in new_devices]) From 1374c2faa93d83b9add7e414272facd993f7e572 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 13 Aug 2020 15:13:11 +0200 Subject: [PATCH 27/27] Properly fix the translation crash --- .../UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py index 767739d935..508476095d 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py +++ b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py @@ -252,7 +252,7 @@ class CloudOutputDeviceManager: if len(new_devices) > max_disp_devices: num_hidden = len(new_devices) - max_disp_devices device_name_list = ["
  • {} ({})
  • ".format(device.name, device.printerTypeName) for device in new_devices[0:max_disp_devices]] - device_name_list.append("
  • " + self.i18n_catalog.i18ncp("info:{num_hidden} gets replaced by a number of printers", "... and {num_hidden} other", "... and {num_hidden} others").format(num_hidden = num_hidden) + "
  • ") + device_name_list.append("
  • " + self.i18n_catalog.i18ncp("info:{0} gets replaced by a number of printers", "... and {0} other", "... and {0} others", num_hidden) + "
  • ") device_names = "".join(device_name_list) else: device_names = "".join(["
  • {} ({})
  • ".format(device.name, device.printerTypeName) for device in new_devices])