Просмотр исходного кода

Merge branch 'feature_ufp_writer' of github.com:Ultimaker/Cura into feature_ufp_writer

Jack Ha 7 лет назад
Родитель
Сommit
e464c1144b

+ 0 - 68
plugins/UCPWriter/UCPWriter.py

@@ -1,68 +0,0 @@
-import zipfile
-
-from io import StringIO
-
-from UM.Resources import Resources
-from UM.Mesh.MeshWriter import MeshWriter
-from UM.Logger import Logger
-from UM.PluginRegistry import PluginRegistry
-
-MYPY = False
-try:
-    if not MYPY:
-        import xml.etree.cElementTree as ET
-except ImportError:
-    Logger.log("w", "Unable to load cElementTree, switching to slower version")
-    import xml.etree.ElementTree as ET
-
-
-class UCPWriter(MeshWriter):
-    def __init__(self):
-        super().__init__()
-        self._namespaces = {
-            "content-types": "http://schemas.openxmlformats.org/package/2006/content-types",
-            "relationships": "http://schemas.openxmlformats.org/package/2006/relationships",
-        }
-
-    def write(self, stream, nodes, mode = MeshWriter.OutputMode.BinaryMode):
-        self._archive = None  # Reset archive
-        archive = zipfile.ZipFile(stream, "w", compression=zipfile.ZIP_DEFLATED)
-
-        gcode_file = zipfile.ZipInfo("3D/model.gcode")
-        gcode_file.compress_type = zipfile.ZIP_DEFLATED
-
-        # Create content types file
-        content_types_file = zipfile.ZipInfo("[Content_Types].xml")
-        content_types_file.compress_type = zipfile.ZIP_DEFLATED
-        content_types = ET.Element("Types", xmlns=self._namespaces["content-types"])
-
-        rels_type = ET.SubElement(content_types, "Default", Extension="rels",
-                                  ContentType="application/vnd.openxmlformats-package.relationships+xml")
-        gcode_type = ET.SubElement(content_types, "Default", Extension="gcode",
-                                   ContentType="text/x-gcode")
-        image_type = ET.SubElement(content_types, "Default", Extension="png",
-                                   ContentType="image/png")
-
-        # Create _rels/.rels file
-        relations_file = zipfile.ZipInfo("_rels/.rels")
-        relations_file.compress_type = zipfile.ZIP_DEFLATED
-        relations_element = ET.Element("Relationships", xmlns=self._namespaces["relationships"])
-
-        thumbnail_relation_element = ET.SubElement(relations_element, "Relationship", Target="/Metadata/thumbnail.png", Id="rel0",
-                                               Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail")
-
-        model_relation_element = ET.SubElement(relations_element, "Relationship", Target="/3D/model.gcode",
-                                               Id="rel1",
-                                               Type="http://schemas.ultimaker.org/package/2018/relationships/gcode")
-
-        gcode_string = StringIO()
-
-        PluginRegistry.getInstance().getPluginObject("GCodeWriter").write(gcode_string, None)
-
-        archive.write(Resources.getPath(Resources.Images, "cura-icon.png"), "Metadata/thumbnail.png")
-
-        archive.writestr(gcode_file, gcode_string.getvalue())
-        archive.writestr(content_types_file, b'<?xml version="1.0" encoding="UTF-8"?> \n' + ET.tostring(content_types))
-        archive.writestr(relations_file, b'<?xml version="1.0" encoding="UTF-8"?> \n' + ET.tostring(relations_element))
-
-        archive.close()

+ 0 - 25
plugins/UCPWriter/__init__.py

@@ -1,25 +0,0 @@
-# Copyright (c) 2017 Ultimaker B.V.
-# Uranium is released under the terms of the LGPLv3 or higher.
-
-from . import UCPWriter
-
-from UM.i18n import i18nCatalog
-
-i18n_catalog = i18nCatalog("cura")
-
-def getMetaData():
-    return {
-        "mesh_writer": {
-            "output": [
-                {
-                    "mime_type": "application/x-ucp",
-                    "mode": UCPWriter.UCPWriter.OutputMode.BinaryMode,
-                    "extension": "UCP",
-                    "description": i18n_catalog.i18nc("@item:inlistbox", "UCP File (WIP)")
-                }
-            ]
-        }
-    }
-
-def register(app):
-    return { "mesh_writer": UCPWriter.UCPWriter() }

+ 0 - 8
plugins/UCPWriter/plugin.json

@@ -1,8 +0,0 @@
-{
-    "name": "UCP Writer",
-    "author": "Ultimaker B.V.",
-    "version": "1.0.0",
-    "description": "Provides support for writing UCP files.",
-    "api": 4,
-    "i18n-catalog": "cura"
-}

+ 3 - 4
plugins/UFPWriter/UFPWriter.py

@@ -1,10 +1,9 @@
 #Copyright (c) 2018 Ultimaker B.V.
 #Cura is released under the terms of the LGPLv3 or higher.
 
-from charon.VirtualFile import VirtualFile #To open UFP files.
-from charon.OpenMode import OpenMode #To indicate that we want to write to UFP files.
-from io import BytesIO, StringIO #For converting g-code to bytes.
-import os.path #To get the placeholder kitty icon.
+from Charon.VirtualFile import VirtualFile #To open UFP files.
+from Charon.OpenMode import OpenMode #To indicate that we want to write to UFP files.
+from io import StringIO #For converting g-code to bytes.
 
 from UM.Application import Application
 from UM.Logger import Logger