diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py new file mode 100644 index 0000000000..c1c78037dd --- /dev/null +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -0,0 +1,12 @@ +from UM.Workspace.WorkspaceReader import WorkspaceReader + + +## Base implementation for reading 3MF workspace files. +class ThreeMFWorkspaceReader(WorkspaceReader): + def __init__(self): + super().__init__() + + def preRead(self, file_name): + return WorkspaceReader.PreReadResult.accepted + # TODO: Find 3MFFileReader so we can load SceneNodes + # TODO: Ask user if it's okay for the scene to be cleared diff --git a/plugins/3MFReader/__init__.py b/plugins/3MFReader/__init__.py index 42b1794160..a2af30211d 100644 --- a/plugins/3MFReader/__init__.py +++ b/plugins/3MFReader/__init__.py @@ -2,10 +2,11 @@ # Cura is released under the terms of the AGPLv3 or higher. from . import ThreeMFReader - +from . import ThreeMFWorkspaceReader from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") + def getMetaData(): return { "plugin": { @@ -20,8 +21,17 @@ def getMetaData(): "extension": "3mf", "description": catalog.i18nc("@item:inlistbox", "3MF File") } + ], + "workspace_reader": + [ + { + "extension": "3mf", + "description": catalog.i18nc("@item:inlistbox", "3MF File") + } ] } + def register(app): - return { "mesh_reader": ThreeMFReader.ThreeMFReader() } + return {"mesh_reader": ThreeMFReader.ThreeMFReader(), + "workspace_reader": ThreeMFWorkspaceReader.ThreeMFWorkspaceReader()}