diff --git a/.github/ISSUE_TEMPLATE/SlicingCrash.yaml b/.github/ISSUE_TEMPLATE/SlicingCrash.yaml index 0d939776272..06025886a27 100644 --- a/.github/ISSUE_TEMPLATE/SlicingCrash.yaml +++ b/.github/ISSUE_TEMPLATE/SlicingCrash.yaml @@ -6,9 +6,9 @@ body: attributes: value: | ### ✨Try our improved Cura 5.7✨ - Before filling out the report below, we want you to try the latest Cura 5.7 Beta. + Before filling out the report below, we want you to try the latest Cura 5.7. This version of Cura has become significantly more reliable and has an updated slicing engine that will automatically send a report to the Cura Team for analysis. - #### [You can find the downloads here](https://github.com/Ultimaker/Cura/releases/tag/5.7.0-beta.1) #### + #### [You can find the downloads here](https://github.com/Ultimaker/Cura/releases/latest) #### If you still encounter a crash you are still welcome to report the issue so we can use your model as a test case, you can find instructions on how to do that below. ### Project File @@ -35,7 +35,7 @@ body: - type: markdown attributes: value: | - We work hard on improving our slicing crashes. Our most recent release is 5.6.0. + We work hard on improving our slicing crashes. Our most recent release is 5.7.1. If you are not on the latest version of Cura, [you can download it here](https://github.com/Ultimaker/Cura/releases/latest) - type: input attributes: diff --git a/conandata.yml b/conandata.yml index 2eb76d74682..83bfd935a0c 100644 --- a/conandata.yml +++ b/conandata.yml @@ -1,17 +1,17 @@ -version: "5.8.0-beta.1" +version: "5.8.0" requirements: - - "cura_resources/5.8.0-beta.1" - - "uranium/5.8.0-beta.1" - - "curaengine/5.8.0-beta.1" - - "cura_binary_data/5.8.0-beta.1" - - "fdm_materials/5.8.0-beta.1" + - "cura_resources/5.8.0" + - "uranium/5.8.0" + - "curaengine/5.8.0" + - "cura_binary_data/5.8.0" + - "fdm_materials/5.8.0" - "curaengine_plugin_gradual_flow/0.1.0-beta.4" - "dulcificum/0.2.1" - "pysavitar/5.3.0" - "pynest2d/5.3.0" - "native_cad_plugin/2.0.0" requirements_internal: - - "fdm_materials/5.8.0-beta.1" + - "fdm_materials/5.8.0" - "cura_private_data/(latest)@internal/testing" urls: default: diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index 5a9fa487fc9..a3eb43ca32d 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -114,22 +114,24 @@ def _convertUMNodeToSavitarNode(um_node, mesh_data = um_node.getMeshData() + node_matrix = um_node.getLocalTransformation() + node_matrix.preMultiply(transformation) + if center_mesh: - node_matrix = Matrix() + center_matrix = Matrix() # compensate for original center position, if object(s) is/are not around its zero position if mesh_data is not None: extents = mesh_data.getExtents() if extents is not None: # We use a different coordinate space while writing, so flip Z and Y - center_vector = Vector(extents.center.x, extents.center.y, extents.center.z) - node_matrix.setByTranslation(center_vector) - node_matrix.multiply(um_node.getLocalTransformation()) - else: - node_matrix = um_node.getLocalTransformation() + center_vector = Vector(-extents.center.x, -extents.center.y, -extents.center.z) + center_matrix.setByTranslation(center_vector) + node_matrix.preMultiply(center_matrix) - matrix_string = ThreeMFWriter._convertMatrixToString(node_matrix.preMultiply(transformation)) + matrix_string = ThreeMFWriter._convertMatrixToString(node_matrix) savitar_node.setTransformation(matrix_string) + if mesh_data is not None: savitar_node.getMeshData().setVerticesFromBytes(mesh_data.getVerticesAsByteArray()) indices_array = mesh_data.getIndicesAsByteArray() diff --git a/resources/conandata.yml b/resources/conandata.yml index 09d9e10d65a..d43b7d4dd2e 100644 --- a/resources/conandata.yml +++ b/resources/conandata.yml @@ -1 +1 @@ -version: "5.8.0-beta.1" +version: "5.8.0" diff --git a/resources/definitions/creality_crm4.def.json b/resources/definitions/creality_crm4.def.json new file mode 100644 index 00000000000..89ab3ed04c2 --- /dev/null +++ b/resources/definitions/creality_crm4.def.json @@ -0,0 +1,18 @@ +{ + "version": 2, + "name": "Creality CR-M4", + "inherits": "creality_base", + "metadata": + { + "visible": true, + "quality_definition": "creality_base" + }, + "overrides": + { + "gantry_height": { "value": 35 }, + "machine_depth": { "default_value": 450 }, + "machine_height": { "default_value": 470 }, + "machine_name": { "default_value": "Creality CR-M4" }, + "machine_width": { "default_value": 450 } + } +} \ No newline at end of file diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 045bec05a40..3d23d1d0409 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -28,6 +28,18 @@ "icon": "Printer", "children": { + "build_volume_fan_nr": + { + "label": "Build volume fan number", + "description": "The number of the fan that cools the build volume. If this is set to 0, it's means that there is no build volume fan", + "default_value": 0, + "minimum_value": "0", + "maximum_value": "999999", + "type": "int", + "settable_per_mesh": false, + "settable_per_extruder": false, + "settable_per_meshgroup": false + }, "machine_name": { "label": "Machine Type", @@ -4467,6 +4479,37 @@ "settable_per_mesh": false, "settable_per_extruder": true }, + "build_fan_full_at_height": + { + "label": "Build Fan Speed at Height", + "description": "The height at which the fans spin on regular fan speed. At the layers below the fan speed gradually increases from Initial Fan Speed to Regular Fan Speed.", + "unit": "mm", + "type": "float", + "default_value": 0, + "minimum_value": "0", + "enabled": "build_volume_fan_nr != 0", + "maximum_value_warning": "10.0", + "settable_per_mesh": false, + "settable_per_extruder": false, + "settable_per_meshgroup": false, + "children": + { + "build_fan_full_layer": + { + "label": "Build Fan Speed at Layer", + "description": "The layer at which the build fans spin on full fan speed. This value is calculated and rounded to a whole number.", + "type": "int", + "default_value": 0, + "minimum_value": "0", + "enabled": "build_volume_fan_nr != 0", + "maximum_value_warning": "10 / resolveOrValue('layer_height')", + "value": "max(1, int(math.floor((build_fan_full_at_height - resolveOrValue('layer_height_0')) / resolveOrValue('layer_height')) + 2))", + "settable_per_mesh": false, + "settable_per_extruder": false, + "settable_per_meshgroup": false + } + } + }, "cool_fan_speed": { "label": "Fan Speed", diff --git a/resources/i18n/cura.pot b/resources/i18n/cura.pot index 8bf8688e0e9..24a5221f4fc 100644 --- a/resources/i18n/cura.pot +++ b/resources/i18n/cura.pot @@ -215,14 +215,14 @@ msgstr "" msgctxt "@label crash message" msgid "" -"
A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem
\n" +"A fatal error has occurred in Cura. Please send us this Crash Report to fix the problem
\n" "Please use the \"Send report\" button to post a bug report automatically to our servers
\n" " " msgstr "" msgctxt "@label crash message" msgid "" -"Oops, UltiMaker Cura has encountered something that doesn't seem right.
\n" +"Oops, UltiMaker Cura has encountered something that doesn't seem right.
\n" "We encountered an unrecoverable error during start up. It was possibly caused by some incorrect configuration files. We suggest to backup and reset your configuration.
\n" "Backups can be found in the configuration folder.
\n" "Please send us this Crash Report to fix the problem.
\n"