From e905ac9d331f0e39a14ca79fadbaed46137d16d3 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Thu, 7 Mar 2024 16:13:19 +0100 Subject: [PATCH 01/18] adding a lock for the create snapshot CURA-11650 --- plugins/3MFWriter/ThreeMFWriter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index 1c14c37cfd..bf6378c4c4 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -2,6 +2,7 @@ # Cura is released under the terms of the LGPLv3 or higher. import json import re +import threading from typing import Optional, cast, List, Dict, Pattern, Set @@ -65,6 +66,7 @@ class ThreeMFWriter(MeshWriter): self._unit_matrix_string = ThreeMFWriter._convertMatrixToString(Matrix()) self._archive: Optional[zipfile.ZipFile] = None self._store_archive = False + self._lock = threading.Lock() @staticmethod def _convertMatrixToString(matrix): @@ -423,6 +425,7 @@ class ThreeMFWriter(MeshWriter): @call_on_qt_thread # must be called from the main thread because of OpenGL def _createSnapshot(self): Logger.log("d", "Creating thumbnail image...") + self._lock.aquire() if not CuraApplication.getInstance().isVisible: Logger.log("w", "Can't create snapshot when renderer not initialized.") return None @@ -431,6 +434,7 @@ class ThreeMFWriter(MeshWriter): except: Logger.logException("w", "Failed to create snapshot image") return None + finally: self._lock.release() return snapshot From dc031c46748ebecae471e09e99c24a1f8b238e1e Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Thu, 7 Mar 2024 16:35:19 +0100 Subject: [PATCH 02/18] spelling of acquire CURA-11650 --- plugins/3MFWriter/ThreeMFWriter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index bf6378c4c4..d33f0e374a 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -425,7 +425,7 @@ class ThreeMFWriter(MeshWriter): @call_on_qt_thread # must be called from the main thread because of OpenGL def _createSnapshot(self): Logger.log("d", "Creating thumbnail image...") - self._lock.aquire() + self._lock.acquire() if not CuraApplication.getInstance().isVisible: Logger.log("w", "Can't create snapshot when renderer not initialized.") return None From 174368d1eb8d9de808e2da2e2513746ecf65e94b Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Fri, 8 Mar 2024 12:08:32 +0100 Subject: [PATCH 03/18] description of UCP CURA-11705 --- plugins/3MFWriter/UCPDialog.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/3MFWriter/UCPDialog.qml b/plugins/3MFWriter/UCPDialog.qml index 5d094f9187..267306f5e2 100644 --- a/plugins/3MFWriter/UCPDialog.qml +++ b/plugins/3MFWriter/UCPDialog.qml @@ -46,7 +46,7 @@ UM.Dialog UM.Label { id: descriptionLabel - text: catalog.i18nc("@action:description", "When exporting a Universal Cura Project, all the models present on the build plate will be included with their current position, orientation and scale. You can also select which per-extruder or per-model settings should be included to ensure a proper printing of the batch, even on different printers.") + text: catalog.i18nc("@action:description", "Universal Cura Project files can be printed on different 3D printers while retaining positional data and selected settings. When exported, all models present on the build plate will be included along with their current position, orientation, and scale. You can also select which per-extruder or per-model settings should be included to ensure proper printing.") font: UM.Theme.getFont("default") wrapMode: Text.Wrap Layout.maximumWidth: headerColumn.width From ebe5da7f0e5aac892e811a53595f99c47f0bdcd3 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Fri, 8 Mar 2024 13:43:43 +0100 Subject: [PATCH 04/18] added creating snapshot if not created till 10 attempts refractored the snapshot.py CURA-11650 --- cura/Snapshot.py | 66 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 21 deletions(-) diff --git a/cura/Snapshot.py b/cura/Snapshot.py index f94b3ff42e..77cb9ea29c 100644 --- a/cura/Snapshot.py +++ b/cura/Snapshot.py @@ -21,23 +21,31 @@ from UM.Scene.SceneNode import SceneNode from UM.Qt.QtRenderer import QtRenderer class Snapshot: + + DEFAULT_WIDTH_HEIGHT = 300 + MAX_RENDER_DISTANCE = 10000 + BOUND_BOX_FACTOR = 1.75 + CAMERA_FOVY = 30 + ATTEMPTS_FOR_SNAPSHOT = 10 + @staticmethod - def getImageBoundaries(image: QImage): - # Look at the resulting image to get a good crop. - # Get the pixels as byte array + def getNonZeroPixels(image: QImage): pixel_array = image.bits().asarray(image.sizeInBytes()) width, height = image.width(), image.height() - # Convert to numpy array, assume it's 32 bit (it should always be) pixels = numpy.frombuffer(pixel_array, dtype=numpy.uint8).reshape([height, width, 4]) # Find indices of non zero pixels - nonzero_pixels = numpy.nonzero(pixels) + return numpy.nonzero(pixels) + + @staticmethod + def getImageBoundaries(image: QImage): + nonzero_pixels = Snapshot.getNonZeroPixels(image) min_y, min_x, min_a_ = numpy.amin(nonzero_pixels, axis=1) # type: ignore max_y, max_x, max_a_ = numpy.amax(nonzero_pixels, axis=1) # type: ignore return min_x, max_x, min_y, max_y @staticmethod - def isometricSnapshot(width: int = 300, height: int = 300, *, node: Optional[SceneNode] = None) -> Optional[QImage]: + def isometricSnapshot(width: int = DEFAULT_WIDTH_HEIGHT, height: int = DEFAULT_WIDTH_HEIGHT, *, node: Optional[SceneNode] = None) -> Optional[QImage]: """ Create an isometric snapshot of the scene. @@ -112,22 +120,25 @@ class Snapshot: return render_pass.getOutput() + @staticmethod + def isNodeRenderable(node): + return not getattr(node, "_outside_buildarea", False) and node.callDecoration( + "isSliceable") and node.getMeshData() and node.isVisible() and not node.callDecoration( + "isNonThumbnailVisibleMesh") + @staticmethod def nodeBounds(root_node: SceneNode) -> Optional[AxisAlignedBox]: axis_aligned_box = None for node in DepthFirstIterator(root_node): - if not getattr(node, "_outside_buildarea", False): - if node.callDecoration( - "isSliceable") and node.getMeshData() and node.isVisible() and not node.callDecoration( - "isNonThumbnailVisibleMesh"): - if axis_aligned_box is None: - axis_aligned_box = node.getBoundingBox() - else: - axis_aligned_box = axis_aligned_box + node.getBoundingBox() + if Snapshot.isNodeRenderable(node): + if axis_aligned_box is None: + axis_aligned_box = node.getBoundingBox() + else: + axis_aligned_box = axis_aligned_box + node.getBoundingBox() return axis_aligned_box @staticmethod - def snapshot(width = 300, height = 300): + def snapshot(width = DEFAULT_WIDTH_HEIGHT, height = DEFAULT_WIDTH_HEIGHT, number_of_attempts = ATTEMPTS_FOR_SNAPSHOT): """Return a QImage of the scene Uses PreviewPass that leaves out some elements Aspect ratio assumes a square @@ -163,13 +174,13 @@ class Snapshot: looking_from_offset = Vector(-1, 1, 2) if size > 0: # determine the watch distance depending on the size - looking_from_offset = looking_from_offset * size * 1.75 + looking_from_offset = looking_from_offset * size * Snapshot.BOUND_BOX_FACTOR camera.setPosition(look_at + looking_from_offset) camera.lookAt(look_at) satisfied = False size = None - fovy = 30 + fovy = Snapshot.CAMERA_FOVY while not satisfied: if size is not None: @@ -182,11 +193,19 @@ class Snapshot: preview_pass.setCamera(camera) preview_pass.render() pixel_output = preview_pass.getOutput() - try: - min_x, max_x, min_y, max_y = Snapshot.getImageBoundaries(pixel_output) - except (ValueError, AttributeError): - Logger.logException("w", "Failed to crop the snapshot!") + if Snapshot._prereadSnapshot(pixel_output): + try: + min_x, max_x, min_y, max_y = Snapshot.getImageBoundaries(pixel_output) + except (ValueError, AttributeError) as e: + Logger.logException("w", f"Failed to crop the snapshot! {e}") + return None + elif number_of_attempts == 0: + Logger.warning( f"Failed to crop the snapshot even after 10 attempts!") return None + else: + number_of_attempts = number_of_attempts - 1 + Logger.info("Trying to get the snapshot again.") + return Snapshot.snapshot(width, height, number_of_attempts) size = max((max_x - min_x) / render_width, (max_y - min_y) / render_height) if size > 0.5 or satisfied: @@ -211,3 +230,8 @@ class Snapshot: transformMode = QtCore.Qt.TransformationMode.SmoothTransformation) return scaled_image + + @staticmethod + def _prereadSnapshot(snap = QImage): + nonzero_pixels = Snapshot.getNonZeroPixels(snap) + return all(len(nonzero_pixels[i]) != 0 for i in range(3)) \ No newline at end of file From 9e17a55c17358d2d79f4b476433b5baac6770a53 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Fri, 8 Mar 2024 14:39:12 +0100 Subject: [PATCH 05/18] Dtring finishing for Prime tower type and print sequence CURA-11705 --- resources/definitions/fdmprinter.def.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 2abdf0df01..c780279ab7 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6808,7 +6808,7 @@ "prime_tower_mode": { "label": "Prime Tower Type", - "description": "How to generate the prime tower:
  • Normal: create a bucket in which secondary materials are primed
  • Interleaved: create a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.
", + "description": "How to generate the prime tower:
  • Normal: create a bucket in which secondary materials are primed
  • Interleaved: create a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other
", "type": "enum", "value": "'interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal'", "options": @@ -7294,7 +7294,7 @@ "user_defined_print_order_enabled": { "label": "Set Print Sequence Manually", - "description": "Allows to order the object list to set the print sequence manually. First object from the list will be printed first.", + "description": "Allows you to order the object list to manually set the print sequence. First object from the list will be printed first.", "type": "bool", "default_value": false, "settable_per_mesh": false, @@ -7956,7 +7956,7 @@ "type": "float", "enabled": "adaptive_layer_height_enabled", "default_value": 0.01, - "unit": "mm", + "unitp": "mm", "settable_per_mesh": false, "minimum_value": "0.001", "settable_per_extruder": false, From 143dd20392019d32429f75db7cdd5efb42d45707 Mon Sep 17 00:00:00 2001 From: Saumya Jain <70144862+saumyaj3@users.noreply.github.com> Date: Fri, 8 Mar 2024 14:41:17 +0100 Subject: [PATCH 06/18] Update fdmprinter.def.json --- resources/definitions/fdmprinter.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index c780279ab7..4e6a178f3f 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -7956,7 +7956,7 @@ "type": "float", "enabled": "adaptive_layer_height_enabled", "default_value": 0.01, - "unitp": "mm", + "unit": "mm", "settable_per_mesh": false, "minimum_value": "0.001", "settable_per_extruder": false, @@ -8657,4 +8657,4 @@ } } } -} \ No newline at end of file +} From 4d77972600a8efcd4efd377cbec46e75b4a8f0a1 Mon Sep 17 00:00:00 2001 From: saumyaj3 Date: Fri, 8 Mar 2024 13:42:10 +0000 Subject: [PATCH 07/18] Applied printer-linter format --- 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 4e6a178f3f..2e10fb2c76 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -8657,4 +8657,4 @@ } } } -} +} \ No newline at end of file From 1f611994028067ae7f0b0e5d2d70faf1404f0317 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 8 Mar 2024 15:34:48 +0100 Subject: [PATCH 08/18] Pin package and requirements versions --- conandata.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/conandata.yml b/conandata.yml index fdfc2dec11..574a4fdc2f 100644 --- a/conandata.yml +++ b/conandata.yml @@ -1,17 +1,17 @@ -version: "5.7.0-alpha.1" +version: "5.7.0-beta.1" requirements: - - "uranium/(latest)@ultimaker/testing" - - "curaengine/(latest)@ultimaker/testing" - - "cura_binary_data/(latest)@ultimaker/testing" - - "fdm_materials/(latest)@ultimaker/testing" - - "curaengine_plugin_gradual_flow/0.1.0-beta.3" - - "dulcificum/latest@ultimaker/testing" - - "pysavitar/5.3.0" - - "pynest2d/5.3.0" - - "curaengine_grpc_definitions/(latest)@ultimaker/testing" + - "uranium/5.7.0-beta.1" + - "curaengine/5.7.0-beta.1" + - "cura_binary_data/5.7.0-beta.1" + - "fdm_materials/5.7.0-beta.1" + - "curaengine_plugin_gradual_flow/0.1.0" + - "dulcificum/0.2.0" + - "pysavitar/5.4.0" + - "pynest2d/5.4.0" + - "curaengine_grpc_definitions/0.2.0" requirements_internal: - - "fdm_materials/(latest)@internal/testing" - - "cura_private_data/(latest)@internal/testing" + - "fdm_materials/5.7.0-beta.1" + - "cura_private_data/5.7.0-beta.1" urls: default: cloud_api_root: "https://api.ultimaker.com" From 7b45fd936802c248caa994d5b003f92657859ce3 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 8 Mar 2024 15:39:41 +0100 Subject: [PATCH 09/18] Pin pysavitar and pynest2d to the stable versions --- conandata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conandata.yml b/conandata.yml index 574a4fdc2f..bff4f1117d 100644 --- a/conandata.yml +++ b/conandata.yml @@ -6,8 +6,8 @@ requirements: - "fdm_materials/5.7.0-beta.1" - "curaengine_plugin_gradual_flow/0.1.0" - "dulcificum/0.2.0" - - "pysavitar/5.4.0" - - "pynest2d/5.4.0" + - "pysavitar/5.3.0" + - "pynest2d/5.3.0" - "curaengine_grpc_definitions/0.2.0" requirements_internal: - "fdm_materials/5.7.0-beta.1" From 6e6ca515cdf5ed0eb87ad67aa5260e72042e2d15 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Fri, 8 Mar 2024 16:07:41 +0100 Subject: [PATCH 10/18] Add missing nylon material to material map CURA-11709 --- cura/PrinterOutput/Models/MaterialOutputModel.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cura/PrinterOutput/Models/MaterialOutputModel.py b/cura/PrinterOutput/Models/MaterialOutputModel.py index dedcc2136b..173fecc2e6 100644 --- a/cura/PrinterOutput/Models/MaterialOutputModel.py +++ b/cura/PrinterOutput/Models/MaterialOutputModel.py @@ -28,6 +28,7 @@ class MaterialOutputModel(QObject): "abs-wss1" :{"name" :"absr_175" ,"guid": "88c8919c-6a09-471a-b7b6-e801263d862d"}, "asa" :{"name" :"asa_175" ,"guid": "416eead4-0d8e-4f0b-8bfc-a91a519befa5"}, "nylon-cf" :{"name" :"cffpa_175" ,"guid": "85bbae0e-938d-46fb-989f-c9b3689dc4f0"}, + "nylon12-cf": {"name": "nylon12-cf", "guid": "3c6f2877-71cc-4760-84e6-4b89ab243e3b"}, "nylon" :{"name" :"nylon_175" ,"guid": "283d439a-3490-4481-920c-c51d8cdecf9c"}, "pc" :{"name" :"pc_175" ,"guid": "62414577-94d1-490d-b1e4-7ef3ec40db02"}, "petg" :{"name" :"petg_175" ,"guid": "69386c85-5b6c-421a-bec5-aeb1fb33f060"}, From f5d1256125e00000e8d3bdbd578b4efb47e9df51 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Fri, 8 Mar 2024 16:20:27 +0100 Subject: [PATCH 11/18] Use latest packages versions --- conandata.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/conandata.yml b/conandata.yml index bff4f1117d..34ab722354 100644 --- a/conandata.yml +++ b/conandata.yml @@ -1,17 +1,17 @@ version: "5.7.0-beta.1" requirements: - - "uranium/5.7.0-beta.1" - - "curaengine/5.7.0-beta.1" - - "cura_binary_data/5.7.0-beta.1" - - "fdm_materials/5.7.0-beta.1" - - "curaengine_plugin_gradual_flow/0.1.0" - - "dulcificum/0.2.0" + - "uranium/(latest)@ultimaker/stable" + - "curaengine/(latest)@ultimaker/stable" + - "cura_binary_data/(latest)@ultimaker/stable" + - "fdm_materials/(latest)@ultimaker/stable" + - "curaengine_plugin_gradual_flow/0.1.0-beta.3@ultimaker/stable" + - "dulcificum/latest@ultimaker/stable" - "pysavitar/5.3.0" - "pynest2d/5.3.0" - - "curaengine_grpc_definitions/0.2.0" + - "curaengine_grpc_definitions/(latest)@ultimaker/stable" requirements_internal: - - "fdm_materials/5.7.0-beta.1" - - "cura_private_data/5.7.0-beta.1" + - "fdm_materials/(latest)@internal/stable" + - "cura_private_data/(latest)@internal/stable" urls: default: cloud_api_root: "https://api.ultimaker.com" From 28997b0b14f9a0cab368e7b2dbec985d6e70161d Mon Sep 17 00:00:00 2001 From: Saumya Jain <70144862+saumyaj3@users.noreply.github.com> Date: Fri, 8 Mar 2024 16:38:57 +0100 Subject: [PATCH 12/18] Update cura/Snapshot.py Co-authored-by: Casper Lamboo --- cura/Snapshot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Snapshot.py b/cura/Snapshot.py index 77cb9ea29c..920caa5501 100644 --- a/cura/Snapshot.py +++ b/cura/Snapshot.py @@ -200,7 +200,7 @@ class Snapshot: Logger.logException("w", f"Failed to crop the snapshot! {e}") return None elif number_of_attempts == 0: - Logger.warning( f"Failed to crop the snapshot even after 10 attempts!") + Logger.warning( f"Failed to crop the snapshot even after {Snapshot.ATTEMPTS_FOR_SNAPSHOT} attempts!") return None else: number_of_attempts = number_of_attempts - 1 From c4881641c3c50add2bfe0b991bc264c82168fb25 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Fri, 8 Mar 2024 16:44:03 +0100 Subject: [PATCH 13/18] review comments fixing CURA-11650 --- cura/Snapshot.py | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/cura/Snapshot.py b/cura/Snapshot.py index 920caa5501..9b91cdef1c 100644 --- a/cura/Snapshot.py +++ b/cura/Snapshot.py @@ -193,19 +193,16 @@ class Snapshot: preview_pass.setCamera(camera) preview_pass.render() pixel_output = preview_pass.getOutput() - if Snapshot._prereadSnapshot(pixel_output): - try: - min_x, max_x, min_y, max_y = Snapshot.getImageBoundaries(pixel_output) - except (ValueError, AttributeError) as e: - Logger.logException("w", f"Failed to crop the snapshot! {e}") + try: + min_x, max_x, min_y, max_y = Snapshot.getImageBoundaries(pixel_output) + except (ValueError, AttributeError) as e: + if number_of_attempts == 0: + Logger.warning( f"Failed to crop the snapshot even after {Snapshot.ATTEMPTS_FOR_SNAPSHOT} attempts!") return None - elif number_of_attempts == 0: - Logger.warning( f"Failed to crop the snapshot even after {Snapshot.ATTEMPTS_FOR_SNAPSHOT} attempts!") - return None - else: - number_of_attempts = number_of_attempts - 1 - Logger.info("Trying to get the snapshot again.") - return Snapshot.snapshot(width, height, number_of_attempts) + else: + number_of_attempts = number_of_attempts - 1 + Logger.info("Trying to get the snapshot again.") + return Snapshot.snapshot(width, height, number_of_attempts) size = max((max_x - min_x) / render_width, (max_y - min_y) / render_height) if size > 0.5 or satisfied: @@ -230,8 +227,3 @@ class Snapshot: transformMode = QtCore.Qt.TransformationMode.SmoothTransformation) return scaled_image - - @staticmethod - def _prereadSnapshot(snap = QImage): - nonzero_pixels = Snapshot.getNonZeroPixels(snap) - return all(len(nonzero_pixels[i]) != 0 for i in range(3)) \ No newline at end of file From 64bb69c48f46f8ebefa5e7d640b60bf2cd964f70 Mon Sep 17 00:00:00 2001 From: Saumya Jain Date: Fri, 8 Mar 2024 16:46:58 +0100 Subject: [PATCH 14/18] removing magic number Adding max render distance CURA-11650 --- cura/Snapshot.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/Snapshot.py b/cura/Snapshot.py index 9b91cdef1c..65a51539cc 100644 --- a/cura/Snapshot.py +++ b/cura/Snapshot.py @@ -100,8 +100,8 @@ class Snapshot: camera_width / 2, -camera_height / 2, camera_height / 2, - -10000, - 10000 + -Snapshot.MAX_RENDER_DISTANCE, + Snapshot.MAX_RENDER_DISTANCE ) camera.setPerspective(False) camera.setProjectionMatrix(ortho_matrix) From 3fee8ba85199ddc7cc575dcf2b3d297492ee29ff Mon Sep 17 00:00:00 2001 From: Casper Lamboo Date: Fri, 8 Mar 2024 16:59:04 +0100 Subject: [PATCH 15/18] Update cura/PrinterOutput/Models/MaterialOutputModel.py --- cura/PrinterOutput/Models/MaterialOutputModel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/PrinterOutput/Models/MaterialOutputModel.py b/cura/PrinterOutput/Models/MaterialOutputModel.py index 173fecc2e6..cb5da7f8be 100644 --- a/cura/PrinterOutput/Models/MaterialOutputModel.py +++ b/cura/PrinterOutput/Models/MaterialOutputModel.py @@ -28,7 +28,7 @@ class MaterialOutputModel(QObject): "abs-wss1" :{"name" :"absr_175" ,"guid": "88c8919c-6a09-471a-b7b6-e801263d862d"}, "asa" :{"name" :"asa_175" ,"guid": "416eead4-0d8e-4f0b-8bfc-a91a519befa5"}, "nylon-cf" :{"name" :"cffpa_175" ,"guid": "85bbae0e-938d-46fb-989f-c9b3689dc4f0"}, - "nylon12-cf": {"name": "nylon12-cf", "guid": "3c6f2877-71cc-4760-84e6-4b89ab243e3b"}, + "nylon12-cf": {"name": "nylon12-cf_175", "guid": "3c6f2877-71cc-4760-84e6-4b89ab243e3b"}, "nylon" :{"name" :"nylon_175" ,"guid": "283d439a-3490-4481-920c-c51d8cdecf9c"}, "pc" :{"name" :"pc_175" ,"guid": "62414577-94d1-490d-b1e4-7ef3ec40db02"}, "petg" :{"name" :"petg_175" ,"guid": "69386c85-5b6c-421a-bec5-aeb1fb33f060"}, From f4d8d643e0b495f3ad036a40e8adf02692f9bb4d Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 11 Mar 2024 08:18:07 +0100 Subject: [PATCH 16/18] Set correct beta version number --- conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conandata.yml b/conandata.yml index 34ab722354..fe08426fe5 100644 --- a/conandata.yml +++ b/conandata.yml @@ -1,4 +1,4 @@ -version: "5.7.0-beta.1" +version: "5.7.0-beta.0" requirements: - "uranium/(latest)@ultimaker/stable" - "curaengine/(latest)@ultimaker/stable" From 0520452f46c7dfe6b533a236e7547e760b7df118 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 11 Mar 2024 08:33:51 +0100 Subject: [PATCH 17/18] Use stable channel only for packages with release branch --- conandata.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/conandata.yml b/conandata.yml index fe08426fe5..23b4e6f813 100644 --- a/conandata.yml +++ b/conandata.yml @@ -4,14 +4,14 @@ requirements: - "curaengine/(latest)@ultimaker/stable" - "cura_binary_data/(latest)@ultimaker/stable" - "fdm_materials/(latest)@ultimaker/stable" - - "curaengine_plugin_gradual_flow/0.1.0-beta.3@ultimaker/stable" - - "dulcificum/latest@ultimaker/stable" + - "curaengine_plugin_gradual_flow/0.1.0-beta.3" + - "dulcificum/latest@ultimaker/testing" - "pysavitar/5.3.0" - "pynest2d/5.3.0" - - "curaengine_grpc_definitions/(latest)@ultimaker/stable" + - "curaengine_grpc_definitions/(latest)@ultimaker/testing" requirements_internal: - - "fdm_materials/(latest)@internal/stable" - - "cura_private_data/(latest)@internal/stable" + - "fdm_materials/(latest)@internal/testing" + - "cura_private_data/(latest)@internal/testing" urls: default: cloud_api_root: "https://api.ultimaker.com" From 3bfce9f003d092342a33a4ab6bb2040d1797e022 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Mon, 11 Mar 2024 08:39:57 +0100 Subject: [PATCH 18/18] Pin grpc_definitions version --- conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conandata.yml b/conandata.yml index 23b4e6f813..0d0452ebbe 100644 --- a/conandata.yml +++ b/conandata.yml @@ -8,7 +8,7 @@ requirements: - "dulcificum/latest@ultimaker/testing" - "pysavitar/5.3.0" - "pynest2d/5.3.0" - - "curaengine_grpc_definitions/(latest)@ultimaker/testing" + - "curaengine_grpc_definitions/0.2.0" requirements_internal: - "fdm_materials/(latest)@internal/testing" - "cura_private_data/(latest)@internal/testing"