From 412bcc9b901b7cc66d5b1aa04d0af3461a5ce56b Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Fri, 8 Mar 2019 21:57:07 +0100 Subject: [PATCH] Add the skeleton of the plugin Contributes to CURA-5155. --- plugins/GCodeReader/GCodeReader.py | 3 --- plugins/UFPReader/UFPReader.py | 24 ++++++++++++++++++++++++ plugins/UFPReader/__init__.py | 26 ++++++++++++++++++++++++++ plugins/UFPReader/plugin.json | 8 ++++++++ resources/bundled_packages/cura.json | 17 +++++++++++++++++ 5 files changed, 75 insertions(+), 3 deletions(-) create mode 100644 plugins/UFPReader/UFPReader.py create mode 100644 plugins/UFPReader/__init__.py create mode 100644 plugins/UFPReader/plugin.json diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index 1bc22a3e62..b9e948dfea 100755 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -12,9 +12,6 @@ catalog = i18nCatalog("cura") from . import MarlinFlavorParser, RepRapFlavorParser - - - # Class for loading and parsing G-code files class GCodeReader(MeshReader): _flavor_default = "Marlin" diff --git a/plugins/UFPReader/UFPReader.py b/plugins/UFPReader/UFPReader.py new file mode 100644 index 0000000000..829ecc76e0 --- /dev/null +++ b/plugins/UFPReader/UFPReader.py @@ -0,0 +1,24 @@ +# Copyright (c) 2019 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from UM.Mesh.MeshReader import MeshReader +from UM.MimeTypeDatabase import MimeType, MimeTypeDatabase +from cura.Scene.CuraSceneNode import CuraSceneNode + + +class UFPReader(MeshReader): + + def __init__(self) -> None: + super().__init__() + + MimeTypeDatabase.addMimeType( + MimeType( + name = "application/x-ufp", + comment = "Cura UFP File", + suffixes = ["ufp"] + ) + ) + self._supported_extensions = [".ufp"] + + def _read(self, file_name: str) -> CuraSceneNode: + print("Reading", file_name) \ No newline at end of file diff --git a/plugins/UFPReader/__init__.py b/plugins/UFPReader/__init__.py new file mode 100644 index 0000000000..8f405d4f66 --- /dev/null +++ b/plugins/UFPReader/__init__.py @@ -0,0 +1,26 @@ +#Copyright (c) 2019 Ultimaker B.V. +#Cura is released under the terms of the LGPLv3 or higher. + +from UM.i18n import i18nCatalog + +from . import UFPReader + +i18n_catalog = i18nCatalog("cura") + + +def getMetaData(): + return { + "mesh_reader": [ + { + "mime_type": "application/x-ufp", + "extension": "ufp", + "description": i18n_catalog.i18nc("@item:inlistbox", "Ultimaker Format Package") + } + ] + } + + +def register(app): + app.addNonSliceableExtension(".ufp") + return {"mesh_reader": UFPReader.UFPReader()} + diff --git a/plugins/UFPReader/plugin.json b/plugins/UFPReader/plugin.json new file mode 100644 index 0000000000..b56b555b36 --- /dev/null +++ b/plugins/UFPReader/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "UFP Reader", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Provides support for reading Ultimaker Format Packages.", + "supported_sdk_versions": ["6.0.0"], + "i18n-catalog": "cura" +} \ No newline at end of file diff --git a/resources/bundled_packages/cura.json b/resources/bundled_packages/cura.json index 9e126ee028..8d23ef6626 100644 --- a/resources/bundled_packages/cura.json +++ b/resources/bundled_packages/cura.json @@ -492,6 +492,23 @@ } } }, + "UFPReader": { + "package_info": { + "package_id": "UFPReader", + "package_type": "plugin", + "display_name": "UFP Reader", + "description": "Provides support for reading Ultimaker Format Packages.", + "package_version": "1.0.0", + "sdk_version": "6.0", + "website": "https://ultimaker.com", + "author": { + "author_id": "UltimakerPackages", + "display_name": "Ultimaker B.V.", + "email": "plugins@ultimaker.com", + "website": "https://ultimaker.com" + } + } + }, "UFPWriter": { "package_info": { "package_id": "UFPWriter",