diff --git a/conandata.yml b/conandata.yml index 2eb76d7468..83bfd935a0 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 5a9fa487fc..a3eb43ca32 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -114,22 +114,24 @@ class ThreeMFWriter(MeshWriter): 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 09d9e10d65..d43b7d4dd2 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 0000000000..89ab3ed04c --- /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