mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-10 00:07:51 -06:00
Merge branch 'master' into ui_rework_4_0
Conflicts: plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml - The compatibility chart being added in 3.6 which was kind of hacky. resources/qml/SidebarHeader.qml - Removed in UI rework, edited on master.
This commit is contained in:
commit
266e08fdff
30 changed files with 273 additions and 217 deletions
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from UM.PluginRegistry import PluginRegistry
|
|
||||||
from cura.API.Interface.Settings import Settings
|
from cura.API.Interface.Settings import Settings
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
@ -23,9 +22,6 @@ if TYPE_CHECKING:
|
||||||
|
|
||||||
class Interface:
|
class Interface:
|
||||||
|
|
||||||
# For now we use the same API version to be consistent.
|
|
||||||
VERSION = PluginRegistry.APIVersion
|
|
||||||
|
|
||||||
def __init__(self, application: "CuraApplication") -> None:
|
def __init__(self, application: "CuraApplication") -> None:
|
||||||
# API methods specific to the settings portion of the UI
|
# API methods specific to the settings portion of the UI
|
||||||
self.settings = Settings(application)
|
self.settings = Settings(application)
|
||||||
|
|
|
@ -4,7 +4,6 @@ from typing import Optional, TYPE_CHECKING
|
||||||
|
|
||||||
from PyQt5.QtCore import QObject, pyqtProperty
|
from PyQt5.QtCore import QObject, pyqtProperty
|
||||||
|
|
||||||
from UM.PluginRegistry import PluginRegistry
|
|
||||||
from cura.API.Backups import Backups
|
from cura.API.Backups import Backups
|
||||||
from cura.API.Interface import Interface
|
from cura.API.Interface import Interface
|
||||||
from cura.API.Account import Account
|
from cura.API.Account import Account
|
||||||
|
@ -22,7 +21,6 @@ if TYPE_CHECKING:
|
||||||
class CuraAPI(QObject):
|
class CuraAPI(QObject):
|
||||||
|
|
||||||
# For now we use the same API version to be consistent.
|
# For now we use the same API version to be consistent.
|
||||||
VERSION = PluginRegistry.APIVersion
|
|
||||||
__instance = None # type: "CuraAPI"
|
__instance = None # type: "CuraAPI"
|
||||||
_application = None # type: CuraApplication
|
_application = None # type: CuraApplication
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ except ImportError:
|
||||||
CuraVersion = "master" # [CodeStyle: Reflecting imported value]
|
CuraVersion = "master" # [CodeStyle: Reflecting imported value]
|
||||||
CuraBuildType = ""
|
CuraBuildType = ""
|
||||||
CuraDebugMode = False
|
CuraDebugMode = False
|
||||||
CuraSDKVersion = ""
|
CuraSDKVersion = "5.0.0"
|
||||||
|
|
||||||
|
|
||||||
class CuraApplication(QtApplication):
|
class CuraApplication(QtApplication):
|
||||||
|
@ -164,6 +164,7 @@ class CuraApplication(QtApplication):
|
||||||
super().__init__(name = "cura",
|
super().__init__(name = "cura",
|
||||||
app_display_name = CuraAppDisplayName,
|
app_display_name = CuraAppDisplayName,
|
||||||
version = CuraVersion,
|
version = CuraVersion,
|
||||||
|
api_version = CuraSDKVersion,
|
||||||
buildtype = CuraBuildType,
|
buildtype = CuraBuildType,
|
||||||
is_debug_mode = CuraDebugMode,
|
is_debug_mode = CuraDebugMode,
|
||||||
tray_icon_name = "cura-icon-32.png",
|
tray_icon_name = "cura-icon-32.png",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright (c) 2015 Ultimaker B.V.
|
# Copyright (c) 2018 Ultimaker B.V.
|
||||||
# Cura is released under the terms of the LGPLv3 or higher.
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
CuraAppDisplayName = "@CURA_APP_DISPLAY_NAME@"
|
CuraAppDisplayName = "@CURA_APP_DISPLAY_NAME@"
|
||||||
|
|
|
@ -11,18 +11,46 @@ Item
|
||||||
id: base
|
id: base
|
||||||
|
|
||||||
property var packageData
|
property var packageData
|
||||||
property var technicalDataSheetUrl: {
|
property var technicalDataSheetUrl:
|
||||||
|
{
|
||||||
var link = undefined
|
var link = undefined
|
||||||
if ("Technical Data Sheet" in packageData.links)
|
if ("Technical Data Sheet" in packageData.links)
|
||||||
{
|
{
|
||||||
|
// HACK: This is the way the old API (used in 3.6-beta) used to do it. For safety it's still here,
|
||||||
|
// but it can be removed over time.
|
||||||
link = packageData.links["Technical Data Sheet"]
|
link = packageData.links["Technical Data Sheet"]
|
||||||
}
|
}
|
||||||
|
else if ("technicalDataSheet" in packageData.links)
|
||||||
|
{
|
||||||
|
link = packageData.links["technicalDataSheet"]
|
||||||
|
}
|
||||||
return link
|
return link
|
||||||
}
|
}
|
||||||
|
property var safetyDataSheetUrl:
|
||||||
|
{
|
||||||
|
var sds_name = "safetyDataSheet"
|
||||||
|
return (sds_name in packageData.links) ? packageData.links[sds_name] : undefined
|
||||||
|
}
|
||||||
|
property var printingGuidelinesUrl:
|
||||||
|
{
|
||||||
|
var pg_name = "printingGuidelines"
|
||||||
|
return (pg_name in packageData.links) ? packageData.links[pg_name] : undefined
|
||||||
|
}
|
||||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||||
height: visible ? childrenRect.height : 0
|
height: visible ? childrenRect.height : 0
|
||||||
visible: packageData.type == "material" && packageData.has_configs
|
|
||||||
|
visible: packageData.type == "material" &&
|
||||||
|
(packageData.has_configs || technicalDataSheetUrl !== undefined ||
|
||||||
|
safetyDataSheetUrl !== undefined || printingGuidelinesUrl !== undefined)
|
||||||
|
|
||||||
|
Item
|
||||||
|
{
|
||||||
|
id: combatibilityItem
|
||||||
|
visible: packageData.has_configs
|
||||||
|
width: parent.width
|
||||||
|
// This is a bit of a hack, but the whole QML is pretty messy right now. This needs a big overhaul.
|
||||||
|
height: visible ? heading.height + table.height: 0
|
||||||
|
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
id: heading
|
id: heading
|
||||||
|
@ -33,6 +61,7 @@ Item
|
||||||
color: UM.Theme.getColor("text_medium")
|
color: UM.Theme.getColor("text_medium")
|
||||||
font: UM.Theme.getFont("medium")
|
font: UM.Theme.getFont("medium")
|
||||||
}
|
}
|
||||||
|
|
||||||
TableView
|
TableView
|
||||||
{
|
{
|
||||||
id: table
|
id: table
|
||||||
|
@ -54,7 +83,7 @@ Item
|
||||||
model: packageData.supported_configs
|
model: packageData.supported_configs
|
||||||
headerDelegate: Rectangle
|
headerDelegate: Rectangle
|
||||||
{
|
{
|
||||||
color: UM.Theme.getColor("main_background")
|
color: UM.Theme.getColor("sidebar")
|
||||||
height: UM.Theme.getSize("toolbox_chart_row").height
|
height: UM.Theme.getSize("toolbox_chart_row").height
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
|
@ -143,25 +172,47 @@ Item
|
||||||
width: Math.floor(table.width * 0.1)
|
width: Math.floor(table.width * 0.1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
id: technical_data_sheet
|
id: data_sheet_links
|
||||||
anchors.top: table.bottom
|
anchors.top: combatibilityItem.bottom
|
||||||
anchors.topMargin: UM.Theme.getSize("default_margin").height / 2
|
anchors.topMargin: UM.Theme.getSize("default_margin").height / 2
|
||||||
visible: base.technicalDataSheetUrl !== undefined
|
visible: base.technicalDataSheetUrl !== undefined ||
|
||||||
|
base.safetyDataSheetUrl !== undefined || base.printingGuidelinesUrl !== undefined
|
||||||
|
height: visible ? contentHeight : 0
|
||||||
text:
|
text:
|
||||||
{
|
{
|
||||||
|
var result = ""
|
||||||
if (base.technicalDataSheetUrl !== undefined)
|
if (base.technicalDataSheetUrl !== undefined)
|
||||||
{
|
{
|
||||||
return "<a href='%1'>%2</a>".arg(base.technicalDataSheetUrl).arg("Technical Data Sheet")
|
var tds_name = catalog.i18nc("@action:label", "Technical Data Sheet")
|
||||||
|
result += "<a href='%1'>%2</a>".arg(base.technicalDataSheetUrl).arg(tds_name)
|
||||||
}
|
}
|
||||||
return ""
|
if (base.safetyDataSheetUrl !== undefined)
|
||||||
|
{
|
||||||
|
if (result.length > 0)
|
||||||
|
{
|
||||||
|
result += "<br/>"
|
||||||
|
}
|
||||||
|
var sds_name = catalog.i18nc("@action:label", "Safety Data Sheet")
|
||||||
|
result += "<a href='%1'>%2</a>".arg(base.safetyDataSheetUrl).arg(sds_name)
|
||||||
|
}
|
||||||
|
if (base.printingGuidelinesUrl !== undefined)
|
||||||
|
{
|
||||||
|
if (result.length > 0)
|
||||||
|
{
|
||||||
|
result += "<br/>"
|
||||||
|
}
|
||||||
|
var pg_name = catalog.i18nc("@action:label", "Printing Guidelines")
|
||||||
|
result += "<a href='%1'>%2</a>".arg(base.printingGuidelinesUrl).arg(pg_name)
|
||||||
|
}
|
||||||
|
return result
|
||||||
}
|
}
|
||||||
font: UM.Theme.getFont("very_small")
|
font: UM.Theme.getFont("very_small")
|
||||||
color: UM.Theme.getColor("text")
|
color: UM.Theme.getColor("text")
|
||||||
linkColor: UM.Theme.getColor("text_link")
|
linkColor: UM.Theme.getColor("text_link")
|
||||||
onLinkActivated: Qt.openUrlExternally(link)
|
onLinkActivated: Qt.openUrlExternally(link)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ Item
|
||||||
anchors.top: packageName.bottom
|
anchors.top: packageName.bottom
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: model.description
|
text: model.description
|
||||||
maximumLineCount: 3
|
maximumLineCount: 6
|
||||||
elide: Text.ElideRight
|
elide: Text.ElideRight
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
color: UM.Theme.getColor("text")
|
color: UM.Theme.getColor("text")
|
||||||
|
|
|
@ -12,7 +12,7 @@ from UM.Qt.ListModel import ListModel
|
||||||
from .ConfigsModel import ConfigsModel
|
from .ConfigsModel import ConfigsModel
|
||||||
|
|
||||||
|
|
||||||
## Model that holds cura packages. By setting the filter property the instances held by this model can be changed.
|
## Model that holds Cura packages. By setting the filter property the instances held by this model can be changed.
|
||||||
class PackagesModel(ListModel):
|
class PackagesModel(ListModel):
|
||||||
def __init__(self, parent = None):
|
def __init__(self, parent = None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
|
@ -70,7 +70,7 @@ class PackagesModel(ListModel):
|
||||||
|
|
||||||
# Links is a list of dictionaries with "title" and "url". Convert this list into a dict so it's easier
|
# Links is a list of dictionaries with "title" and "url". Convert this list into a dict so it's easier
|
||||||
# to process.
|
# to process.
|
||||||
link_list = package['data']['links'] if 'links' in package['data'] else []
|
link_list = package["data"]["links"] if "links" in package["data"] else []
|
||||||
links_dict = {d["title"]: d["url"] for d in link_list}
|
links_dict = {d["title"]: d["url"] for d in link_list}
|
||||||
|
|
||||||
if "author_id" not in package["author"] or "display_name" not in package["author"]:
|
if "author_id" not in package["author"] or "display_name" not in package["author"]:
|
||||||
|
|
|
@ -172,18 +172,18 @@ class Toolbox(QObject, Extension):
|
||||||
self._cloud_api_version = self._getCloudAPIVersion()
|
self._cloud_api_version = self._getCloudAPIVersion()
|
||||||
self._cloud_api_root = self._getCloudAPIRoot()
|
self._cloud_api_root = self._getCloudAPIRoot()
|
||||||
self._api_url = "{cloud_api_root}/cura-packages/v{cloud_api_version}/cura/v{sdk_version}".format(
|
self._api_url = "{cloud_api_root}/cura-packages/v{cloud_api_version}/cura/v{sdk_version}".format(
|
||||||
cloud_api_root=self._cloud_api_root,
|
cloud_api_root = self._cloud_api_root,
|
||||||
cloud_api_version=self._cloud_api_version,
|
cloud_api_version = self._cloud_api_version,
|
||||||
sdk_version=self._sdk_version
|
sdk_version = self._sdk_version
|
||||||
)
|
)
|
||||||
self._request_urls = {
|
self._request_urls = {
|
||||||
"authors": QUrl("{base_url}/authors".format(base_url=self._api_url)),
|
"authors": QUrl("{base_url}/authors".format(base_url = self._api_url)),
|
||||||
"packages": QUrl("{base_url}/packages".format(base_url=self._api_url)),
|
"packages": QUrl("{base_url}/packages".format(base_url = self._api_url)),
|
||||||
"plugins_showcase": QUrl("{base_url}/showcase".format(base_url=self._api_url)),
|
"plugins_showcase": QUrl("{base_url}/showcase".format(base_url = self._api_url)),
|
||||||
"plugins_available": QUrl("{base_url}/packages?package_type=plugin".format(base_url=self._api_url)),
|
"plugins_available": QUrl("{base_url}/packages?package_type=plugin".format(base_url = self._api_url)),
|
||||||
"materials_showcase": QUrl("{base_url}/showcase".format(base_url=self._api_url)),
|
"materials_showcase": QUrl("{base_url}/showcase".format(base_url = self._api_url)),
|
||||||
"materials_available": QUrl("{base_url}/packages?package_type=material".format(base_url=self._api_url)),
|
"materials_available": QUrl("{base_url}/packages?package_type=material".format(base_url = self._api_url)),
|
||||||
"materials_generic": QUrl("{base_url}/packages?package_type=material&tags=generic".format(base_url=self._api_url))
|
"materials_generic": QUrl("{base_url}/packages?package_type=material&tags=generic".format(base_url = self._api_url))
|
||||||
}
|
}
|
||||||
|
|
||||||
# Get the API root for the packages API depending on Cura version settings.
|
# Get the API root for the packages API depending on Cura version settings.
|
||||||
|
@ -209,11 +209,11 @@ class Toolbox(QObject, Extension):
|
||||||
# Get the packages version depending on Cura version settings.
|
# Get the packages version depending on Cura version settings.
|
||||||
def _getSDKVersion(self) -> Union[int, str]:
|
def _getSDKVersion(self) -> Union[int, str]:
|
||||||
if not hasattr(cura, "CuraVersion"):
|
if not hasattr(cura, "CuraVersion"):
|
||||||
return self._plugin_registry.APIVersion
|
return self._application.getAPIVersion().getMajor()
|
||||||
if not hasattr(cura.CuraVersion, "CuraSDKVersion"): # type: ignore
|
if not hasattr(cura.CuraVersion, "CuraSDKVersion"): # type: ignore
|
||||||
return self._plugin_registry.APIVersion
|
return self._application.getAPIVersion().getMajor()
|
||||||
if not cura.CuraVersion.CuraSDKVersion: # type: ignore
|
if not cura.CuraVersion.CuraSDKVersion: # type: ignore
|
||||||
return self._plugin_registry.APIVersion
|
return self._application.getAPIVersion().getMajor()
|
||||||
return cura.CuraVersion.CuraSDKVersion # type: ignore
|
return cura.CuraVersion.CuraSDKVersion # type: ignore
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
|
@ -299,7 +299,7 @@ class Toolbox(QObject, Extension):
|
||||||
for plugin_id in old_plugin_ids:
|
for plugin_id in old_plugin_ids:
|
||||||
# Neither the installed packages nor the packages that are scheduled to remove are old plugins
|
# Neither the installed packages nor the packages that are scheduled to remove are old plugins
|
||||||
if plugin_id not in installed_package_ids and plugin_id not in scheduled_to_remove_package_ids:
|
if plugin_id not in installed_package_ids and plugin_id not in scheduled_to_remove_package_ids:
|
||||||
Logger.log('i', 'Found a plugin that was installed with the old plugin browser: %s', plugin_id)
|
Logger.log("i", "Found a plugin that was installed with the old plugin browser: %s", plugin_id)
|
||||||
|
|
||||||
old_metadata = self._plugin_registry.getMetaData(plugin_id)
|
old_metadata = self._plugin_registry.getMetaData(plugin_id)
|
||||||
new_metadata = self._convertPluginMetadata(old_metadata)
|
new_metadata = self._convertPluginMetadata(old_metadata)
|
||||||
|
|
|
@ -11,6 +11,7 @@ def getMetaData():
|
||||||
# From To Upgrade function
|
# From To Upgrade function
|
||||||
("definition_changes", 3000004): ("definition_changes", 4000004, upgrade.upgradeInstanceContainer),
|
("definition_changes", 3000004): ("definition_changes", 4000004, upgrade.upgradeInstanceContainer),
|
||||||
("quality_changes", 3000004): ("quality_changes", 4000004, upgrade.upgradeInstanceContainer),
|
("quality_changes", 3000004): ("quality_changes", 4000004, upgrade.upgradeInstanceContainer),
|
||||||
|
("quality", 3000004): ("quality", 4000004, upgrade.upgradeInstanceContainer),
|
||||||
("user", 3000004): ("user", 4000004, upgrade.upgradeInstanceContainer),
|
("user", 3000004): ("user", 4000004, upgrade.upgradeInstanceContainer),
|
||||||
},
|
},
|
||||||
"sources": {
|
"sources": {
|
||||||
|
@ -22,6 +23,10 @@ def getMetaData():
|
||||||
"get_version": upgrade.getCfgVersion,
|
"get_version": upgrade.getCfgVersion,
|
||||||
"location": {"./quality_changes"}
|
"location": {"./quality_changes"}
|
||||||
},
|
},
|
||||||
|
"quality": {
|
||||||
|
"get_version": upgrade.getCfgVersion,
|
||||||
|
"location": {"./quality"}
|
||||||
|
},
|
||||||
"user": {
|
"user": {
|
||||||
"get_version": upgrade.getCfgVersion,
|
"get_version": upgrade.getCfgVersion,
|
||||||
"location": {"./user"}
|
"location": {"./user"}
|
||||||
|
|
|
@ -13,6 +13,7 @@ def getMetaData():
|
||||||
|
|
||||||
("definition_changes", 4000004): ("definition_changes", 4000005, upgrade.upgradeInstanceContainer),
|
("definition_changes", 4000004): ("definition_changes", 4000005, upgrade.upgradeInstanceContainer),
|
||||||
("quality_changes", 4000004): ("quality_changes", 4000005, upgrade.upgradeInstanceContainer),
|
("quality_changes", 4000004): ("quality_changes", 4000005, upgrade.upgradeInstanceContainer),
|
||||||
|
("quality", 4000004): ("quality", 4000005, upgrade.upgradeInstanceContainer),
|
||||||
("user", 4000004): ("user", 4000005, upgrade.upgradeInstanceContainer),
|
("user", 4000004): ("user", 4000005, upgrade.upgradeInstanceContainer),
|
||||||
|
|
||||||
("machine_stack", 4000004): ("machine_stack", 4000005, upgrade.upgradeStack),
|
("machine_stack", 4000004): ("machine_stack", 4000005, upgrade.upgradeStack),
|
||||||
|
@ -39,6 +40,10 @@ def getMetaData():
|
||||||
"get_version": upgrade.getCfgVersion,
|
"get_version": upgrade.getCfgVersion,
|
||||||
"location": {"./quality_changes"}
|
"location": {"./quality_changes"}
|
||||||
},
|
},
|
||||||
|
"quality": {
|
||||||
|
"get_version": upgrade.getCfgVersion,
|
||||||
|
"location": {"./quality"}
|
||||||
|
},
|
||||||
"user": {
|
"user": {
|
||||||
"get_version": upgrade.getCfgVersion,
|
"get_version": upgrade.getCfgVersion,
|
||||||
"location": {"./user"}
|
"location": {"./user"}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -77,7 +77,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -94,7 +94,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -111,7 +111,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -128,7 +128,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -145,7 +145,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -162,7 +162,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -179,7 +179,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -213,7 +213,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -230,7 +230,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -247,7 +247,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -281,7 +281,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -298,7 +298,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -315,7 +315,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -332,7 +332,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -349,7 +349,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -366,7 +366,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -383,7 +383,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -400,7 +400,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -417,7 +417,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -434,7 +434,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -451,7 +451,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -468,7 +468,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -485,7 +485,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -502,7 +502,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -519,7 +519,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -536,7 +536,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -553,7 +553,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -570,7 +570,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -587,7 +587,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -604,7 +604,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -621,7 +621,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -638,7 +638,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -655,7 +655,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -672,7 +672,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -689,7 +689,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -723,7 +723,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -740,7 +740,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "plugins@ultimaker.com",
|
"email": "plugins@ultimaker.com",
|
||||||
"website": "https://ultimaker.com"
|
"website": "https://ultimaker.com"
|
||||||
|
@ -1301,7 +1301,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com/products/materials/abs",
|
"website": "https://ultimaker.com/products/materials/abs",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "materials@ultimaker.com",
|
"email": "materials@ultimaker.com",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
|
@ -1320,7 +1320,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com/products/materials/breakaway",
|
"website": "https://ultimaker.com/products/materials/breakaway",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "materials@ultimaker.com",
|
"email": "materials@ultimaker.com",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
|
@ -1339,7 +1339,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com/products/materials/abs",
|
"website": "https://ultimaker.com/products/materials/abs",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "materials@ultimaker.com",
|
"email": "materials@ultimaker.com",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
|
@ -1358,7 +1358,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com/products/materials/cpe",
|
"website": "https://ultimaker.com/products/materials/cpe",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "materials@ultimaker.com",
|
"email": "materials@ultimaker.com",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
|
@ -1377,7 +1377,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com/products/materials/abs",
|
"website": "https://ultimaker.com/products/materials/abs",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "materials@ultimaker.com",
|
"email": "materials@ultimaker.com",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
|
@ -1396,7 +1396,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com/products/materials/pc",
|
"website": "https://ultimaker.com/products/materials/pc",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "materials@ultimaker.com",
|
"email": "materials@ultimaker.com",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
|
@ -1415,7 +1415,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com/products/materials/abs",
|
"website": "https://ultimaker.com/products/materials/abs",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "materials@ultimaker.com",
|
"email": "materials@ultimaker.com",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
|
@ -1434,7 +1434,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com/products/materials/pp",
|
"website": "https://ultimaker.com/products/materials/pp",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "materials@ultimaker.com",
|
"email": "materials@ultimaker.com",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
|
@ -1453,7 +1453,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com/products/materials/abs",
|
"website": "https://ultimaker.com/products/materials/abs",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "materials@ultimaker.com",
|
"email": "materials@ultimaker.com",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
|
@ -1472,7 +1472,7 @@
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com/products/materials/tpu-95a",
|
"website": "https://ultimaker.com/products/materials/tpu-95a",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "materials@ultimaker.com",
|
"email": "materials@ultimaker.com",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
|
@ -1487,11 +1487,11 @@
|
||||||
"package_type": "material",
|
"package_type": "material",
|
||||||
"display_name": "Ultimaker Tough PLA",
|
"display_name": "Ultimaker Tough PLA",
|
||||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.2",
|
||||||
"sdk_version": 5,
|
"sdk_version": 5,
|
||||||
"website": "https://ultimaker.com/products/materials/tough-pla",
|
"website": "https://ultimaker.com/products/materials/tough-pla",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Ultimaker",
|
"author_id": "UltimakerPackages",
|
||||||
"display_name": "Ultimaker B.V.",
|
"display_name": "Ultimaker B.V.",
|
||||||
"email": "materials@ultimaker.com",
|
"email": "materials@ultimaker.com",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
|
|
|
@ -171,7 +171,7 @@ UM.PreferencesPage
|
||||||
append({ text: "日本語", code: "ja_JP" })
|
append({ text: "日本語", code: "ja_JP" })
|
||||||
append({ text: "한국어", code: "ko_KR" })
|
append({ text: "한국어", code: "ko_KR" })
|
||||||
append({ text: "Nederlands", code: "nl_NL" })
|
append({ text: "Nederlands", code: "nl_NL" })
|
||||||
append({ text: "Polski", code: "pl_PL" })
|
//Polish is disabled for being incomplete: append({ text: "Polski", code: "pl_PL" })
|
||||||
append({ text: "Português do Brasil", code: "pt_BR" })
|
append({ text: "Português do Brasil", code: "pt_BR" })
|
||||||
append({ text: "Português", code: "pt_PT" })
|
append({ text: "Português", code: "pt_PT" })
|
||||||
append({ text: "Русский", code: "ru_RU" })
|
append({ text: "Русский", code: "ru_RU" })
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = fast
|
quality_type = fast
|
||||||
weight = -1
|
weight = -1
|
||||||
material = fabtotum_abs
|
material = generic_abs
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
adhesion_type = raft
|
adhesion_type = raft
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = high
|
quality_type = high
|
||||||
weight = 1
|
weight = 1
|
||||||
material = fabtotum_abs
|
material = generic_abs
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
adhesion_type = raft
|
adhesion_type = raft
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = normal
|
quality_type = normal
|
||||||
weight = 0
|
weight = 0
|
||||||
material = fabtotum_abs
|
material = generic_abs
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
adhesion_type = raft
|
adhesion_type = raft
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = fast
|
quality_type = fast
|
||||||
weight = -1
|
weight = -1
|
||||||
material = fabtotum_nylon
|
material = generic_nylon
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
adhesion_type = raft
|
adhesion_type = raft
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = high
|
quality_type = high
|
||||||
weight = 1
|
weight = 1
|
||||||
material = fabtotum_nylon
|
material = generic_nylon
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
adhesion_type = raft
|
adhesion_type = raft
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = normal
|
quality_type = normal
|
||||||
weight = 0
|
weight = 0
|
||||||
material = fabtotum_nylon
|
material = generic_nylon
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
adhesion_type = raft
|
adhesion_type = raft
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = fast
|
quality_type = fast
|
||||||
weight = -1
|
weight = -1
|
||||||
material = fabtotum_pla
|
material = generic_pla
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
adhesion_type = skirt
|
adhesion_type = skirt
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = high
|
quality_type = high
|
||||||
weight = 1
|
weight = 1
|
||||||
material = fabtotum_pla
|
material = generic_pla
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
adhesion_type = skirt
|
adhesion_type = skirt
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = normal
|
quality_type = normal
|
||||||
weight = 0
|
weight = 0
|
||||||
material = fabtotum_pla
|
material = generic_pla
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
adhesion_type = skirt
|
adhesion_type = skirt
|
||||||
|
|
|
@ -6,7 +6,7 @@ name = Fast Quality
|
||||||
[metadata]
|
[metadata]
|
||||||
type = quality
|
type = quality
|
||||||
setting_version = 5
|
setting_version = 5
|
||||||
material = fabtotum_tpu
|
material = generic_tpu
|
||||||
quality_type = fast
|
quality_type = fast
|
||||||
weight = -1
|
weight = -1
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ name = High Quality
|
||||||
[metadata]
|
[metadata]
|
||||||
type = quality
|
type = quality
|
||||||
setting_version = 5
|
setting_version = 5
|
||||||
material = fabtotum_tpu
|
material = generic_tpu
|
||||||
quality_type = high
|
quality_type = high
|
||||||
weight = 1
|
weight = 1
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ name = Normal Quality
|
||||||
[metadata]
|
[metadata]
|
||||||
type = quality
|
type = quality
|
||||||
setting_version = 5
|
setting_version = 5
|
||||||
material = fabtotum_TPU
|
material = generic_tpu
|
||||||
quality_type = normal
|
quality_type = normal
|
||||||
weight = 0
|
weight = 0
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = fast
|
quality_type = fast
|
||||||
weight = 1
|
weight = 1
|
||||||
material = zyyx_pro_flex
|
material = generic_tpu
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
layer_height = 0.3
|
layer_height = 0.3
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = fine
|
quality_type = fine
|
||||||
weight = 3
|
weight = 3
|
||||||
material = zyyx_pro_flex
|
material = generic_tpu
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
layer_height = 0.12
|
layer_height = 0.12
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = normal
|
quality_type = normal
|
||||||
weight = 2
|
weight = 2
|
||||||
material = zyyx_pro_flex
|
material = generic_tpu
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
layer_height = 0.2
|
layer_height = 0.2
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = fast
|
quality_type = fast
|
||||||
weight = 1
|
weight = 1
|
||||||
material = zyyx_pro_pla
|
material = generic_pla
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
layer_height = 0.3
|
layer_height = 0.3
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = fine
|
quality_type = fine
|
||||||
weight = 3
|
weight = 3
|
||||||
material = zyyx_pro_pla
|
material = generic_pla
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
layer_height = 0.1
|
layer_height = 0.1
|
||||||
|
|
|
@ -8,7 +8,7 @@ setting_version = 5
|
||||||
type = quality
|
type = quality
|
||||||
quality_type = normal
|
quality_type = normal
|
||||||
weight = 2
|
weight = 2
|
||||||
material = zyyx_pro_pla
|
material = generic_pla
|
||||||
|
|
||||||
[values]
|
[values]
|
||||||
layer_height = 0.2
|
layer_height = 0.2
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue