|
@@ -1,30 +1,39 @@
|
|
|
# Copyright (c) 2015 Ultimaker B.V.
|
|
|
# Uranium is released under the terms of the AGPLv3 or higher.
|
|
|
+import sys
|
|
|
|
|
|
-from UM.i18n import i18nCatalog
|
|
|
+from UM.Logger import Logger
|
|
|
+try:
|
|
|
+ from . import ThreeMFWriter
|
|
|
+except ImportError:
|
|
|
+ Logger.log("w", "Could not import ThreeMFWriter; libSavitar may be missing")
|
|
|
from . import ThreeMFWorkspaceWriter
|
|
|
-from . import ThreeMFWriter
|
|
|
+
|
|
|
+from UM.i18n import i18nCatalog
|
|
|
|
|
|
i18n_catalog = i18nCatalog("uranium")
|
|
|
|
|
|
def getMetaData():
|
|
|
- return {
|
|
|
+ metaData = {
|
|
|
"plugin": {
|
|
|
"name": i18n_catalog.i18nc("@label", "3MF Writer"),
|
|
|
"author": "Ultimaker",
|
|
|
"version": "1.0",
|
|
|
"description": i18n_catalog.i18nc("@info:whatsthis", "Provides support for writing 3MF files."),
|
|
|
"api": 3
|
|
|
- },
|
|
|
- "mesh_writer": {
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if "ThreeMFWriter" in sys.modules:
|
|
|
+ metaData["mesh_writer"] = {
|
|
|
"output": [{
|
|
|
"extension": "3mf",
|
|
|
"description": i18n_catalog.i18nc("@item:inlistbox", "3MF file"),
|
|
|
"mime_type": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml",
|
|
|
"mode": ThreeMFWriter.ThreeMFWriter.OutputMode.BinaryMode
|
|
|
}]
|
|
|
- },
|
|
|
- "workspace_writer": {
|
|
|
+ }
|
|
|
+ metaData["workspace_writer"] = {
|
|
|
"output": [{
|
|
|
"extension": "curaproject.3mf",
|
|
|
"description": i18n_catalog.i18nc("@item:inlistbox", "Cura Project 3MF file"),
|
|
@@ -32,7 +41,12 @@ def getMetaData():
|
|
|
"mode": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter.OutputMode.BinaryMode
|
|
|
}]
|
|
|
}
|
|
|
- }
|
|
|
+
|
|
|
+ return metaData
|
|
|
|
|
|
def register(app):
|
|
|
- return {"mesh_writer": ThreeMFWriter.ThreeMFWriter(), "workspace_writer": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter()}
|
|
|
+ if "ThreeMFWriter" in sys.modules:
|
|
|
+ return {"mesh_writer": ThreeMFWriter.ThreeMFWriter(),
|
|
|
+ "workspace_writer": ThreeMFWorkspaceWriter.ThreeMFWorkspaceWriter()}
|
|
|
+ else:
|
|
|
+ return {}
|