def bakeMeshTransformation(self) -> None: nodes_list = self._getSelectedNodes() if not nodes_list: return op = GroupedOperation() for node in nodes_list: mesh_data = node.getMeshData() if not mesh_data: continue mesh_name = node.getName() if not mesh_name: file_name = mesh_data.getFileName() if not file_name: file_name = "" mesh_name = os.path.basename(file_name) if not mesh_name: mesh_name = catalog.i18nc("@text Print job name", "Untitled") local_transformation = node.getLocalTransformation() position = local_transformation.getTranslation() local_transformation.setTranslation(Vector(0,0,0)) transformed_mesh_data = mesh_data.getTransformed(local_transformation) new_transformation = Matrix() new_transformation.setTranslation(position) op.addOperation(SetMeshDataAndNameOperation(node, transformed_mesh_data, mesh_name)) op.addOperation(SetTransformMatrixOperation(node, new_transformation)) op.push()