mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Merge branch 'master' into merge_main_20211019
This commit is contained in:
commit
86046a32b3
274 changed files with 8944 additions and 602 deletions
2
.github/ISSUE_TEMPLATE/bugreport.yaml
vendored
2
.github/ISSUE_TEMPLATE/bugreport.yaml
vendored
|
@ -64,7 +64,7 @@ body:
|
||||||
You can find your log file here:
|
You can find your log file here:
|
||||||
Windows: `%APPDATA%\cura\<Cura version>\cura.log` or usually `C:\Users\\<your username>\AppData\Roaming\cura\<Cura version>\cura.log`
|
Windows: `%APPDATA%\cura\<Cura version>\cura.log` or usually `C:\Users\\<your username>\AppData\Roaming\cura\<Cura version>\cura.log`
|
||||||
MacOS: `$USER/Library/Application Support/cura/<Cura version>/cura.log`
|
MacOS: `$USER/Library/Application Support/cura/<Cura version>/cura.log`
|
||||||
Ubuntu/Linus: `$USER/.local/share/cura/<Cura version>/cura.log`
|
Ubuntu/Linux: `$USER/.local/share/cura/<Cura version>/cura.log`
|
||||||
|
|
||||||
If the Cura user interface still starts, you can also reach this directory from the application menu in Help -> Show settings folder
|
If the Cura user interface still starts, you can also reach this directory from the application menu in Help -> Show settings folder
|
||||||
- type: checkboxes
|
- type: checkboxes
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Copyright (c) 2018 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.
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Optional, Dict, TYPE_CHECKING, Callable
|
from typing import Any, Optional, Dict, TYPE_CHECKING, Callable
|
||||||
|
|
||||||
from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, pyqtProperty, QTimer, Q_ENUMS
|
from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, pyqtProperty, QTimer, Q_ENUMS
|
||||||
|
|
||||||
|
@ -46,6 +46,9 @@ class Account(QObject):
|
||||||
loginStateChanged = pyqtSignal(bool)
|
loginStateChanged = pyqtSignal(bool)
|
||||||
"""Signal emitted when user logged in or out"""
|
"""Signal emitted when user logged in or out"""
|
||||||
|
|
||||||
|
additionalRightsChanged = pyqtSignal("QVariantMap")
|
||||||
|
"""Signal emitted when a users additional rights change"""
|
||||||
|
|
||||||
accessTokenChanged = pyqtSignal()
|
accessTokenChanged = pyqtSignal()
|
||||||
syncRequested = pyqtSignal()
|
syncRequested = pyqtSignal()
|
||||||
"""Sync services may connect to this signal to receive sync triggers.
|
"""Sync services may connect to this signal to receive sync triggers.
|
||||||
|
@ -70,6 +73,7 @@ class Account(QObject):
|
||||||
|
|
||||||
self._error_message = None # type: Optional[Message]
|
self._error_message = None # type: Optional[Message]
|
||||||
self._logged_in = False
|
self._logged_in = False
|
||||||
|
self._additional_rights: Dict[str, Any] = {}
|
||||||
self._sync_state = SyncState.IDLE
|
self._sync_state = SyncState.IDLE
|
||||||
self._manual_sync_enabled = False
|
self._manual_sync_enabled = False
|
||||||
self._update_packages_enabled = False
|
self._update_packages_enabled = False
|
||||||
|
@ -301,3 +305,14 @@ class Account(QObject):
|
||||||
return # Nothing to do, user isn't logged in.
|
return # Nothing to do, user isn't logged in.
|
||||||
|
|
||||||
self._authorization_service.deleteAuthData()
|
self._authorization_service.deleteAuthData()
|
||||||
|
|
||||||
|
def updateAdditionalRight(self, **kwargs) -> None:
|
||||||
|
"""Update the additional rights of the account.
|
||||||
|
The argument(s) are the rights that need to be set"""
|
||||||
|
self._additional_rights.update(kwargs)
|
||||||
|
self.additionalRightsChanged.emit(self._additional_rights)
|
||||||
|
|
||||||
|
@pyqtProperty("QVariantMap", notify = additionalRightsChanged)
|
||||||
|
def additionalRights(self) -> Dict[str, Any]:
|
||||||
|
"""A dictionary which can be queried for additional account rights."""
|
||||||
|
return self._additional_rights
|
||||||
|
|
|
@ -13,7 +13,7 @@ DEFAULT_CURA_DEBUG_MODE = False
|
||||||
# Each release has a fixed SDK version coupled with it. It doesn't make sense to make it configurable because, for
|
# Each release has a fixed SDK version coupled with it. It doesn't make sense to make it configurable because, for
|
||||||
# example Cura 3.2 with SDK version 6.1 will not work. So the SDK version is hard-coded here and left out of the
|
# example Cura 3.2 with SDK version 6.1 will not work. So the SDK version is hard-coded here and left out of the
|
||||||
# CuraVersion.py.in template.
|
# CuraVersion.py.in template.
|
||||||
CuraSDKVersion = "7.7.0"
|
CuraSDKVersion = "7.8.0"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from cura.CuraVersion import CuraAppName # type: ignore
|
from cura.CuraVersion import CuraAppName # type: ignore
|
||||||
|
|
|
@ -110,18 +110,11 @@ def findNodePlacement(nodes_to_arrange: List["SceneNode"], build_volume: "BuildV
|
||||||
return found_solution_for_all, node_items
|
return found_solution_for_all, node_items
|
||||||
|
|
||||||
|
|
||||||
def arrange(nodes_to_arrange: List["SceneNode"], build_volume: "BuildVolume", fixed_nodes: Optional[List["SceneNode"]] = None, factor = 10000, add_new_nodes_in_scene: bool = False) -> bool:
|
def createGroupOperationForArrange(nodes_to_arrange: List["SceneNode"],
|
||||||
"""
|
build_volume: "BuildVolume",
|
||||||
Find placement for a set of scene nodes, and move them by using a single grouped operation.
|
fixed_nodes: Optional[List["SceneNode"]] = None,
|
||||||
:param nodes_to_arrange: The list of nodes that need to be moved.
|
factor = 10000,
|
||||||
:param build_volume: The build volume that we want to place the nodes in. It gets size & disallowed areas from this.
|
add_new_nodes_in_scene: bool = False) -> Tuple[GroupedOperation, int]:
|
||||||
:param fixed_nodes: List of nods that should not be moved, but should be used when deciding where the others nodes
|
|
||||||
are placed.
|
|
||||||
:param factor: The library that we use is int based. This factor defines how accuracte we want it to be.
|
|
||||||
:param add_new_nodes_in_scene: Whether to create new scene nodes before applying the transformations and rotations
|
|
||||||
|
|
||||||
:return: found_solution_for_all: Whether the algorithm found a place on the buildplate for all the objects
|
|
||||||
"""
|
|
||||||
scene_root = Application.getInstance().getController().getScene().getRoot()
|
scene_root = Application.getInstance().getController().getScene().getRoot()
|
||||||
found_solution_for_all, node_items = findNodePlacement(nodes_to_arrange, build_volume, fixed_nodes, factor)
|
found_solution_for_all, node_items = findNodePlacement(nodes_to_arrange, build_volume, fixed_nodes, factor)
|
||||||
|
|
||||||
|
@ -143,6 +136,27 @@ def arrange(nodes_to_arrange: List["SceneNode"], build_volume: "BuildVolume", fi
|
||||||
grouped_operation.addOperation(
|
grouped_operation.addOperation(
|
||||||
TranslateOperation(node, Vector(200, node.getWorldPosition().y, -not_fit_count * 20), set_position = True))
|
TranslateOperation(node, Vector(200, node.getWorldPosition().y, -not_fit_count * 20), set_position = True))
|
||||||
not_fit_count += 1
|
not_fit_count += 1
|
||||||
grouped_operation.push()
|
|
||||||
|
|
||||||
return found_solution_for_all
|
return grouped_operation, not_fit_count
|
||||||
|
|
||||||
|
|
||||||
|
def arrange(nodes_to_arrange: List["SceneNode"],
|
||||||
|
build_volume: "BuildVolume",
|
||||||
|
fixed_nodes: Optional[List["SceneNode"]] = None,
|
||||||
|
factor = 10000,
|
||||||
|
add_new_nodes_in_scene: bool = False) -> bool:
|
||||||
|
"""
|
||||||
|
Find placement for a set of scene nodes, and move them by using a single grouped operation.
|
||||||
|
:param nodes_to_arrange: The list of nodes that need to be moved.
|
||||||
|
:param build_volume: The build volume that we want to place the nodes in. It gets size & disallowed areas from this.
|
||||||
|
:param fixed_nodes: List of nods that should not be moved, but should be used when deciding where the others nodes
|
||||||
|
are placed.
|
||||||
|
:param factor: The library that we use is int based. This factor defines how accuracte we want it to be.
|
||||||
|
:param add_new_nodes_in_scene: Whether to create new scene nodes before applying the transformations and rotations
|
||||||
|
|
||||||
|
:return: found_solution_for_all: Whether the algorithm found a place on the buildplate for all the objects
|
||||||
|
"""
|
||||||
|
|
||||||
|
grouped_operation, not_fit_count = createGroupOperationForArrange(nodes_to_arrange, build_volume, fixed_nodes, factor, add_new_nodes_in_scene)
|
||||||
|
grouped_operation.push()
|
||||||
|
return not_fit_count != 0
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright (c) 2018 Ultimaker B.V.
|
# Copyright (c) 2021 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.
|
||||||
|
|
||||||
import io
|
import io
|
||||||
|
@ -168,7 +168,10 @@ class Backup:
|
||||||
preferences_file = Resources.getPath(Resources.Preferences, "{}.cfg".format(preferences_file_name))
|
preferences_file = Resources.getPath(Resources.Preferences, "{}.cfg".format(preferences_file_name))
|
||||||
backup_preferences_file = os.path.join(version_data_dir, "{}.cfg".format(preferences_file_name))
|
backup_preferences_file = os.path.join(version_data_dir, "{}.cfg".format(preferences_file_name))
|
||||||
Logger.log("d", "Moving preferences file from %s to %s", backup_preferences_file, preferences_file)
|
Logger.log("d", "Moving preferences file from %s to %s", backup_preferences_file, preferences_file)
|
||||||
shutil.move(backup_preferences_file, preferences_file)
|
try:
|
||||||
|
shutil.move(backup_preferences_file, preferences_file)
|
||||||
|
except EnvironmentError as e:
|
||||||
|
Logger.error(f"Unable to back-up preferences file: {type(e)} - {str(e)}")
|
||||||
|
|
||||||
# Read the preferences from the newly restored configuration (or else the cached Preferences will override the restored ones)
|
# Read the preferences from the newly restored configuration (or else the cached Preferences will override the restored ones)
|
||||||
self._application.readPreferencesFromConfiguration()
|
self._application.readPreferencesFromConfiguration()
|
||||||
|
@ -203,6 +206,8 @@ class Backup:
|
||||||
archive.extract(archive_filename, target_path)
|
archive.extract(archive_filename, target_path)
|
||||||
except (PermissionError, EnvironmentError):
|
except (PermissionError, EnvironmentError):
|
||||||
Logger.logException("e", f"Unable to extract the file {archive_filename} from the backup due to permission or file system errors.")
|
Logger.logException("e", f"Unable to extract the file {archive_filename} from the backup due to permission or file system errors.")
|
||||||
|
except UnicodeEncodeError:
|
||||||
|
Logger.error(f"Unable to extract the file {archive_filename} because of an encoding error.")
|
||||||
CuraApplication.getInstance().processEvents()
|
CuraApplication.getInstance().processEvents()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
|
@ -1078,9 +1078,10 @@ class BuildVolume(SceneNode):
|
||||||
# setting does *not* have a limit_to_extruder setting (which means that we can't ask the global extruder what
|
# setting does *not* have a limit_to_extruder setting (which means that we can't ask the global extruder what
|
||||||
# the value is.
|
# the value is.
|
||||||
adhesion_extruder = self._global_container_stack.getProperty("adhesion_extruder_nr", "value")
|
adhesion_extruder = self._global_container_stack.getProperty("adhesion_extruder_nr", "value")
|
||||||
skirt_brim_line_width = self._global_container_stack.extruderList[int(adhesion_extruder)].getProperty("skirt_brim_line_width", "value")
|
adhesion_stack = self._global_container_stack.extruderList[int(adhesion_extruder)]
|
||||||
|
skirt_brim_line_width = adhesion_stack.getProperty("skirt_brim_line_width", "value")
|
||||||
|
|
||||||
initial_layer_line_width_factor = self._global_container_stack.getProperty("initial_layer_line_width_factor", "value")
|
initial_layer_line_width_factor = adhesion_stack.getProperty("initial_layer_line_width_factor", "value")
|
||||||
# Use brim width if brim is enabled OR the prime tower has a brim.
|
# Use brim width if brim is enabled OR the prime tower has a brim.
|
||||||
if adhesion_type == "brim":
|
if adhesion_type == "brim":
|
||||||
brim_line_count = self._global_container_stack.getProperty("brim_line_count", "value")
|
brim_line_count = self._global_container_stack.getProperty("brim_line_count", "value")
|
||||||
|
|
|
@ -129,7 +129,7 @@ class CuraApplication(QtApplication):
|
||||||
# SettingVersion represents the set of settings available in the machine/extruder definitions.
|
# SettingVersion represents the set of settings available in the machine/extruder definitions.
|
||||||
# You need to make sure that this version number needs to be increased if there is any non-backwards-compatible
|
# You need to make sure that this version number needs to be increased if there is any non-backwards-compatible
|
||||||
# changes of the settings.
|
# changes of the settings.
|
||||||
SettingVersion = 18
|
SettingVersion = 19
|
||||||
|
|
||||||
Created = False
|
Created = False
|
||||||
|
|
||||||
|
@ -320,7 +320,7 @@ class CuraApplication(QtApplication):
|
||||||
super().initialize()
|
super().initialize()
|
||||||
|
|
||||||
self._preferences.addPreference("cura/single_instance", False)
|
self._preferences.addPreference("cura/single_instance", False)
|
||||||
self._use_single_instance = self._preferences.getValue("cura/single_instance")
|
self._use_single_instance = self._preferences.getValue("cura/single_instance") or self._cli_args.single_instance
|
||||||
|
|
||||||
self.__sendCommandToSingleInstance()
|
self.__sendCommandToSingleInstance()
|
||||||
self._initializeSettingDefinitions()
|
self._initializeSettingDefinitions()
|
||||||
|
@ -750,7 +750,9 @@ class CuraApplication(QtApplication):
|
||||||
@pyqtSlot(str, result = QUrl)
|
@pyqtSlot(str, result = QUrl)
|
||||||
def getDefaultPath(self, key):
|
def getDefaultPath(self, key):
|
||||||
default_path = self.getPreferences().getValue("local_file/%s" % key)
|
default_path = self.getPreferences().getValue("local_file/%s" % key)
|
||||||
return QUrl.fromLocalFile(default_path)
|
if os.path.exists(default_path):
|
||||||
|
return QUrl.fromLocalFile(default_path)
|
||||||
|
return QUrl()
|
||||||
|
|
||||||
@pyqtSlot(str, str)
|
@pyqtSlot(str, str)
|
||||||
def setDefaultPath(self, key, default_path):
|
def setDefaultPath(self, key, default_path):
|
||||||
|
|
|
@ -7,8 +7,11 @@ from typing import Any, Dict, Optional, TYPE_CHECKING
|
||||||
import uuid # To generate new GUIDs for new materials.
|
import uuid # To generate new GUIDs for new materials.
|
||||||
import zipfile # To export all materials in a .zip archive.
|
import zipfile # To export all materials in a .zip archive.
|
||||||
|
|
||||||
|
from PyQt5.QtGui import QDesktopServices
|
||||||
|
|
||||||
from UM.i18n import i18nCatalog
|
from UM.i18n import i18nCatalog
|
||||||
from UM.Logger import Logger
|
from UM.Logger import Logger
|
||||||
|
from UM.Message import Message
|
||||||
from UM.Signal import postponeSignals, CompressTechnique
|
from UM.Signal import postponeSignals, CompressTechnique
|
||||||
|
|
||||||
import cura.CuraApplication # Imported like this to prevent circular imports.
|
import cura.CuraApplication # Imported like this to prevent circular imports.
|
||||||
|
@ -20,6 +23,7 @@ if TYPE_CHECKING:
|
||||||
|
|
||||||
catalog = i18nCatalog("cura")
|
catalog = i18nCatalog("cura")
|
||||||
|
|
||||||
|
|
||||||
class MaterialManagementModel(QObject):
|
class MaterialManagementModel(QObject):
|
||||||
favoritesChanged = pyqtSignal(str)
|
favoritesChanged = pyqtSignal(str)
|
||||||
"""Triggered when a favorite is added or removed.
|
"""Triggered when a favorite is added or removed.
|
||||||
|
@ -27,6 +31,63 @@ class MaterialManagementModel(QObject):
|
||||||
:param The base file of the material is provided as parameter when this emits
|
:param The base file of the material is provided as parameter when this emits
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
def __init__(self, parent: Optional[QObject] = None) -> None:
|
||||||
|
super().__init__(parent = parent)
|
||||||
|
self._checkIfNewMaterialsWereInstalled()
|
||||||
|
|
||||||
|
def _checkIfNewMaterialsWereInstalled(self) -> None:
|
||||||
|
"""
|
||||||
|
Checks whether new material packages were installed in the latest startup. If there were, then it shows
|
||||||
|
a message prompting the user to sync the materials with their printers.
|
||||||
|
"""
|
||||||
|
application = cura.CuraApplication.CuraApplication.getInstance()
|
||||||
|
for package_id, package_data in application.getPackageManager().getPackagesInstalledOnStartup().items():
|
||||||
|
if package_data["package_info"]["package_type"] == "material":
|
||||||
|
# At least one new material was installed
|
||||||
|
self._showSyncNewMaterialsMessage()
|
||||||
|
break
|
||||||
|
|
||||||
|
def _showSyncNewMaterialsMessage(self) -> None:
|
||||||
|
sync_materials_message = Message(
|
||||||
|
text = catalog.i18nc("@action:button",
|
||||||
|
"Please sync the material profiles with your printers before starting to print."),
|
||||||
|
title = catalog.i18nc("@action:button", "New materials installed"),
|
||||||
|
message_type = Message.MessageType.WARNING,
|
||||||
|
lifetime = 0
|
||||||
|
)
|
||||||
|
|
||||||
|
sync_materials_message.addAction(
|
||||||
|
"sync",
|
||||||
|
name = catalog.i18nc("@action:button", "Sync materials with printers"),
|
||||||
|
icon = "",
|
||||||
|
description = "Sync your newly installed materials with your printers.",
|
||||||
|
button_align = Message.ActionButtonAlignment.ALIGN_RIGHT
|
||||||
|
)
|
||||||
|
|
||||||
|
sync_materials_message.addAction(
|
||||||
|
"learn_more",
|
||||||
|
name = catalog.i18nc("@action:button", "Learn more"),
|
||||||
|
icon = "",
|
||||||
|
description = "Learn more about syncing your newly installed materials with your printers.",
|
||||||
|
button_align = Message.ActionButtonAlignment.ALIGN_LEFT,
|
||||||
|
button_style = Message.ActionButtonStyle.LINK
|
||||||
|
)
|
||||||
|
sync_materials_message.actionTriggered.connect(self._onSyncMaterialsMessageActionTriggered)
|
||||||
|
|
||||||
|
# Show the message only if there are printers that support material export
|
||||||
|
container_registry = cura.CuraApplication.CuraApplication.getInstance().getContainerRegistry()
|
||||||
|
global_stacks = container_registry.findContainerStacks(type = "machine")
|
||||||
|
if any([stack.supportsMaterialExport for stack in global_stacks]):
|
||||||
|
sync_materials_message.show()
|
||||||
|
|
||||||
|
def _onSyncMaterialsMessageActionTriggered(self, sync_message: Message, sync_message_action: str):
|
||||||
|
if sync_message_action == "sync":
|
||||||
|
QDesktopServices.openUrl(QUrl("https://example.com/openSyncAllWindow"))
|
||||||
|
# self.openSyncAllWindow()
|
||||||
|
sync_message.hide()
|
||||||
|
elif sync_message_action == "learn_more":
|
||||||
|
QDesktopServices.openUrl(QUrl("https://support.ultimaker.com/hc/en-us/articles/360013137919?utm_source=cura&utm_medium=software&utm_campaign=sync-material-printer-message"))
|
||||||
|
|
||||||
@pyqtSlot("QVariant", result = bool)
|
@pyqtSlot("QVariant", result = bool)
|
||||||
def canMaterialBeRemoved(self, material_node: "MaterialNode") -> bool:
|
def canMaterialBeRemoved(self, material_node: "MaterialNode") -> bool:
|
||||||
"""Can a certain material be deleted, or is it still in use in one of the container stacks anywhere?
|
"""Can a certain material be deleted, or is it still in use in one of the container stacks anywhere?
|
||||||
|
@ -287,7 +348,17 @@ class MaterialManagementModel(QObject):
|
||||||
"""
|
"""
|
||||||
registry = CuraContainerRegistry.getInstance()
|
registry = CuraContainerRegistry.getInstance()
|
||||||
|
|
||||||
archive = zipfile.ZipFile(file_path.toLocalFile(), "w", compression = zipfile.ZIP_DEFLATED)
|
try:
|
||||||
|
archive = zipfile.ZipFile(file_path.toLocalFile(), "w", compression = zipfile.ZIP_DEFLATED)
|
||||||
|
except OSError as e:
|
||||||
|
Logger.log("e", f"Can't write to destination {file_path.toLocalFile()}: {type(e)} - {str(e)}")
|
||||||
|
error_message = Message(
|
||||||
|
text = catalog.i18nc("@message:text", "Could not save material archive to {}:").format(file_path.toLocalFile()) + " " + str(e),
|
||||||
|
title = catalog.i18nc("@message:title", "Failed to save material archive"),
|
||||||
|
message_type = Message.MessageType.ERROR
|
||||||
|
)
|
||||||
|
error_message.show()
|
||||||
|
return
|
||||||
for metadata in registry.findInstanceContainersMetadata(type = "material"):
|
for metadata in registry.findInstanceContainersMetadata(type = "material"):
|
||||||
if metadata["base_file"] != metadata["id"]: # Only process base files.
|
if metadata["base_file"] != metadata["id"]: # Only process base files.
|
||||||
continue
|
continue
|
||||||
|
@ -296,4 +367,7 @@ class MaterialManagementModel(QObject):
|
||||||
material = registry.findContainers(id = metadata["id"])[0]
|
material = registry.findContainers(id = metadata["id"])[0]
|
||||||
suffix = registry.getMimeTypeForContainer(type(material)).preferredSuffix
|
suffix = registry.getMimeTypeForContainer(type(material)).preferredSuffix
|
||||||
filename = metadata["id"] + "." + suffix
|
filename = metadata["id"] + "." + suffix
|
||||||
archive.writestr(filename, material.serialize())
|
try:
|
||||||
|
archive.writestr(filename, material.serialize())
|
||||||
|
except OSError as e:
|
||||||
|
Logger.log("e", f"An error has occurred while writing the material \'{metadata['id']}\' in the file \'{filename}\': {e}.")
|
||||||
|
|
|
@ -41,10 +41,6 @@ class QualityProfilesDropDownMenuModel(ListModel):
|
||||||
machine_manager.activeQualityGroupChanged.connect(self._onChange)
|
machine_manager.activeQualityGroupChanged.connect(self._onChange)
|
||||||
machine_manager.activeMaterialChanged.connect(self._onChange)
|
machine_manager.activeMaterialChanged.connect(self._onChange)
|
||||||
machine_manager.activeVariantChanged.connect(self._onChange)
|
machine_manager.activeVariantChanged.connect(self._onChange)
|
||||||
machine_manager.extruderChanged.connect(self._onChange)
|
|
||||||
|
|
||||||
extruder_manager = application.getExtruderManager()
|
|
||||||
extruder_manager.extrudersChanged.connect(self._onChange)
|
|
||||||
|
|
||||||
self._layer_height_unit = "" # This is cached
|
self._layer_height_unit = "" # This is cached
|
||||||
|
|
||||||
|
|
|
@ -6,11 +6,15 @@ from typing import List
|
||||||
|
|
||||||
from UM.Application import Application
|
from UM.Application import Application
|
||||||
from UM.Job import Job
|
from UM.Job import Job
|
||||||
|
from UM.Math.Vector import Vector
|
||||||
from UM.Message import Message
|
from UM.Message import Message
|
||||||
|
from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation
|
||||||
|
from UM.Operations.GroupedOperation import GroupedOperation
|
||||||
|
from UM.Operations.TranslateOperation import TranslateOperation
|
||||||
from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator
|
from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator
|
||||||
from UM.Scene.SceneNode import SceneNode
|
from UM.Scene.SceneNode import SceneNode
|
||||||
from UM.i18n import i18nCatalog
|
from UM.i18n import i18nCatalog
|
||||||
from cura.Arranging.Nest2DArrange import arrange
|
from cura.Arranging.Nest2DArrange import arrange, createGroupOperationForArrange
|
||||||
|
|
||||||
i18n_catalog = i18nCatalog("cura")
|
i18n_catalog = i18nCatalog("cura")
|
||||||
|
|
||||||
|
@ -43,11 +47,11 @@ class MultiplyObjectsJob(Job):
|
||||||
# Only count sliceable objects
|
# Only count sliceable objects
|
||||||
if node_.callDecoration("isSliceable"):
|
if node_.callDecoration("isSliceable"):
|
||||||
fixed_nodes.append(node_)
|
fixed_nodes.append(node_)
|
||||||
|
nodes_to_add_without_arrange = []
|
||||||
for node in self._objects:
|
for node in self._objects:
|
||||||
# If object is part of a group, multiply group
|
# If object is part of a group, multiply group
|
||||||
current_node = node
|
current_node = node
|
||||||
while current_node.getParent() and (current_node.getParent().callDecoration("isGroup") or current_node.getParent().callDecoration("isSliceable")):
|
while current_node.getParent() and current_node.getParent().callDecoration("isGroup"):
|
||||||
current_node = current_node.getParent()
|
current_node = current_node.getParent()
|
||||||
|
|
||||||
if current_node in processed_nodes:
|
if current_node in processed_nodes:
|
||||||
|
@ -56,19 +60,38 @@ class MultiplyObjectsJob(Job):
|
||||||
|
|
||||||
for _ in range(self._count):
|
for _ in range(self._count):
|
||||||
new_node = copy.deepcopy(node)
|
new_node = copy.deepcopy(node)
|
||||||
|
|
||||||
# Same build plate
|
# Same build plate
|
||||||
build_plate_number = current_node.callDecoration("getBuildPlateNumber")
|
build_plate_number = current_node.callDecoration("getBuildPlateNumber")
|
||||||
new_node.callDecoration("setBuildPlateNumber", build_plate_number)
|
new_node.callDecoration("setBuildPlateNumber", build_plate_number)
|
||||||
for child in new_node.getChildren():
|
for child in new_node.getChildren():
|
||||||
child.callDecoration("setBuildPlateNumber", build_plate_number)
|
child.callDecoration("setBuildPlateNumber", build_plate_number)
|
||||||
|
if not current_node.getParent().callDecoration("isSliceable"):
|
||||||
nodes.append(new_node)
|
nodes.append(new_node)
|
||||||
|
else:
|
||||||
|
# The node we're trying to place has another node that is sliceable as a parent.
|
||||||
|
# As such, we shouldn't arrange it (but it should be added to the scene!)
|
||||||
|
nodes_to_add_without_arrange.append(new_node)
|
||||||
|
new_node.setParent(current_node.getParent())
|
||||||
|
|
||||||
found_solution_for_all = True
|
found_solution_for_all = True
|
||||||
|
group_operation = GroupedOperation()
|
||||||
if nodes:
|
if nodes:
|
||||||
found_solution_for_all = arrange(nodes, Application.getInstance().getBuildVolume(), fixed_nodes,
|
group_operation, not_fit_count = createGroupOperationForArrange(nodes,
|
||||||
factor = 10000, add_new_nodes_in_scene = True)
|
Application.getInstance().getBuildVolume(),
|
||||||
|
fixed_nodes,
|
||||||
|
factor = 10000,
|
||||||
|
add_new_nodes_in_scene = True)
|
||||||
|
found_solution_for_all = not_fit_count == 0
|
||||||
|
|
||||||
|
if nodes_to_add_without_arrange:
|
||||||
|
for nested_node in nodes_to_add_without_arrange:
|
||||||
|
group_operation.addOperation(AddSceneNodeOperation(nested_node, nested_node.getParent()))
|
||||||
|
# Move the node a tiny bit so it doesn't overlap with the existing one.
|
||||||
|
# This doesn't fix it if someone creates more than one duplicate, but it at least shows that something
|
||||||
|
# happened (and after moving it, it's clear that there are more underneath)
|
||||||
|
group_operation.addOperation(TranslateOperation(nested_node, Vector(2.5, 2.5, 2.5)))
|
||||||
|
|
||||||
|
group_operation.push()
|
||||||
status_message.hide()
|
status_message.hide()
|
||||||
|
|
||||||
if not found_solution_for_all:
|
if not found_solution_for_all:
|
||||||
|
|
|
@ -99,7 +99,14 @@ class AuthorizationService:
|
||||||
# If no auth data exists, we should always log in again.
|
# If no auth data exists, we should always log in again.
|
||||||
Logger.log("d", "There was no auth data or access token")
|
Logger.log("d", "There was no auth data or access token")
|
||||||
return None
|
return None
|
||||||
user_data = self._auth_helpers.parseJWT(self._auth_data.access_token)
|
|
||||||
|
try:
|
||||||
|
user_data = self._auth_helpers.parseJWT(self._auth_data.access_token)
|
||||||
|
except AttributeError:
|
||||||
|
# THis might seem a bit double, but we get crash reports about this (CURA-2N2 in sentry)
|
||||||
|
Logger.log("d", "There was no auth data or access token")
|
||||||
|
return None
|
||||||
|
|
||||||
if user_data:
|
if user_data:
|
||||||
# If the profile was found, we return it immediately.
|
# If the profile was found, we return it immediately.
|
||||||
return user_data
|
return user_data
|
||||||
|
|
|
@ -23,6 +23,8 @@ from UM.Settings.InstanceContainer import InstanceContainer
|
||||||
|
|
||||||
import cura.CuraApplication
|
import cura.CuraApplication
|
||||||
from cura.Machines.ContainerTree import ContainerTree
|
from cura.Machines.ContainerTree import ContainerTree
|
||||||
|
from cura.Settings.ExtruderStack import ExtruderStack
|
||||||
|
from cura.Settings.GlobalStack import GlobalStack
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from cura.CuraApplication import CuraApplication
|
from cura.CuraApplication import CuraApplication
|
||||||
|
@ -408,7 +410,7 @@ class ContainerManager(QObject):
|
||||||
container_registry = cura.CuraApplication.CuraApplication.getInstance().getContainerRegistry()
|
container_registry = cura.CuraApplication.CuraApplication.getInstance().getContainerRegistry()
|
||||||
for plugin_id, container_type in container_registry.getContainerTypes():
|
for plugin_id, container_type in container_registry.getContainerTypes():
|
||||||
# Ignore default container types since those are not plugins
|
# Ignore default container types since those are not plugins
|
||||||
if container_type in (InstanceContainer, ContainerStack, DefinitionContainer):
|
if container_type in (InstanceContainer, ContainerStack, DefinitionContainer, GlobalStack, ExtruderStack):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
serialize_type = ""
|
serialize_type = ""
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright (c) 2020 Ultimaker B.V.
|
# Copyright (c) 2021 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.
|
||||||
|
|
||||||
import time
|
import time
|
||||||
|
@ -1398,6 +1398,8 @@ class MachineManager(QObject):
|
||||||
# previous one).
|
# previous one).
|
||||||
self._global_container_stack.setUserChanges(global_user_changes)
|
self._global_container_stack.setUserChanges(global_user_changes)
|
||||||
for i, user_changes in enumerate(per_extruder_user_changes):
|
for i, user_changes in enumerate(per_extruder_user_changes):
|
||||||
|
if i >= len(self._global_container_stack.extruderList): # New printer has fewer extruders.
|
||||||
|
break
|
||||||
self._global_container_stack.extruderList[i].setUserChanges(per_extruder_user_changes[i])
|
self._global_container_stack.extruderList[i].setUserChanges(per_extruder_user_changes[i])
|
||||||
|
|
||||||
@pyqtSlot(QObject)
|
@pyqtSlot(QObject)
|
||||||
|
|
|
@ -18,6 +18,8 @@ class SingleInstance:
|
||||||
|
|
||||||
self._single_instance_server = None
|
self._single_instance_server = None
|
||||||
|
|
||||||
|
self._application.getPreferences().addPreference("cura/single_instance_clear_before_load", True)
|
||||||
|
|
||||||
# Starts a client that checks for a single instance server and sends the files that need to opened if the server
|
# Starts a client that checks for a single instance server and sends the files that need to opened if the server
|
||||||
# exists. Returns True if the single instance server is found, otherwise False.
|
# exists. Returns True if the single instance server is found, otherwise False.
|
||||||
def startClient(self) -> bool:
|
def startClient(self) -> bool:
|
||||||
|
@ -42,8 +44,9 @@ class SingleInstance:
|
||||||
# "command" field is required and holds the name of the command to execute.
|
# "command" field is required and holds the name of the command to execute.
|
||||||
# Other fields depend on the command.
|
# Other fields depend on the command.
|
||||||
|
|
||||||
payload = {"command": "clear-all"}
|
if self._application.getPreferences().getValue("cura/single_instance_clear_before_load"):
|
||||||
single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding = "ascii"))
|
payload = {"command": "clear-all"}
|
||||||
|
single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding = "ascii"))
|
||||||
|
|
||||||
payload = {"command": "focus"}
|
payload = {"command": "focus"}
|
||||||
single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding = "ascii"))
|
single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding = "ascii"))
|
||||||
|
|
|
@ -13,6 +13,8 @@ from UM.Qt.Duration import Duration
|
||||||
from UM.Scene.SceneNode import SceneNode
|
from UM.Scene.SceneNode import SceneNode
|
||||||
from UM.i18n import i18nCatalog
|
from UM.i18n import i18nCatalog
|
||||||
from UM.MimeTypeDatabase import MimeTypeDatabase, MimeTypeNotFoundError
|
from UM.MimeTypeDatabase import MimeTypeDatabase, MimeTypeNotFoundError
|
||||||
|
from UM.OutputDevice.OutputDevice import OutputDevice
|
||||||
|
from UM.OutputDevice.ProjectOutputDevice import ProjectOutputDevice
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from cura.CuraApplication import CuraApplication
|
from cura.CuraApplication import CuraApplication
|
||||||
|
@ -68,6 +70,7 @@ class PrintInformation(QObject):
|
||||||
self._application.globalContainerStackChanged.connect(self.setToZeroPrintInformation)
|
self._application.globalContainerStackChanged.connect(self.setToZeroPrintInformation)
|
||||||
self._application.fileLoaded.connect(self.setBaseName)
|
self._application.fileLoaded.connect(self.setBaseName)
|
||||||
self._application.workspaceLoaded.connect(self.setProjectName)
|
self._application.workspaceLoaded.connect(self.setProjectName)
|
||||||
|
self._application.getOutputDeviceManager().writeStarted.connect(self._onOutputStart)
|
||||||
self._application.getMachineManager().rootMaterialChanged.connect(self._onActiveMaterialsChanged)
|
self._application.getMachineManager().rootMaterialChanged.connect(self._onActiveMaterialsChanged)
|
||||||
self._application.getInstance().getPreferences().preferenceChanged.connect(self._onPreferencesChanged)
|
self._application.getInstance().getPreferences().preferenceChanged.connect(self._onPreferencesChanged)
|
||||||
|
|
||||||
|
@ -439,3 +442,11 @@ class PrintInformation(QObject):
|
||||||
"""Listen to scene changes to check if we need to reset the print information"""
|
"""Listen to scene changes to check if we need to reset the print information"""
|
||||||
|
|
||||||
self.setToZeroPrintInformation(self._active_build_plate)
|
self.setToZeroPrintInformation(self._active_build_plate)
|
||||||
|
|
||||||
|
def _onOutputStart(self, output_device: OutputDevice) -> None:
|
||||||
|
"""If this is the sort of output 'device' (like local or online file storage, rather than a printer),
|
||||||
|
the user could have altered the file-name, and thus the project name should be altered as well."""
|
||||||
|
if isinstance(output_device, ProjectOutputDevice):
|
||||||
|
new_name = output_device.getLastOutputName()
|
||||||
|
if new_name is not None:
|
||||||
|
self.setJobName(os.path.splitext(os.path.basename(new_name))[0])
|
||||||
|
|
|
@ -428,6 +428,7 @@ class CuraEngineBackend(QObject, Backend):
|
||||||
"Unable to slice with the current settings. The following settings have errors: {0}").format(", ".join(error_labels)),
|
"Unable to slice with the current settings. The following settings have errors: {0}").format(", ".join(error_labels)),
|
||||||
title = catalog.i18nc("@info:title", "Unable to slice"),
|
title = catalog.i18nc("@info:title", "Unable to slice"),
|
||||||
message_type = Message.MessageType.WARNING)
|
message_type = Message.MessageType.WARNING)
|
||||||
|
Logger.warning(f"Unable to slice with the current settings. The following settings have errors: {', '.join(error_labels)}")
|
||||||
self._error_message.show()
|
self._error_message.show()
|
||||||
self.setState(BackendState.Error)
|
self.setState(BackendState.Error)
|
||||||
self.backendError.emit(job)
|
self.backendError.emit(job)
|
||||||
|
@ -454,6 +455,7 @@ class CuraEngineBackend(QObject, Backend):
|
||||||
"Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}").format(error_labels = ", ".join(errors.values())),
|
"Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}").format(error_labels = ", ".join(errors.values())),
|
||||||
title = catalog.i18nc("@info:title", "Unable to slice"),
|
title = catalog.i18nc("@info:title", "Unable to slice"),
|
||||||
message_type = Message.MessageType.WARNING)
|
message_type = Message.MessageType.WARNING)
|
||||||
|
Logger.warning(f"Unable to slice due to per-object settings. The following settings have errors on one or more models: {', '.join(errors.values())}")
|
||||||
self._error_message.show()
|
self._error_message.show()
|
||||||
self.setState(BackendState.Error)
|
self.setState(BackendState.Error)
|
||||||
self.backendError.emit(job)
|
self.backendError.emit(job)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright (c) 2020 Ultimaker B.V.
|
# Copyright (c) 2021 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.
|
||||||
|
|
||||||
import numpy
|
import numpy
|
||||||
|
@ -353,10 +353,19 @@ class StartSliceJob(Job):
|
||||||
result[key] = stack.getProperty(key, "value")
|
result[key] = stack.getProperty(key, "value")
|
||||||
Job.yieldThread()
|
Job.yieldThread()
|
||||||
|
|
||||||
result["print_bed_temperature"] = result["material_bed_temperature"] # Renamed settings.
|
# Material identification in addition to non-human-readable GUID
|
||||||
|
result["material_id"] = stack.material.getMetaDataEntry("base_file", "")
|
||||||
|
result["material_type"] = stack.material.getMetaDataEntry("material", "")
|
||||||
|
result["material_name"] = stack.material.getMetaDataEntry("name", "")
|
||||||
|
result["material_brand"] = stack.material.getMetaDataEntry("brand", "")
|
||||||
|
|
||||||
|
# Renamed settings.
|
||||||
|
result["print_bed_temperature"] = result["material_bed_temperature"]
|
||||||
result["print_temperature"] = result["material_print_temperature"]
|
result["print_temperature"] = result["material_print_temperature"]
|
||||||
result["travel_speed"] = result["speed_travel"]
|
result["travel_speed"] = result["speed_travel"]
|
||||||
result["time"] = time.strftime("%H:%M:%S") #Some extra settings.
|
|
||||||
|
#Some extra settings.
|
||||||
|
result["time"] = time.strftime("%H:%M:%S")
|
||||||
result["date"] = time.strftime("%d-%m-%Y")
|
result["date"] = time.strftime("%d-%m-%Y")
|
||||||
result["day"] = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][int(time.strftime("%w"))]
|
result["day"] = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][int(time.strftime("%w"))]
|
||||||
result["initial_extruder_nr"] = CuraApplication.getInstance().getExtruderManager().getInitialExtruderNr()
|
result["initial_extruder_nr"] = CuraApplication.getInstance().getExtruderManager().getInitialExtruderNr()
|
||||||
|
@ -455,9 +464,9 @@ class StartSliceJob(Job):
|
||||||
bed_temperature_settings = ["material_bed_temperature", "material_bed_temperature_layer_0"]
|
bed_temperature_settings = ["material_bed_temperature", "material_bed_temperature_layer_0"]
|
||||||
pattern = r"\{(%s)(,\s?\w+)?\}" % "|".join(bed_temperature_settings) # match {setting} as well as {setting, extruder_nr}
|
pattern = r"\{(%s)(,\s?\w+)?\}" % "|".join(bed_temperature_settings) # match {setting} as well as {setting, extruder_nr}
|
||||||
settings["material_bed_temp_prepend"] = re.search(pattern, start_gcode) == None
|
settings["material_bed_temp_prepend"] = re.search(pattern, start_gcode) == None
|
||||||
print_temperature_settings = ["material_print_temperature", "material_print_temperature_layer_0", "default_material_print_temperature", "material_initial_print_temperature", "material_final_print_temperature", "material_standby_temperature"]
|
print_temperature_settings = ["material_print_temperature", "material_print_temperature_layer_0", "default_material_print_temperature", "material_initial_print_temperature", "material_final_print_temperature", "material_standby_temperature", "print_temperature"]
|
||||||
pattern = r"\{(%s)(,\s?\w+)?\}" % "|".join(print_temperature_settings) # match {setting} as well as {setting, extruder_nr}
|
pattern = r"\{(%s)(,\s?\w+)?\}" % "|".join(print_temperature_settings) # match {setting} as well as {setting, extruder_nr}
|
||||||
settings["material_print_temp_prepend"] = re.search(pattern, start_gcode) == None
|
settings["material_print_temp_prepend"] = re.search(pattern, start_gcode) is None
|
||||||
|
|
||||||
# Replace the setting tokens in start and end g-code.
|
# Replace the setting tokens in start and end g-code.
|
||||||
# Use values from the first used extruder by default so we get the expected temperatures
|
# Use values from the first used extruder by default so we get the expected temperatures
|
||||||
|
|
|
@ -67,10 +67,12 @@ class DigitalFactoryApiClient:
|
||||||
def callbackWrap(response: Optional[Any] = None, *args, **kwargs) -> None:
|
def callbackWrap(response: Optional[Any] = None, *args, **kwargs) -> None:
|
||||||
if (response is not None and isinstance(response, DigitalFactoryFeatureBudgetResponse) and
|
if (response is not None and isinstance(response, DigitalFactoryFeatureBudgetResponse) and
|
||||||
response.library_max_private_projects is not None):
|
response.library_max_private_projects is not None):
|
||||||
callback(
|
# A user has DF access when library_max_private_projects is either -1 (unlimited) or bigger then 0
|
||||||
response.library_max_private_projects == -1 or # Note: -1 is unlimited
|
has_access = response.library_max_private_projects == -1 or response.library_max_private_projects > 0
|
||||||
response.library_max_private_projects > 0)
|
callback(has_access)
|
||||||
self._library_max_private_projects = response.library_max_private_projects
|
self._library_max_private_projects = response.library_max_private_projects
|
||||||
|
# update the account with the additional user rights
|
||||||
|
self._account.updateAdditionalRight(df_access = has_access)
|
||||||
else:
|
else:
|
||||||
Logger.warning(f"Digital Factory: Response is not a feature budget, likely an error: {str(response)}")
|
Logger.warning(f"Digital Factory: Response is not a feature budget, likely an error: {str(response)}")
|
||||||
callback(False)
|
callback(False)
|
||||||
|
|
|
@ -603,8 +603,8 @@ class DigitalFactoryController(QObject):
|
||||||
self._saveFileToSelectedProjectHelper(filename, formats)
|
self._saveFileToSelectedProjectHelper(filename, formats)
|
||||||
|
|
||||||
def _saveFileToSelectedProjectHelper(self, filename: str, formats: List[str]) -> None:
|
def _saveFileToSelectedProjectHelper(self, filename: str, formats: List[str]) -> None:
|
||||||
# Indicate we have started sending a job.
|
# Indicate we have started sending a job (and propagate any user file name changes back to the open project)
|
||||||
self.uploadStarted.emit()
|
self.uploadStarted.emit(filename if "3mf" in formats else None)
|
||||||
|
|
||||||
library_project_id = self._project_model.items[self._selected_project_idx]["libraryProjectId"]
|
library_project_id = self._project_model.items[self._selected_project_idx]["libraryProjectId"]
|
||||||
library_project_name = self._project_model.items[self._selected_project_idx]["displayName"]
|
library_project_name = self._project_model.items[self._selected_project_idx]["displayName"]
|
||||||
|
|
|
@ -8,6 +8,8 @@ from UM.Logger import Logger
|
||||||
from UM.OutputDevice import OutputDeviceError
|
from UM.OutputDevice import OutputDeviceError
|
||||||
from UM.OutputDevice.ProjectOutputDevice import ProjectOutputDevice
|
from UM.OutputDevice.ProjectOutputDevice import ProjectOutputDevice
|
||||||
from UM.Scene.SceneNode import SceneNode
|
from UM.Scene.SceneNode import SceneNode
|
||||||
|
from UM.Version import Version
|
||||||
|
from cura import ApplicationMetadata
|
||||||
from cura.API import Account
|
from cura.API import Account
|
||||||
from cura.CuraApplication import CuraApplication
|
from cura.CuraApplication import CuraApplication
|
||||||
from .DigitalFactoryController import DigitalFactoryController
|
from .DigitalFactoryController import DigitalFactoryController
|
||||||
|
@ -105,8 +107,11 @@ class DigitalFactoryOutputDevice(ProjectOutputDevice):
|
||||||
self.enabled = logged_in and self._controller.userAccountHasLibraryAccess()
|
self.enabled = logged_in and self._controller.userAccountHasLibraryAccess()
|
||||||
self.enabledChanged.emit()
|
self.enabledChanged.emit()
|
||||||
|
|
||||||
def _onWriteStarted(self) -> None:
|
def _onWriteStarted(self, new_name: Optional[str] = None) -> None:
|
||||||
self._writing = True
|
self._writing = True
|
||||||
|
if new_name and Version(ApplicationMetadata.CuraSDKVersion) >= Version("7.8.0"):
|
||||||
|
# setLastOutputName is only supported in sdk version 7.8.0 and up
|
||||||
|
self.setLastOutputName(new_name) # On saving, the user can change the name, this should propagate.
|
||||||
self.writeStarted.emit(self)
|
self.writeStarted.emit(self)
|
||||||
|
|
||||||
def _onWriteFinished(self) -> None:
|
def _onWriteFinished(self) -> None:
|
||||||
|
|
|
@ -96,11 +96,11 @@ UM.Dialog
|
||||||
}
|
}
|
||||||
showAll: toggleShowAll.checked || filterInput.text !== ""
|
showAll: toggleShowAll.checked || filterInput.text !== ""
|
||||||
}
|
}
|
||||||
delegate:Loader
|
delegate: Loader
|
||||||
{
|
{
|
||||||
id: loader
|
id: loader
|
||||||
|
|
||||||
width: parent.width
|
width: listview.width
|
||||||
height: model.type != undefined ? UM.Theme.getSize("section").height : 0
|
height: model.type != undefined ? UM.Theme.getSize("section").height : 0
|
||||||
|
|
||||||
property var definition: model
|
property var definition: model
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
# Modified by Ricardo Gomez, ricardoga@otulook.com, to add Bed Temperature and make it work with Cura_13.06.04+
|
# Modified by Ricardo Gomez, ricardoga@otulook.com, to add Bed Temperature and make it work with Cura_13.06.04+
|
||||||
# Modified by Stefan Heule, Dim3nsioneer@gmx.ch since V3.0 (see changelog below)
|
# Modified by Stefan Heule, Dim3nsioneer@gmx.ch since V3.0 (see changelog below)
|
||||||
# Modified by Jaime van Kessel (Ultimaker), j.vankessel@ultimaker.com to make it work for 15.10 / 2.x
|
# Modified by Jaime van Kessel (Ultimaker), j.vankessel@ultimaker.com to make it work for 15.10 / 2.x
|
||||||
# Modified by Ruben Dulek (Ultimaker), r.dulek@ultimaker.com, to debug.
|
# Modified by Ghostkeeper (Ultimaker), rubend@tutanota.com, to debug.
|
||||||
# Modified by Wes Hanney, https://github.com/novamxd, Retract Length + Speed, Clean up
|
# Modified by Wes Hanney, https://github.com/novamxd, Retract Length + Speed, Clean up
|
||||||
|
|
||||||
# history / changelog:
|
# history / changelog:
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
from typing import List
|
from typing import List
|
||||||
from ..Script import Script
|
from ..Script import Script
|
||||||
|
|
||||||
|
from UM.Application import Application #To get the current printer's settings.
|
||||||
|
|
||||||
class FilamentChange(Script):
|
class FilamentChange(Script):
|
||||||
|
|
||||||
_layer_keyword = ";LAYER:"
|
_layer_keyword = ";LAYER:"
|
||||||
|
@ -81,10 +83,51 @@ class FilamentChange(Script):
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"default_value": 0,
|
"default_value": 0,
|
||||||
"minimum_value": 0
|
"minimum_value": 0
|
||||||
|
},
|
||||||
|
"retract_method":
|
||||||
|
{
|
||||||
|
"label": "Retract method",
|
||||||
|
"description": "The gcode variant to use for retract.",
|
||||||
|
"type": "enum",
|
||||||
|
"options": {"U": "Marlin (M600 U)", "L": "Reprap (M600 L)"},
|
||||||
|
"default_value": "U",
|
||||||
|
"value": "\\\"L\\\" if machine_gcode_flavor==\\\"RepRap (RepRap)\\\" else \\\"U\\\"",
|
||||||
|
"enabled": "not firmware_config"
|
||||||
|
},
|
||||||
|
"machine_gcode_flavor":
|
||||||
|
{
|
||||||
|
"label": "G-code flavor",
|
||||||
|
"description": "The type of g-code to be generated. This setting is controlled by the script and will not be visible.",
|
||||||
|
"type": "enum",
|
||||||
|
"options":
|
||||||
|
{
|
||||||
|
"RepRap (Marlin/Sprinter)": "Marlin",
|
||||||
|
"RepRap (Volumetric)": "Marlin (Volumetric)",
|
||||||
|
"RepRap (RepRap)": "RepRap",
|
||||||
|
"UltiGCode": "Ultimaker 2",
|
||||||
|
"Griffin": "Griffin",
|
||||||
|
"Makerbot": "Makerbot",
|
||||||
|
"BFB": "Bits from Bytes",
|
||||||
|
"MACH3": "Mach3",
|
||||||
|
"Repetier": "Repetier"
|
||||||
|
},
|
||||||
|
"default_value": "RepRap (Marlin/Sprinter)",
|
||||||
|
"enabled": "false"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}"""
|
}"""
|
||||||
|
|
||||||
|
## Copy machine name and gcode flavor from global stack so we can use their value in the script stack
|
||||||
|
def initialize(self) -> None:
|
||||||
|
super().initialize()
|
||||||
|
|
||||||
|
global_container_stack = Application.getInstance().getGlobalContainerStack()
|
||||||
|
if global_container_stack is None or self._instance is None:
|
||||||
|
return
|
||||||
|
|
||||||
|
for key in ["machine_gcode_flavor"]:
|
||||||
|
self._instance.setProperty(key, "value", global_container_stack.getProperty(key, "value"))
|
||||||
|
|
||||||
def execute(self, data: List[str]):
|
def execute(self, data: List[str]):
|
||||||
"""Inserts the filament change g-code at specific layer numbers.
|
"""Inserts the filament change g-code at specific layer numbers.
|
||||||
|
|
||||||
|
@ -106,7 +149,10 @@ class FilamentChange(Script):
|
||||||
color_change = color_change + (" E%.2f" % initial_retract)
|
color_change = color_change + (" E%.2f" % initial_retract)
|
||||||
|
|
||||||
if later_retract is not None and later_retract > 0.:
|
if later_retract is not None and later_retract > 0.:
|
||||||
color_change = color_change + (" L%.2f" % later_retract)
|
# Reprap uses 'L': https://reprap.org/wiki/G-code#M600:_Filament_change_pause
|
||||||
|
# Marlin uses 'U' https://marlinfw.org/docs/gcode/M600.html
|
||||||
|
retract_method = self.getSettingValueByKey("retract_method")
|
||||||
|
color_change = color_change + (" %s%.2f" % (retract_method, later_retract))
|
||||||
|
|
||||||
if x_pos is not None:
|
if x_pos is not None:
|
||||||
color_change = color_change + (" X%.2f" % x_pos)
|
color_change = color_change + (" X%.2f" % x_pos)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright (c) 2017 Ruben Dulek
|
# Copyright (c) 2017 Ghostkeeper
|
||||||
# The PostProcessingPlugin is released under the terms of the AGPLv3 or higher.
|
# The PostProcessingPlugin is released under the terms of the AGPLv3 or higher.
|
||||||
|
|
||||||
import re #To perform the search and replace.
|
import re #To perform the search and replace.
|
||||||
|
|
|
@ -130,6 +130,7 @@ class SliceInfo(QObject, Extension):
|
||||||
data["cura_version"] = self._application.getVersion()
|
data["cura_version"] = self._application.getVersion()
|
||||||
data["cura_build_type"] = ApplicationMetadata.CuraBuildType
|
data["cura_build_type"] = ApplicationMetadata.CuraBuildType
|
||||||
org_id = user_profile.get("organization_id", None) if user_profile else None
|
org_id = user_profile.get("organization_id", None) if user_profile else None
|
||||||
|
data["is_logged_in"] = self._application.getCuraAPI().account.isLoggedIn
|
||||||
data["organization_id"] = org_id if org_id else None
|
data["organization_id"] = org_id if org_id else None
|
||||||
data["subscriptions"] = user_profile.get("subscriptions", []) if user_profile else []
|
data["subscriptions"] = user_profile.get("subscriptions", []) if user_profile else []
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
<b>Intent Profile:</b> Default<br/>
|
<b>Intent Profile:</b> Default<br/>
|
||||||
<b>Quality Profile:</b> Fast<br/>
|
<b>Quality Profile:</b> Fast<br/>
|
||||||
<b>Using Custom Settings:</b> No<br/>
|
<b>Using Custom Settings:</b> No<br/>
|
||||||
|
<b>Is Logged In:</b> Yes<br/>
|
||||||
<b>Organization ID (if any):</b> ABCDefGHIjKlMNOpQrSTUvYxWZ0-1234567890abcDE=<br/>
|
<b>Organization ID (if any):</b> ABCDefGHIjKlMNOpQrSTUvYxWZ0-1234567890abcDE=<br/>
|
||||||
<b>Subscriptions (if any):</b>
|
<b>Subscriptions (if any):</b>
|
||||||
<ul>
|
<ul>
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
# Copyright (c) 2021 Ultimaker B.V.
|
||||||
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from typing import Dict, Optional, List, Any
|
from typing import Dict, Optional, List, Any
|
||||||
|
@ -95,7 +98,11 @@ class LicensePresenter(QObject):
|
||||||
|
|
||||||
for package_id, item in packages.items():
|
for package_id, item in packages.items():
|
||||||
item["package_id"] = package_id
|
item["package_id"] = package_id
|
||||||
item["licence_content"] = self._package_manager.getPackageLicense(item["package_path"])
|
try:
|
||||||
|
item["licence_content"] = self._package_manager.getPackageLicense(item["package_path"])
|
||||||
|
except EnvironmentError as e:
|
||||||
|
Logger.error(f"Could not open downloaded package {package_id} to read license file! {type(e)} - {e}")
|
||||||
|
continue # Skip this package.
|
||||||
if item["licence_content"] is None:
|
if item["licence_content"] is None:
|
||||||
# Implicitly accept when there is no license
|
# Implicitly accept when there is no license
|
||||||
item["accepted"] = True
|
item["accepted"] = True
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright (c) 2020 Ultimaker B.V.
|
# Copyright (c) 2021 Ultimaker B.V.
|
||||||
# Toolbox is released under the terms of the LGPLv3 or higher.
|
# Toolbox is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
import json
|
import json
|
||||||
|
@ -542,7 +542,7 @@ class Toolbox(QObject, Extension):
|
||||||
# Make API Calls
|
# Make API Calls
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
def _makeRequestByType(self, request_type: str) -> None:
|
def _makeRequestByType(self, request_type: str) -> None:
|
||||||
Logger.log("d", "Requesting [%s] metadata from server.", request_type)
|
Logger.debug(f"Requesting {request_type} metadata from server.")
|
||||||
url = self._request_urls[request_type]
|
url = self._request_urls[request_type]
|
||||||
|
|
||||||
callback = lambda r, rt = request_type: self._onDataRequestFinished(rt, r)
|
callback = lambda r, rt = request_type: self._onDataRequestFinished(rt, r)
|
||||||
|
@ -554,7 +554,7 @@ class Toolbox(QObject, Extension):
|
||||||
|
|
||||||
@pyqtSlot(str)
|
@pyqtSlot(str)
|
||||||
def startDownload(self, url: str) -> None:
|
def startDownload(self, url: str) -> None:
|
||||||
Logger.log("i", "Attempting to download & install package from %s.", url)
|
Logger.info(f"Attempting to download & install package from {url}.")
|
||||||
|
|
||||||
callback = lambda r: self._onDownloadFinished(r)
|
callback = lambda r: self._onDownloadFinished(r)
|
||||||
error_callback = lambda r, e: self._onDownloadFailed(r, e)
|
error_callback = lambda r, e: self._onDownloadFailed(r, e)
|
||||||
|
@ -572,7 +572,7 @@ class Toolbox(QObject, Extension):
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def cancelDownload(self) -> None:
|
def cancelDownload(self) -> None:
|
||||||
Logger.log("i", "User cancelled the download of a package. request %s", self._download_request_data)
|
Logger.info(f"User cancelled the download of a package. request {self._download_request_data}")
|
||||||
if self._download_request_data is not None:
|
if self._download_request_data is not None:
|
||||||
self._application.getHttpRequestManager().abortRequest(self._download_request_data)
|
self._application.getHttpRequestManager().abortRequest(self._download_request_data)
|
||||||
self._download_request_data = None
|
self._download_request_data = None
|
||||||
|
@ -585,7 +585,7 @@ class Toolbox(QObject, Extension):
|
||||||
# Handlers for Network Events
|
# Handlers for Network Events
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
def _onDataRequestError(self, request_type: str, reply: "QNetworkReply", error: "QNetworkReply.NetworkError") -> None:
|
def _onDataRequestError(self, request_type: str, reply: "QNetworkReply", error: "QNetworkReply.NetworkError") -> None:
|
||||||
Logger.log("e", "Request [%s] failed due to error [%s]: %s", request_type, error, reply.errorString())
|
Logger.error(f"Request {request_type} failed due to error {error}: {reply.errorString()}")
|
||||||
self.setViewPage("errored")
|
self.setViewPage("errored")
|
||||||
|
|
||||||
def _onDataRequestFinished(self, request_type: str, reply: "QNetworkReply") -> None:
|
def _onDataRequestFinished(self, request_type: str, reply: "QNetworkReply") -> None:
|
||||||
|
@ -682,9 +682,13 @@ class Toolbox(QObject, Extension):
|
||||||
if not package_info:
|
if not package_info:
|
||||||
Logger.log("w", "Package file [%s] was not a valid CuraPackage.", file_path)
|
Logger.log("w", "Package file [%s] was not a valid CuraPackage.", file_path)
|
||||||
return
|
return
|
||||||
|
|
||||||
license_content = self._package_manager.getPackageLicense(file_path)
|
|
||||||
package_id = package_info["package_id"]
|
package_id = package_info["package_id"]
|
||||||
|
|
||||||
|
try:
|
||||||
|
license_content = self._package_manager.getPackageLicense(file_path)
|
||||||
|
except EnvironmentError as e:
|
||||||
|
Logger.error(f"Could not open downloaded package {package_id} to read license file! {type(e)} - {e}")
|
||||||
|
return
|
||||||
if license_content is not None:
|
if license_content is not None:
|
||||||
# get the icon url for package_id, make sure the result is a string, never None
|
# get the icon url for package_id, make sure the result is a string, never None
|
||||||
icon_url = next((x["icon_url"] for x in self.packagesModel.items if x["id"] == package_id), None) or ""
|
icon_url = next((x["icon_url"] for x in self.packagesModel.items if x["id"] == package_id), None) or ""
|
||||||
|
|
|
@ -3,6 +3,6 @@
|
||||||
"author": "Ultimaker B.V.",
|
"author": "Ultimaker B.V.",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "Provides support for reading Ultimaker Format Packages.",
|
"description": "Provides support for reading Ultimaker Format Packages.",
|
||||||
"supported_sdk_versions": ["7.7.0"],
|
"supported_sdk_versions": ["7.8.0"],
|
||||||
"i18n-catalog": "cura"
|
"i18n-catalog": "cura"
|
||||||
}
|
}
|
353
plugins/UM3NetworkPrinting/resources/svg/CloudPlatform.svg
Normal file
353
plugins/UM3NetworkPrinting/resources/svg/CloudPlatform.svg
Normal file
|
@ -0,0 +1,353 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
viewBox="0 0 274.75 126.24"
|
||||||
|
version="1.1"
|
||||||
|
id="svg425"
|
||||||
|
sodipodi:docname="CloudPlatform.svg"
|
||||||
|
width="274.75"
|
||||||
|
height="126.24"
|
||||||
|
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||||
|
<metadata
|
||||||
|
id="metadata429">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1200"
|
||||||
|
id="namedview427"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-left="1"
|
||||||
|
fit-margin-bottom="1"
|
||||||
|
fit-margin-top="1"
|
||||||
|
fit-margin-right="1"
|
||||||
|
inkscape:zoom="2.593819"
|
||||||
|
inkscape:cx="115.77157"
|
||||||
|
inkscape:cy="14.444977"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg425" />
|
||||||
|
<defs
|
||||||
|
id="defs332">
|
||||||
|
<style
|
||||||
|
id="style330">.cls-1{fill:#f3f8fe;}.cls-2{fill:none;stroke:#061884;stroke-miterlimit:10;}.cls-3{fill:#061884;}.cls-4,.cls-6{fill:#fff;}.cls-4{fill-rule:evenodd;}.cls-5{fill:#dde9fd;}.cls-7{fill:#c5dbfb;}</style>
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
id="Layer_2"
|
||||||
|
data-name="Layer 2"
|
||||||
|
transform="translate(-28.84,-11.189998)">
|
||||||
|
<path
|
||||||
|
class="cls-1"
|
||||||
|
d="M 71.93,79.82 H 49.62 a 4.12,4.12 0 0 0 -4.13,4.11 v 47.55 a 4.13,4.13 0 0 0 4.13,4.12 h 22.31 a 4.13,4.13 0 0 0 4.13,-4.12 V 83.93 a 4.12,4.12 0 0 0 -4.13,-4.11 z m 2.18,51 a 2.82,2.82 0 0 1 -2.82,2.82 h -21 a 2.83,2.83 0 0 1 -2.82,-2.82 V 84.58 a 2.84,2.84 0 0 1 2.82,-2.83 h 5.92 a 1.45,1.45 0 0 0 1.45,1.46 h 6.3 a 1.46,1.46 0 0 0 1.46,-1.46 h 5.91 a 2.83,2.83 0 0 1 2.82,2.83 z"
|
||||||
|
id="path334"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#f3f8fe" />
|
||||||
|
<path
|
||||||
|
class="cls-2"
|
||||||
|
d="M 71.93,79.82 H 49.62 a 4.12,4.12 0 0 0 -4.13,4.11 v 47.55 a 4.13,4.13 0 0 0 4.13,4.12 h 22.31 a 4.13,4.13 0 0 0 4.13,-4.12 V 83.93 a 4.12,4.12 0 0 0 -4.13,-4.11 z"
|
||||||
|
id="path336"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:none;stroke:#061884;stroke-miterlimit:10" />
|
||||||
|
<path
|
||||||
|
class="cls-3"
|
||||||
|
d="m 63.2,81 h -4.85 a 0.5,0.5 0 1 0 0,1 h 4.85 a 0.5,0.5 0 0 0 0,-1 z"
|
||||||
|
id="path338"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<path
|
||||||
|
class="cls-4"
|
||||||
|
d="m 74.11,84.58 v 46.26 a 2.82,2.82 0 0 1 -2.82,2.82 h -21 a 2.83,2.83 0 0 1 -2.82,-2.82 V 84.58 a 2.84,2.84 0 0 1 2.82,-2.83 h 5.92 a 1.45,1.45 0 0 0 1.45,1.46 h 6.3 a 1.46,1.46 0 0 0 1.46,-1.46 h 5.91 a 2.83,2.83 0 0 1 2.78,2.83 z"
|
||||||
|
id="path340"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff;fill-rule:evenodd" />
|
||||||
|
<rect
|
||||||
|
class="cls-5"
|
||||||
|
x="50.32"
|
||||||
|
y="125.88"
|
||||||
|
width="19.91"
|
||||||
|
height="4.7399998"
|
||||||
|
id="rect342"
|
||||||
|
style="fill:#dde9fd" />
|
||||||
|
<rect
|
||||||
|
class="cls-5"
|
||||||
|
x="50.32"
|
||||||
|
y="85.959999"
|
||||||
|
width="19.91"
|
||||||
|
height="1.9"
|
||||||
|
rx="0.94999999"
|
||||||
|
id="rect344"
|
||||||
|
style="fill:#dde9fd" />
|
||||||
|
<rect
|
||||||
|
class="cls-5"
|
||||||
|
x="50.32"
|
||||||
|
y="114.4"
|
||||||
|
width="10.43"
|
||||||
|
height="1.9"
|
||||||
|
rx="0.94999999"
|
||||||
|
id="rect346"
|
||||||
|
style="fill:#dde9fd" />
|
||||||
|
<rect
|
||||||
|
class="cls-5"
|
||||||
|
x="50.32"
|
||||||
|
y="117.25"
|
||||||
|
width="10.43"
|
||||||
|
height="1.9"
|
||||||
|
rx="0.94999999"
|
||||||
|
id="rect348"
|
||||||
|
style="fill:#dde9fd" />
|
||||||
|
<path
|
||||||
|
class="cls-1"
|
||||||
|
d="m 291.5,135.38 a 5.12,5.12 0 0 0 5.11,-5.11 v -0.38 a 0.38,0.38 0 0 0 -0.37,-0.37 h -103.9 a 0.37,0.37 0 0 0 -0.36,0.37 v 0.38 a 5.11,5.11 0 0 0 5.1,5.11 z"
|
||||||
|
id="path350"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#f3f8fe" />
|
||||||
|
<path
|
||||||
|
class="cls-3"
|
||||||
|
d="m 296.24,129.89 h -103.9 v 0.38 0 a 4.74,4.74 0 0 0 4.74,4.74 h 94.42 a 4.74,4.74 0 0 0 4.74,-4.74 v -0.38 m 0,-0.73 a 0.73,0.73 0 0 1 0.73,0.73 v 0.38 a 5.47,5.47 0 0 1 -5.47,5.47 h -94.42 a 5.47,5.47 0 0 1 -5.47,-5.47 v -0.38 a 0.73,0.73 0 0 1 0.73,-0.73 z"
|
||||||
|
id="path352"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<path
|
||||||
|
class="cls-3"
|
||||||
|
d="m 235.51,129.16 a 2.93,2.93 0 0 0 2.93,2.93 h 11.71 a 2.93,2.93 0 0 0 2.92,-2.93 z"
|
||||||
|
id="path354"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<path
|
||||||
|
class="cls-1"
|
||||||
|
d="M 287.83,129.52 V 71.36 a 2.56,2.56 0 0 0 -2.56,-2.56 h -81.95 a 2.56,2.56 0 0 0 -2.56,2.56 v 58.16 z"
|
||||||
|
id="path356"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#f3f8fe" />
|
||||||
|
<path
|
||||||
|
class="cls-2"
|
||||||
|
d="M 287.83,129.52 V 71.36 a 2.56,2.56 0 0 0 -2.56,-2.56 h -81.95 a 2.56,2.56 0 0 0 -2.56,2.56 v 58.16"
|
||||||
|
id="path358"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:none;stroke:#061884;stroke-miterlimit:10" />
|
||||||
|
<path
|
||||||
|
class="cls-6"
|
||||||
|
d="m 284.17,128.79 v -56 a 0.36,0.36 0 0 0 -0.37,-0.36 h -79 a 0.36,0.36 0 0 0 -0.36,0.36 v 56 z"
|
||||||
|
id="path360"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
class="cls-1"
|
||||||
|
d="m 283.8,72.82 h -79 v 55.61 h 79 V 72.82 m 0.74,0 v 56.34 H 204.05 V 72.82 a 0.73,0.73 0 0 1 0.73,-0.73 h 79 a 0.74,0.74 0 0 1 0.76,0.73 z"
|
||||||
|
id="path362"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#f3f8fe" />
|
||||||
|
<path
|
||||||
|
class="cls-2"
|
||||||
|
d="M 204.11,129.57 V 73.86 a 1.64,1.64 0 0 1 1.64,-1.64 H 283 a 1.64,1.64 0 0 1 1.64,1.64 v 55.71"
|
||||||
|
id="path364"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:none;stroke:#061884;stroke-miterlimit:10" />
|
||||||
|
<path
|
||||||
|
class="cls-2"
|
||||||
|
d="m 291.5,135.38 a 5.12,5.12 0 0 0 5.11,-5.11 v -0.38 a 0.38,0.38 0 0 0 -0.37,-0.37 h -103.9 a 0.37,0.37 0 0 0 -0.36,0.37 v 0.38 a 5.11,5.11 0 0 0 5.1,5.11 z"
|
||||||
|
id="path366"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:none;stroke:#061884;stroke-miterlimit:10" />
|
||||||
|
<path
|
||||||
|
class="cls-3"
|
||||||
|
d="m 131.73,12.19 c -3.87,0 -8.7,5.75 -14.75,17.5 -4.63,9 -8.26,18.32 -8.3,18.41 a 0.86443623,0.86443623 0 0 0 1.61,0.63 c 5.46,-14.09 16.24,-36 21.88,-34.77 5.64,1.23 5.35,21.35 3.87,33.76 a 0.86142324,0.86142324 0 1 0 1.71,0.21 c 0.41,-3.45 3.75,-33.71 -5.22,-35.65 a 3.57,3.57 0 0 0 -0.8,-0.09 z"
|
||||||
|
id="path368"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<path
|
||||||
|
class="cls-3"
|
||||||
|
d="m 143.87,17.34 a 3.56,3.56 0 0 0 -0.8,0.08 c -9,1.94 -5.63,32.2 -5.22,35.65 a 0.86142324,0.86142324 0 1 0 1.71,-0.21 c -1.48,-12.41 -1.74,-32.55 3.87,-33.76 5.61,-1.21 16.42,20.68 21.88,34.77 a 0.86443623,0.86443623 0 1 0 1.61,-0.63 c 0,-0.09 -3.67,-9.42 -8.3,-18.41 -6.05,-11.75 -10.88,-17.49 -14.75,-17.49 z"
|
||||||
|
id="path370"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<path
|
||||||
|
class="cls-1"
|
||||||
|
d="m 178,135.58 a 2.25,2.25 0 0 0 2.24,-2.24 v -84 A 2.3,2.3 0 0 0 178,47 H 94.81 a 2.29,2.29 0 0 0 -2.24,2.29 v 84 a 2.24,2.24 0 0 0 2.24,2.24 h 6 l 0.69,-0.38 c 3.56,-2 3.94,-2.2 8.66,-2.2 h 51.59 c 4.72,0 5.09,0.21 8.66,2.2 l 0.69,0.38 z"
|
||||||
|
id="path372"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#f3f8fe" />
|
||||||
|
<path
|
||||||
|
class="cls-3"
|
||||||
|
d="M 178,47.45 H 94.81 A 1.85,1.85 0 0 0 93,49.31 v 84 0 a 1.81,1.81 0 0 0 1.81,1.81 h 5.93 c 4.15,-2.3 4.37,-2.58 9.46,-2.58 h 51.59 c 5.08,0 5.31,0.28 9.46,2.58 H 178 a 1.81,1.81 0 0 0 1.81,-1.81 v -84 A 1.85,1.85 0 0 0 178,47.45 m 2.67,1.86 v 84 A 2.68,2.68 0 0 1 178,136 h -7 l -0.19,-0.11 -0.59,-0.33 c -3.55,-2 -3.84,-2.14 -8.45,-2.14 H 110.2 c -4.61,0 -4.9,0.16 -8.45,2.14 l -0.59,0.33 -0.2,0.11 h -6.15 a 2.66,2.66 0 0 1 -2.67,-2.67 v -84 a 2.69,2.69 0 0 1 2.67,-2.72 H 178 a 2.7,2.7 0 0 1 2.71,2.7 z"
|
||||||
|
id="path374"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<rect
|
||||||
|
class="cls-3"
|
||||||
|
x="111.92"
|
||||||
|
y="126.55"
|
||||||
|
width="3.4400001"
|
||||||
|
height="0.86000001"
|
||||||
|
id="rect376"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<circle
|
||||||
|
class="cls-3"
|
||||||
|
cx="102.46"
|
||||||
|
cy="50.029999"
|
||||||
|
r="0.86000001"
|
||||||
|
id="circle378"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<circle
|
||||||
|
class="cls-3"
|
||||||
|
cx="124.81"
|
||||||
|
cy="50.029999"
|
||||||
|
r="0.86000001"
|
||||||
|
id="circle380"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<circle
|
||||||
|
class="cls-3"
|
||||||
|
cx="147.17"
|
||||||
|
cy="50.029999"
|
||||||
|
r="0.86000001"
|
||||||
|
id="circle382"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<circle
|
||||||
|
class="cls-3"
|
||||||
|
cx="169.53"
|
||||||
|
cy="50.029999"
|
||||||
|
r="0.86000001"
|
||||||
|
id="circle384"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<circle
|
||||||
|
class="cls-3"
|
||||||
|
cx="102.46"
|
||||||
|
cy="126.55"
|
||||||
|
r="0.86000001"
|
||||||
|
id="circle386"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<circle
|
||||||
|
class="cls-3"
|
||||||
|
cx="169.53"
|
||||||
|
cy="126.55"
|
||||||
|
r="0.86000001"
|
||||||
|
id="circle388"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<path
|
||||||
|
class="cls-6"
|
||||||
|
d="m 168.52,121.82 a 6.6,6.6 0 0 0 6.6,-6.59 V 60.42 A 3.1,3.1 0 0 0 172,57.34 h -71.19 a 3.08,3.08 0 0 0 -3.08,3.08 v 54.81 a 6.59,6.59 0 0 0 6.6,6.59 z"
|
||||||
|
id="path390"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
class="cls-1"
|
||||||
|
d="m 172,57.77 h -71.19 a 2.65,2.65 0 0 0 -2.65,2.65 v 54.81 a 6.16,6.16 0 0 0 6.17,6.16 h 64.19 a 6.18,6.18 0 0 0 6.17,-6.16 V 60.42 A 2.66,2.66 0 0 0 172,57.77 m 3.52,2.65 v 54.81 0 a 7,7 0 0 1 -7,7 h -64.19 a 7,7 0 0 1 -7,-7 V 60.42 a 3.51,3.51 0 0 1 3.51,-3.51 H 172 a 3.52,3.52 0 0 1 3.55,3.51 z"
|
||||||
|
id="path392"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#f3f8fe" />
|
||||||
|
<path
|
||||||
|
class="cls-3"
|
||||||
|
d="m 172,56.91 h -71.19 a 3.51,3.51 0 0 0 -3.51,3.51 v 54.81 a 7,7 0 0 0 7,7 h 64.19 a 7,7 0 0 0 7,-7 V 60.42 A 3.52,3.52 0 0 0 172,56.91 m 4.38,3.51 v 54.81 a 7.9,7.9 0 0 1 -7.89,7.88 h -64.16 a 7.88,7.88 0 0 1 -7.89,-7.88 V 60.42 a 4.37,4.37 0 0 1 4.37,-4.37 H 172 a 4.38,4.38 0 0 1 4.41,4.37 z"
|
||||||
|
id="path394"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<path
|
||||||
|
class="cls-7"
|
||||||
|
d="m 146.31,118 h -20.64 v 10.32 h 20.64 V 118 m 0,-0.85 v 0 a 0.83,0.83 0 0 1 0.84,0.83 v 10.32 0 a 0.83,0.83 0 0 1 -0.84,0.83 h -20.66 a 0.84,0.84 0 0 1 -0.84,-0.83 v -10.37 a 0.84,0.84 0 0 1 0.84,-0.83 z"
|
||||||
|
id="path396"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#c5dbfb" />
|
||||||
|
<path
|
||||||
|
class="cls-6"
|
||||||
|
d="m 142.1,65.93 a 1.35,1.35 0 0 0 1.29,-1 L 145,58.77 v -2.29 h -18 v 2.29 l 1.6,6.23 a 1.34,1.34 0 0 0 1.28,1 z"
|
||||||
|
id="path398"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
class="cls-3"
|
||||||
|
d="m 144.59,56.91 h -17.2 v 1.8 l 1.61,6.14 a 0.9,0.9 0 0 0 0.87,0.65 h 12.23 a 0.89,0.89 0 0 0 0.87,-0.65 l 1.62,-6.14 v -1.8 m 0.86,-0.86 v 2.78 0.1 l -1.62,6.16 a 1.77,1.77 0 0 1 -1.7,1.27 h -12.25 a 1.78,1.78 0 0 1 -1.7,-1.29 l -1.62,-6.14 v -0.1 -2.78 z"
|
||||||
|
id="path400"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<path
|
||||||
|
class="cls-6"
|
||||||
|
d="m 140.19,67.65 h 0.15 a 1.34,1.34 0 0 0 1.17,-1.48 l -0.84,-7.11 h -9.36 l -0.84,7.11 v 0.15 a 1.32,1.32 0 0 0 1.33,1.33 z"
|
||||||
|
id="path402"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
class="cls-3"
|
||||||
|
d="m 140.29,59.49 h -8.6 l -0.79,6.73 v 0.1 a 0.9,0.9 0 0 0 0.9,0.9 h 8.49 a 0.9,0.9 0 0 0 0.79,-1 l -0.79,-6.73 m 0.77,-0.86 0.09,0.76 0.79,6.74 a 1.21,1.21 0 0 1 0,0.19 1.76,1.76 0 0 1 -1.76,1.76 h -8.58 a 1.76,1.76 0 0 1 -1.55,-1.95 l 0.79,-6.73 0.09,-0.76 z"
|
||||||
|
id="path404"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<path
|
||||||
|
class="cls-6"
|
||||||
|
d="m 147,59.06 a 2.59,2.59 0 0 0 0,-5.16 h -22 a 2.59,2.59 0 0 0 0,5.16 z"
|
||||||
|
id="path406"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
class="cls-3"
|
||||||
|
d="m 147,54.33 h -22 a 2,2 0 0 0 -1.92,2.13 2.07,2.07 0 0 0 1.92,2.17 h 22 a 2.07,2.07 0 0 0 1.92,-2.17 2,2 0 0 0 -1.92,-2.13 m 2.78,2.13 a 2.92,2.92 0 0 1 -2.78,3 h -22 a 3,3 0 0 1 0,-6 h 22 a 2.9,2.9 0 0 1 2.75,3 z"
|
||||||
|
id="path408"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<rect
|
||||||
|
class="cls-3"
|
||||||
|
x="135.56"
|
||||||
|
y="54.330002"
|
||||||
|
width="0.86000001"
|
||||||
|
height="4.3699999"
|
||||||
|
id="rect410"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<line
|
||||||
|
class="cls-2"
|
||||||
|
x1="29.84"
|
||||||
|
y1="135.92999"
|
||||||
|
x2="302.59"
|
||||||
|
y2="135.92999"
|
||||||
|
id="line412"
|
||||||
|
style="fill:none;stroke:#061884;stroke-miterlimit:10" />
|
||||||
|
<polygon
|
||||||
|
class="cls-5"
|
||||||
|
points="112.35,101.51 124.06,121.81 147.5,121.81 159.22,101.51 147.5,81.22 124.06,81.22 "
|
||||||
|
id="polygon414"
|
||||||
|
style="fill:#dde9fd" />
|
||||||
|
<polygon
|
||||||
|
class="cls-5"
|
||||||
|
points="224.57,103.51 234.68,121.01 254.89,121.01 264.99,103.51 254.89,86.01 234.68,86.01 "
|
||||||
|
id="polygon416"
|
||||||
|
style="fill:#dde9fd" />
|
||||||
|
<path
|
||||||
|
class="cls-6"
|
||||||
|
d="m 125.65,117.53 a 0.41,0.41 0 0 0 -0.41,0.4 v 10.37 0 a 0.41,0.41 0 0 0 0.41,0.4 h 20.68 a 0.4,0.4 0 0 0 0.41,-0.4 v -10.37 0 a 0.4,0.4 0 0 0 -0.41,-0.4 z"
|
||||||
|
id="path418"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
class="cls-3"
|
||||||
|
d="m 146.33,117.1 h -20.68 a 0.84,0.84 0 0 0 -0.84,0.83 v 10.37 a 0.84,0.84 0 0 0 0.84,0.83 h 20.68 a 0.83,0.83 0 0 0 0.84,-0.83 v -10.37 0 a 0.83,0.83 0 0 0 -0.84,-0.83 m 1.7,0.83 v 10.37 a 1.7,1.7 0 0 1 -1.7,1.69 h -20.68 a 1.7,1.7 0 0 1 -1.7,-1.69 v -10.37 a 1.7,1.7 0 0 1 1.7,-1.69 h 20.68 a 1.7,1.7 0 0 1 1.67,1.69 z"
|
||||||
|
id="path420"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#061884" />
|
||||||
|
<polygon
|
||||||
|
class="cls-5"
|
||||||
|
points="50.22,101.67 55.22,110.33 65.22,110.33 70.22,101.67 65.22,93.01 55.22,93.01 "
|
||||||
|
id="polygon422"
|
||||||
|
style="fill:#dde9fd" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 14 KiB |
|
@ -1,13 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="186px" height="57px" viewBox="0 0 186 57" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<!-- Generator: Sketch 52.6 (67491) - http://www.bohemiancoding.com/sketch -->
|
|
||||||
<title>Cloud_connection-icon</title>
|
|
||||||
<desc>Created with Sketch.</desc>
|
|
||||||
<g id="Cloud_connection-icon" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
||||||
<path d="M38.6261428,52.7109865 L7.48755878,52.7109865 C6.85100215,52.7676651 6.21444551,52.994379 5.75149524,53.3911284 L5.40428251,53.7311992 C5.05706981,54.2979841 4.36264439,54.4113411 3.66821896,54.4113411 L0.543304569,54.4113411 C0.369698215,54.4113411 0.196091859,54.2413055 0.196091859,54.0712703 L0.196091859,0.623463283 C0.196091859,0.453427843 0.369698215,0.283392401 0.543304569,0.283392401 L48.3429212,0.283392401 C48.5165273,0.283392401 48.6901338,0.453427843 48.6901338,0.623463283 L48.6901338,26.0155943 C48.4613867,26.0052354 48.2313048,26 48,26 C46.4042274,26 44.8666558,26.2491876 43.4240742,26.7107738 L43.4240742,6.23463283 C43.4240742,5.61116956 42.9032553,5.15774169 42.3245675,5.15774169 L6.50378945,5.15774169 C5.86723281,5.15774169 5.40428251,5.66784803 5.40428251,6.23463283 L5.40428251,41.3186122 C5.40428251,42.9056095 6.73526457,44.2092147 8.35559054,44.2092147 L33.3440862,44.2092147 C34.087979,47.6221969 35.9937272,50.6011835 38.6261428,52.7109865 Z" id="Combined-Shape" fill="#08073F" fill-rule="nonzero"></path>
|
|
||||||
<path d="M158.961954,52.7109865 L131.487559,52.7109865 C130.851002,52.7676651 130.214446,52.994379 129.751495,53.3911284 L129.404283,53.7311992 C129.05707,54.2979841 128.362644,54.4113411 127.668219,54.4113411 L124.543305,54.4113411 C124.369698,54.4113411 124.196092,54.2413055 124.196092,54.0712703 L124.196092,0.623463283 C124.196092,0.453427843 124.369698,0.283392401 124.543305,0.283392401 L172.342921,0.283392401 C172.516527,0.283392401 172.690134,0.453427843 172.690134,0.623463283 L172.690134,27.0854877 C172.13468,27.0289729 171.570805,27 171,27 C169.770934,27 168.574002,27.1343278 167.424074,27.3886981 L167.424074,6.23463283 C167.424074,5.61116956 166.903255,5.15774169 166.324567,5.15774169 L130.503789,5.15774169 C129.867233,5.15774169 129.404283,5.66784803 129.404283,6.23463283 L129.404283,41.3186122 C129.404283,42.9056095 130.735265,44.2092147 132.355591,44.2092147 L155.096113,44.2092147 C155.462794,47.4493334 156.859805,50.3873861 158.961954,52.7109865 Z" id="Combined-Shape" fill="#08073F" fill-rule="nonzero"></path>
|
|
||||||
<path d="M171,56 C163.26057,56 157,49.9481159 157,42.5 C157,35.0518841 163.26057,29 171,29 C178.73943,29 185,35.0518841 185,42.5 C185,49.9481159 178.73943,56 171,56 Z M177.416667,40.7546296 C177.233333,39.1569444 175.858333,37.9351852 174.208333,37.9351852 C173.75,37.9351852 173.383333,38.0291667 173.016667,38.2171296 C172.191667,36.9013889 170.725,36.0555556 169.166667,36.0555556 C166.6,36.0555556 164.583333,38.1231482 164.583333,40.7546296 C164.583333,40.7546296 164.583333,40.7546296 164.583333,40.8486111 C163.025,41.0365741 161.833333,42.4462963 161.833333,44.0439815 C161.833333,45.8296296 163.3,47.3333333 165.041667,47.3333333 C166.416667,47.3333333 175.308333,47.3333333 176.958333,47.3333333 C178.7,47.3333333 180.166667,45.8296296 180.166667,44.0439815 C180.166667,42.3523148 178.975,41.0365741 177.416667,40.7546296 Z" id="Combined-Shape" fill="#3282FF" fill-rule="nonzero"></path>
|
|
||||||
<path d="M48,54 C40.8202983,54 35,48.1797017 35,41 C35,33.8202983 40.8202983,28 48,28 C55.1797017,28 61,33.8202983 61,41 C61,48.1797017 55.1797017,54 48,54 Z M46.862511,41.4631428 L43.8629783,38.6111022 L41.1067187,41.5099007 L47.0308248,47.1427085 L55.8527121,37.698579 L52.9296286,34.9680877 L46.862511,41.4631428 Z" id="Combined-Shape" fill="#3282FF" fill-rule="nonzero"></path>
|
|
||||||
<path d="M54.5,25 C53.6715729,25 53,24.3284271 53,23.5 C53,22.6715729 53.6715729,22 54.5,22 C55.3284271,22 56,22.6715729 56,23.5 C56,24.3284271 55.3284271,25 54.5,25 Z M78.5,25 C77.6715729,25 77,24.3284271 77,23.5 C77,22.6715729 77.6715729,22 78.5,22 C79.3284271,22 80,22.6715729 80,23.5 C80,24.3284271 79.3284271,25 78.5,25 Z M102.5,25 C101.671573,25 101,24.3284271 101,23.5 C101,22.6715729 101.671573,22 102.5,22 C103.328427,22 104,22.6715729 104,23.5 C104,24.3284271 103.328427,25 102.5,25 Z M62.5,25 C61.6715729,25 61,24.3284271 61,23.5 C61,22.6715729 61.6715729,22 62.5,22 C63.3284271,22 64,22.6715729 64,23.5 C64,24.3284271 63.3284271,25 62.5,25 Z M86.5,25 C85.6715729,25 85,24.3284271 85,23.5 C85,22.6715729 85.6715729,22 86.5,22 C87.3284271,22 88,22.6715729 88,23.5 C88,24.3284271 87.3284271,25 86.5,25 Z M110.5,25 C109.671573,25 109,24.3284271 109,23.5 C109,22.6715729 109.671573,22 110.5,22 C111.328427,22 112,22.6715729 112,23.5 C112,24.3284271 111.328427,25 110.5,25 Z M70.5,25 C69.6715729,25 69,24.3284271 69,23.5 C69,22.6715729 69.6715729,22 70.5,22 C71.3284271,22 72,22.6715729 72,23.5 C72,24.3284271 71.3284271,25 70.5,25 Z M94.5,25 C93.6715729,25 93,24.3284271 93,23.5 C93,22.6715729 93.6715729,22 94.5,22 C95.3284271,22 96,22.6715729 96,23.5 C96,24.3284271 95.3284271,25 94.5,25 Z M118.5,25 C117.671573,25 117,24.3284271 117,23.5 C117,22.6715729 117.671573,22 118.5,22 C119.328427,22 120,22.6715729 120,23.5 C120,24.3284271 119.328427,25 118.5,25 Z" id="Combined-Shape" fill="#3282FF" fill-rule="nonzero"></path>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 5.3 KiB |
|
@ -15,27 +15,26 @@ I18N_CATALOG = i18nCatalog("cura")
|
||||||
|
|
||||||
class CloudFlowMessage(Message):
|
class CloudFlowMessage(Message):
|
||||||
|
|
||||||
def __init__(self, address: str) -> None:
|
def __init__(self, printer_name: str) -> None:
|
||||||
|
|
||||||
image_path = os.path.join(
|
image_path = os.path.join(
|
||||||
CuraApplication.getInstance().getPluginRegistry().getPluginPath("UM3NetworkPrinting") or "",
|
CuraApplication.getInstance().getPluginRegistry().getPluginPath("UM3NetworkPrinting") or "",
|
||||||
"resources", "svg", "cloud-flow-start.svg"
|
"resources", "svg", "CloudPlatform.svg"
|
||||||
)
|
)
|
||||||
|
|
||||||
super().__init__(
|
super().__init__(
|
||||||
text=I18N_CATALOG.i18nc("@info:status",
|
text = I18N_CATALOG.i18nc("@info:status",
|
||||||
"Send and monitor print jobs from anywhere using your Ultimaker account."),
|
f"Your printer <b>{printer_name}</b> could be connected via cloud.\n Manage your print queue and monitor your prints from anywhere connecting your printer to Digital Factory"),
|
||||||
lifetime=0,
|
title = I18N_CATALOG.i18nc("@info:title", "Are you ready for cloud printing?"),
|
||||||
dismissable=True,
|
image_source = QUrl.fromLocalFile(image_path)
|
||||||
option_state=False,
|
|
||||||
image_source=QUrl.fromLocalFile(image_path),
|
|
||||||
image_caption=I18N_CATALOG.i18nc("@info:status Ultimaker Cloud should not be translated.",
|
|
||||||
"Connect to Ultimaker Digital Factory"),
|
|
||||||
)
|
)
|
||||||
self._address = address
|
self._printer_name = printer_name
|
||||||
self.addAction("", I18N_CATALOG.i18nc("@action", "Get started"), "", "")
|
self.addAction("get_started", I18N_CATALOG.i18nc("@action", "Get started"), "", "")
|
||||||
|
self.addAction("learn_more", I18N_CATALOG.i18nc("@action", "Learn more"), "", "", button_style = Message.ActionButtonStyle.LINK, button_align = Message.ActionButtonAlignment.ALIGN_LEFT)
|
||||||
|
|
||||||
self.actionTriggered.connect(self._onCloudFlowStarted)
|
self.actionTriggered.connect(self._onCloudFlowStarted)
|
||||||
|
|
||||||
def _onCloudFlowStarted(self, messageId: str, actionId: str) -> None:
|
def _onCloudFlowStarted(self, message_id: str, action_id: str) -> None:
|
||||||
QDesktopServices.openUrl(QUrl("http://{}/cloud_connect".format(self._address)))
|
if action_id == "get_started":
|
||||||
self.hide()
|
QDesktopServices.openUrl(QUrl("https://digitalfactory.ultimaker.com/app/printers?add_printer=true&utm_source=cura&utm_medium=software&utm_campaign=message-networkprinter-added"))
|
||||||
|
self.hide()
|
||||||
|
else:
|
||||||
|
QDesktopServices.openUrl(QUrl("https://support.ultimaker.com/hc/en-us/articles/360012019239?utm_source=cura&utm_medium=software&utm_campaign=add-cloud-printer"))
|
||||||
|
|
|
@ -52,7 +52,6 @@ class LocalClusterOutputDeviceManager:
|
||||||
|
|
||||||
def start(self) -> None:
|
def start(self) -> None:
|
||||||
"""Start the network discovery."""
|
"""Start the network discovery."""
|
||||||
|
|
||||||
self._zero_conf_client.start()
|
self._zero_conf_client.start()
|
||||||
for address in self._getStoredManualAddresses():
|
for address in self._getStoredManualAddresses():
|
||||||
self.addManualDevice(address)
|
self.addManualDevice(address)
|
||||||
|
@ -292,4 +291,4 @@ class LocalClusterOutputDeviceManager:
|
||||||
if not CuraApplication.getInstance().getCuraAPI().account.isLoggedIn:
|
if not CuraApplication.getInstance().getCuraAPI().account.isLoggedIn:
|
||||||
# Do not show the message if the user is not signed in.
|
# Do not show the message if the user is not signed in.
|
||||||
return
|
return
|
||||||
CloudFlowMessage(device.ipAddress).show()
|
CloudFlowMessage(device.name).show()
|
||||||
|
|
|
@ -133,6 +133,9 @@ class SendMaterialJob(Job):
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
Logger.error("Unable to send material {material_id}, since it has been deleted in the meanwhile.".format(material_id = material_id))
|
Logger.error("Unable to send material {material_id}, since it has been deleted in the meanwhile.".format(material_id = material_id))
|
||||||
return
|
return
|
||||||
|
except EnvironmentError as e:
|
||||||
|
Logger.error(f"Unable to send material {material_id}. We can't open that file for reading: {str(e)}")
|
||||||
|
return
|
||||||
|
|
||||||
# Add the material signature file if needed.
|
# Add the material signature file if needed.
|
||||||
signature_file_path = "{}.sig".format(file_path)
|
signature_file_path = "{}.sig".format(file_path)
|
||||||
|
|
|
@ -0,0 +1,114 @@
|
||||||
|
# Copyright (c) 2021 Ultimaker B.V.
|
||||||
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
|
import configparser
|
||||||
|
import io
|
||||||
|
import os.path
|
||||||
|
from typing import List, Tuple
|
||||||
|
|
||||||
|
from UM.VersionUpgrade import VersionUpgrade
|
||||||
|
|
||||||
|
|
||||||
|
class VersionUpgrade411to412(VersionUpgrade):
|
||||||
|
"""
|
||||||
|
Upgrades configurations from the state they were in at version 4.11 to the
|
||||||
|
state they should be in at version 4.12.
|
||||||
|
"""
|
||||||
|
|
||||||
|
_flsun_profile_mapping = {
|
||||||
|
"extra_coarse": "flsun_sr_normal",
|
||||||
|
"coarse": "flsun_sr_normal",
|
||||||
|
"extra_fast": "flsun_sr_normal",
|
||||||
|
"draft": "flsun_sr_normal",
|
||||||
|
"fast": "flsun_sr_normal",
|
||||||
|
"normal": "flsun_sr_normal",
|
||||||
|
"high": "flsun_sr_fine"
|
||||||
|
}
|
||||||
|
|
||||||
|
_flsun_quality_type_mapping = {
|
||||||
|
"extra coarse": "normal",
|
||||||
|
"coarse" : "normal",
|
||||||
|
"verydraft" : "normal",
|
||||||
|
"draft" : "normal",
|
||||||
|
"fast" : "normal",
|
||||||
|
"normal" : "normal",
|
||||||
|
"high" : "fine"
|
||||||
|
}
|
||||||
|
|
||||||
|
def upgradePreferences(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
|
||||||
|
"""
|
||||||
|
Upgrades preferences to have the new version number.
|
||||||
|
:param serialized: The original contents of the preferences file.
|
||||||
|
:param filename: The file name of the preferences file.
|
||||||
|
:return: A list of new file names, and a list of the new contents for
|
||||||
|
those files.
|
||||||
|
"""
|
||||||
|
parser = configparser.ConfigParser(interpolation = None)
|
||||||
|
parser.read_string(serialized)
|
||||||
|
|
||||||
|
# Update version number.
|
||||||
|
parser["metadata"]["setting_version"] = "19"
|
||||||
|
|
||||||
|
result = io.StringIO()
|
||||||
|
parser.write(result)
|
||||||
|
return [filename], [result.getvalue()]
|
||||||
|
|
||||||
|
|
||||||
|
def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
|
||||||
|
"""
|
||||||
|
Upgrades instance containers to have the new version number.
|
||||||
|
:param serialized: The original contents of the instance container.
|
||||||
|
:param filename: The file name of the instance container.
|
||||||
|
:return: A list of file names, and a list of the new contents for those
|
||||||
|
files.
|
||||||
|
"""
|
||||||
|
parser = configparser.ConfigParser(interpolation = None, comment_prefixes = ())
|
||||||
|
parser.read_string(serialized)
|
||||||
|
|
||||||
|
# Update setting version number.
|
||||||
|
if "metadata" not in parser:
|
||||||
|
parser["metadata"] = {}
|
||||||
|
parser["metadata"]["setting_version"] = "19"
|
||||||
|
|
||||||
|
# Update user-made quality profiles of flsun_sr printers to use the flsun_sr-specific qualities instead of the
|
||||||
|
# global ones as their base
|
||||||
|
file_base_name = os.path.basename(filename) # Remove any path-related characters from the filename
|
||||||
|
if file_base_name.startswith("flsun_sr_") and parser["metadata"].get("type") == "quality_changes":
|
||||||
|
if "general" in parser and parser["general"].get("definition") == "fdmprinter":
|
||||||
|
old_quality_type = parser["metadata"].get("quality_type", "normal")
|
||||||
|
parser["general"]["definition"] = "flsun_sr"
|
||||||
|
parser["metadata"]["quality_type"] = self._flsun_quality_type_mapping.get(old_quality_type, "normal")
|
||||||
|
|
||||||
|
result = io.StringIO()
|
||||||
|
parser.write(result)
|
||||||
|
return [filename], [result.getvalue()]
|
||||||
|
|
||||||
|
def upgradeStack(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
|
||||||
|
"""
|
||||||
|
Upgrades container stacks to have the new version number.
|
||||||
|
Upgrades container stacks for FLSun Racer to change their profiles.
|
||||||
|
:param serialized: The original contents of the container stack.
|
||||||
|
:param filename: The file name of the container stack.
|
||||||
|
:return: A list of file names, and a list of the new contents for those
|
||||||
|
files.
|
||||||
|
"""
|
||||||
|
parser = configparser.ConfigParser(interpolation = None)
|
||||||
|
parser.read_string(serialized)
|
||||||
|
|
||||||
|
# Update setting version number.
|
||||||
|
if "metadata" not in parser:
|
||||||
|
parser["metadata"] = {}
|
||||||
|
parser["metadata"]["setting_version"] = "19"
|
||||||
|
|
||||||
|
# Change renamed profiles.
|
||||||
|
if "containers" in parser:
|
||||||
|
definition_id = parser["containers"].get("7")
|
||||||
|
if definition_id == "flsun_sr":
|
||||||
|
if parser["metadata"].get("type", "machine") == "machine": # Only global stacks.
|
||||||
|
old_quality = parser["containers"].get("3")
|
||||||
|
new_quality = self._flsun_profile_mapping.get(old_quality, "flsun_sr_normal")
|
||||||
|
parser["containers"]["3"] = new_quality
|
||||||
|
|
||||||
|
result = io.StringIO()
|
||||||
|
parser.write(result)
|
||||||
|
return [filename], [result.getvalue()]
|
56
plugins/VersionUpgrade/VersionUpgrade411to412/__init__.py
Normal file
56
plugins/VersionUpgrade/VersionUpgrade411to412/__init__.py
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
# Copyright (c) 2021 Ultimaker B.V.
|
||||||
|
# Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
|
from typing import Any, Dict, TYPE_CHECKING
|
||||||
|
|
||||||
|
from . import VersionUpgrade411to412
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from UM.Application import Application
|
||||||
|
|
||||||
|
upgrade = VersionUpgrade411to412.VersionUpgrade411to412()
|
||||||
|
|
||||||
|
|
||||||
|
def getMetaData() -> Dict[str, Any]:
|
||||||
|
return {
|
||||||
|
"version_upgrade": {
|
||||||
|
# From To Upgrade function
|
||||||
|
("machine_stack", 5000017): ("machine_stack", 5000019, upgrade.upgradeStack),
|
||||||
|
("extruder_train", 5000017): ("extruder_train", 5000019, upgrade.upgradeStack),
|
||||||
|
("definition_changes", 4000017): ("definition_changes", 4000019, upgrade.upgradeInstanceContainer),
|
||||||
|
("quality_changes", 4000017): ("quality_changes", 4000019, upgrade.upgradeInstanceContainer),
|
||||||
|
("quality", 4000017): ("quality", 4000019, upgrade.upgradeInstanceContainer),
|
||||||
|
("user", 4000017): ("user", 4000019, upgrade.upgradeInstanceContainer),
|
||||||
|
("preferences", 7000017): ("preferences", 7000019, upgrade.upgradePreferences),
|
||||||
|
},
|
||||||
|
"sources": {
|
||||||
|
"machine_stack": {
|
||||||
|
"get_version": upgrade.getCfgVersion,
|
||||||
|
"location": {"./machine_instances"}
|
||||||
|
},
|
||||||
|
"extruder_train": {
|
||||||
|
"get_version": upgrade.getCfgVersion,
|
||||||
|
"location": {"./extruders"}
|
||||||
|
},
|
||||||
|
"definition_changes": {
|
||||||
|
"get_version": upgrade.getCfgVersion,
|
||||||
|
"location": {"./definition_changes"}
|
||||||
|
},
|
||||||
|
"quality_changes": {
|
||||||
|
"get_version": upgrade.getCfgVersion,
|
||||||
|
"location": {"./quality_changes"}
|
||||||
|
},
|
||||||
|
"quality": {
|
||||||
|
"get_version": upgrade.getCfgVersion,
|
||||||
|
"location": {"./quality"}
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"get_version": upgrade.getCfgVersion,
|
||||||
|
"location": {"./user"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def register(app: "Application") -> Dict[str, Any]:
|
||||||
|
return {"version_upgrade": upgrade}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"name": "Version Upgrade 4.11 to 4.12",
|
||||||
|
"author": "Ultimaker B.V.",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Upgrades configurations from Cura 4.11 to Cura 4.12.",
|
||||||
|
"api": 7,
|
||||||
|
"i18n-catalog": "cura"
|
||||||
|
}
|
|
@ -1,36 +1,38 @@
|
||||||
cffi==1.14.1
|
|
||||||
colorlog
|
|
||||||
cryptography==3.4.6
|
|
||||||
importlib-metadata==3.7.2
|
|
||||||
mypy==0.740
|
|
||||||
numpy==1.20.2
|
|
||||||
PyQt5==5.15.2
|
|
||||||
PyQt5-sip==12.8.1
|
|
||||||
scipy==1.6.1
|
|
||||||
shapely[vectorized]==1.7.1
|
|
||||||
twisted==21.2.0
|
|
||||||
typing
|
|
||||||
appdirs==1.4.3
|
appdirs==1.4.3
|
||||||
certifi==2019.11.28
|
certifi==2019.11.28
|
||||||
|
cffi==1.14.1
|
||||||
chardet==3.0.4
|
chardet==3.0.4
|
||||||
|
colorlog
|
||||||
|
comtypes==1.1.7
|
||||||
|
cryptography==3.4.8
|
||||||
decorator==4.4.0
|
decorator==4.4.0
|
||||||
idna==2.8
|
idna==2.8
|
||||||
|
importlib-metadata==3.7.2
|
||||||
|
keyring==23.0.1
|
||||||
|
lxml==4.6.3
|
||||||
|
mypy==0.740
|
||||||
netifaces==0.10.9
|
netifaces==0.10.9
|
||||||
networkx==2.3
|
networkx==2.6.2
|
||||||
|
numpy==1.20.2
|
||||||
numpy-stl==2.10.1
|
numpy-stl==2.10.1
|
||||||
packaging==18.0
|
packaging==18.0
|
||||||
pycollada==0.6
|
pycollada==0.6
|
||||||
pycparser==2.19
|
pycparser==2.20
|
||||||
pyparsing==2.4.2
|
pyparsing==2.4.2
|
||||||
|
PyQt5==5.15.2
|
||||||
|
PyQt5-sip==12.8.1
|
||||||
pyserial==3.4
|
pyserial==3.4
|
||||||
pytest
|
pytest
|
||||||
python-dateutil==2.8.0
|
python-dateutil==2.8.0
|
||||||
python-utils==2.3.0
|
python-utils==2.3.0
|
||||||
|
pywin32==301
|
||||||
requests==2.22.0
|
requests==2.22.0
|
||||||
|
scipy==1.6.2
|
||||||
sentry-sdk==0.13.5
|
sentry-sdk==0.13.5
|
||||||
|
shapely[vectorized]==1.7.1
|
||||||
six==1.12.0
|
six==1.12.0
|
||||||
trimesh==3.2.33
|
trimesh==3.2.33
|
||||||
zeroconf==0.24.1
|
twisted==21.2.0
|
||||||
comtypes==1.1.7
|
typing
|
||||||
pywin32==300
|
urllib3==1.25.9
|
||||||
keyring==23.0.1
|
zeroconf==0.31.0
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
"display_name": "3MF Reader",
|
"display_name": "3MF Reader",
|
||||||
"description": "Provides support for reading 3MF files.",
|
"description": "Provides support for reading 3MF files.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
"display_name": "3MF Writer",
|
"display_name": "3MF Writer",
|
||||||
"description": "Provides support for writing 3MF files.",
|
"description": "Provides support for writing 3MF files.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
"display_name": "AMF Reader",
|
"display_name": "AMF Reader",
|
||||||
"description": "Provides support for reading AMF files.",
|
"description": "Provides support for reading AMF files.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "fieldOfView",
|
"author_id": "fieldOfView",
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
"display_name": "Cura Backups",
|
"display_name": "Cura Backups",
|
||||||
"description": "Backup and restore your configuration.",
|
"description": "Backup and restore your configuration.",
|
||||||
"package_version": "1.2.0",
|
"package_version": "1.2.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
"display_name": "CuraEngine Backend",
|
"display_name": "CuraEngine Backend",
|
||||||
"description": "Provides the link to the CuraEngine slicing backend.",
|
"description": "Provides the link to the CuraEngine slicing backend.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -91,7 +91,7 @@
|
||||||
"display_name": "Cura Profile Reader",
|
"display_name": "Cura Profile Reader",
|
||||||
"description": "Provides support for importing Cura profiles.",
|
"description": "Provides support for importing Cura profiles.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -108,7 +108,7 @@
|
||||||
"display_name": "Cura Profile Writer",
|
"display_name": "Cura Profile Writer",
|
||||||
"description": "Provides support for exporting Cura profiles.",
|
"description": "Provides support for exporting Cura profiles.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -124,8 +124,8 @@
|
||||||
"package_type": "plugin",
|
"package_type": "plugin",
|
||||||
"display_name": "Ultimaker Digital Library",
|
"display_name": "Ultimaker Digital Library",
|
||||||
"description": "Connects to the Digital Library, allowing Cura to open files from and save files to the Digital Library.",
|
"description": "Connects to the Digital Library, allowing Cura to open files from and save files to the Digital Library.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.1.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -142,7 +142,7 @@
|
||||||
"display_name": "Firmware Update Checker",
|
"display_name": "Firmware Update Checker",
|
||||||
"description": "Checks for firmware updates.",
|
"description": "Checks for firmware updates.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -159,7 +159,7 @@
|
||||||
"display_name": "Firmware Updater",
|
"display_name": "Firmware Updater",
|
||||||
"description": "Provides a machine actions for updating firmware.",
|
"description": "Provides a machine actions for updating firmware.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -176,7 +176,7 @@
|
||||||
"display_name": "Compressed G-code Reader",
|
"display_name": "Compressed G-code Reader",
|
||||||
"description": "Reads g-code from a compressed archive.",
|
"description": "Reads g-code from a compressed archive.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -193,7 +193,7 @@
|
||||||
"display_name": "Compressed G-code Writer",
|
"display_name": "Compressed G-code Writer",
|
||||||
"description": "Writes g-code to a compressed archive.",
|
"description": "Writes g-code to a compressed archive.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -210,7 +210,7 @@
|
||||||
"display_name": "G-Code Profile Reader",
|
"display_name": "G-Code Profile Reader",
|
||||||
"description": "Provides support for importing profiles from g-code files.",
|
"description": "Provides support for importing profiles from g-code files.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -227,7 +227,7 @@
|
||||||
"display_name": "G-Code Reader",
|
"display_name": "G-Code Reader",
|
||||||
"description": "Allows loading and displaying G-code files.",
|
"description": "Allows loading and displaying G-code files.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "VictorLarchenko",
|
"author_id": "VictorLarchenko",
|
||||||
|
@ -244,7 +244,7 @@
|
||||||
"display_name": "G-Code Writer",
|
"display_name": "G-Code Writer",
|
||||||
"description": "Writes g-code to a file.",
|
"description": "Writes g-code to a file.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -261,7 +261,7 @@
|
||||||
"display_name": "Image Reader",
|
"display_name": "Image Reader",
|
||||||
"description": "Enables ability to generate printable geometry from 2D image files.",
|
"description": "Enables ability to generate printable geometry from 2D image files.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -278,7 +278,7 @@
|
||||||
"display_name": "Legacy Cura Profile Reader",
|
"display_name": "Legacy Cura Profile Reader",
|
||||||
"description": "Provides support for importing profiles from legacy Cura versions.",
|
"description": "Provides support for importing profiles from legacy Cura versions.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -295,7 +295,7 @@
|
||||||
"display_name": "Machine Settings Action",
|
"display_name": "Machine Settings Action",
|
||||||
"description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).",
|
"description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "fieldOfView",
|
"author_id": "fieldOfView",
|
||||||
|
@ -312,7 +312,7 @@
|
||||||
"display_name": "Model Checker",
|
"display_name": "Model Checker",
|
||||||
"description": "Checks models and print configuration for possible printing issues and give suggestions.",
|
"description": "Checks models and print configuration for possible printing issues and give suggestions.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -329,7 +329,7 @@
|
||||||
"display_name": "Monitor Stage",
|
"display_name": "Monitor Stage",
|
||||||
"description": "Provides a monitor stage in Cura.",
|
"description": "Provides a monitor stage in Cura.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -346,7 +346,7 @@
|
||||||
"display_name": "Per-Object Settings Tool",
|
"display_name": "Per-Object Settings Tool",
|
||||||
"description": "Provides the per-model settings.",
|
"description": "Provides the per-model settings.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -363,7 +363,7 @@
|
||||||
"display_name": "Post Processing",
|
"display_name": "Post Processing",
|
||||||
"description": "Extension that allows for user created scripts for post processing.",
|
"description": "Extension that allows for user created scripts for post processing.",
|
||||||
"package_version": "2.2.1",
|
"package_version": "2.2.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -380,7 +380,7 @@
|
||||||
"display_name": "Prepare Stage",
|
"display_name": "Prepare Stage",
|
||||||
"description": "Provides a prepare stage in Cura.",
|
"description": "Provides a prepare stage in Cura.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -397,7 +397,7 @@
|
||||||
"display_name": "Preview Stage",
|
"display_name": "Preview Stage",
|
||||||
"description": "Provides a preview stage in Cura.",
|
"description": "Provides a preview stage in Cura.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -414,7 +414,7 @@
|
||||||
"display_name": "Removable Drive Output Device",
|
"display_name": "Removable Drive Output Device",
|
||||||
"description": "Provides removable drive hotplugging and writing support.",
|
"description": "Provides removable drive hotplugging and writing support.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -431,7 +431,7 @@
|
||||||
"display_name": "Sentry Logger",
|
"display_name": "Sentry Logger",
|
||||||
"description": "Logs certain events so that they can be used by the crash reporter",
|
"description": "Logs certain events so that they can be used by the crash reporter",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -448,7 +448,7 @@
|
||||||
"display_name": "Simulation View",
|
"display_name": "Simulation View",
|
||||||
"description": "Provides the Simulation view.",
|
"description": "Provides the Simulation view.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -465,7 +465,7 @@
|
||||||
"display_name": "Slice Info",
|
"display_name": "Slice Info",
|
||||||
"description": "Submits anonymous slice info. Can be disabled through preferences.",
|
"description": "Submits anonymous slice info. Can be disabled through preferences.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -482,7 +482,7 @@
|
||||||
"display_name": "Solid View",
|
"display_name": "Solid View",
|
||||||
"description": "Provides a normal solid mesh view.",
|
"description": "Provides a normal solid mesh view.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -499,7 +499,7 @@
|
||||||
"display_name": "Support Eraser Tool",
|
"display_name": "Support Eraser Tool",
|
||||||
"description": "Creates an eraser mesh to block the printing of support in certain places.",
|
"description": "Creates an eraser mesh to block the printing of support in certain places.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -516,7 +516,7 @@
|
||||||
"display_name": "Trimesh Reader",
|
"display_name": "Trimesh Reader",
|
||||||
"description": "Provides support for reading model files.",
|
"description": "Provides support for reading model files.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -533,7 +533,7 @@
|
||||||
"display_name": "Toolbox",
|
"display_name": "Toolbox",
|
||||||
"description": "Find, manage and install new Cura packages.",
|
"description": "Find, manage and install new Cura packages.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -550,7 +550,7 @@
|
||||||
"display_name": "UFP Reader",
|
"display_name": "UFP Reader",
|
||||||
"description": "Provides support for reading Ultimaker Format Packages.",
|
"description": "Provides support for reading Ultimaker Format Packages.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -567,7 +567,7 @@
|
||||||
"display_name": "UFP Writer",
|
"display_name": "UFP Writer",
|
||||||
"description": "Provides support for writing Ultimaker Format Packages.",
|
"description": "Provides support for writing Ultimaker Format Packages.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -584,7 +584,7 @@
|
||||||
"display_name": "Ultimaker Machine Actions",
|
"display_name": "Ultimaker Machine Actions",
|
||||||
"description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).",
|
"description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -601,7 +601,7 @@
|
||||||
"display_name": "UM3 Network Printing",
|
"display_name": "UM3 Network Printing",
|
||||||
"description": "Manages network connections to Ultimaker 3 printers.",
|
"description": "Manages network connections to Ultimaker 3 printers.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -618,7 +618,7 @@
|
||||||
"display_name": "USB Printing",
|
"display_name": "USB Printing",
|
||||||
"description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.",
|
"description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.",
|
||||||
"package_version": "1.0.2",
|
"package_version": "1.0.2",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -635,7 +635,7 @@
|
||||||
"display_name": "Version Upgrade 2.1 to 2.2",
|
"display_name": "Version Upgrade 2.1 to 2.2",
|
||||||
"description": "Upgrades configurations from Cura 2.1 to Cura 2.2.",
|
"description": "Upgrades configurations from Cura 2.1 to Cura 2.2.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -652,7 +652,7 @@
|
||||||
"display_name": "Version Upgrade 2.2 to 2.4",
|
"display_name": "Version Upgrade 2.2 to 2.4",
|
||||||
"description": "Upgrades configurations from Cura 2.2 to Cura 2.4.",
|
"description": "Upgrades configurations from Cura 2.2 to Cura 2.4.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -669,7 +669,7 @@
|
||||||
"display_name": "Version Upgrade 2.5 to 2.6",
|
"display_name": "Version Upgrade 2.5 to 2.6",
|
||||||
"description": "Upgrades configurations from Cura 2.5 to Cura 2.6.",
|
"description": "Upgrades configurations from Cura 2.5 to Cura 2.6.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -686,7 +686,7 @@
|
||||||
"display_name": "Version Upgrade 2.6 to 2.7",
|
"display_name": "Version Upgrade 2.6 to 2.7",
|
||||||
"description": "Upgrades configurations from Cura 2.6 to Cura 2.7.",
|
"description": "Upgrades configurations from Cura 2.6 to Cura 2.7.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -703,7 +703,7 @@
|
||||||
"display_name": "Version Upgrade 2.7 to 3.0",
|
"display_name": "Version Upgrade 2.7 to 3.0",
|
||||||
"description": "Upgrades configurations from Cura 2.7 to Cura 3.0.",
|
"description": "Upgrades configurations from Cura 2.7 to Cura 3.0.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -720,7 +720,7 @@
|
||||||
"display_name": "Version Upgrade 3.0 to 3.1",
|
"display_name": "Version Upgrade 3.0 to 3.1",
|
||||||
"description": "Upgrades configurations from Cura 3.0 to Cura 3.1.",
|
"description": "Upgrades configurations from Cura 3.0 to Cura 3.1.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -737,7 +737,7 @@
|
||||||
"display_name": "Version Upgrade 3.2 to 3.3",
|
"display_name": "Version Upgrade 3.2 to 3.3",
|
||||||
"description": "Upgrades configurations from Cura 3.2 to Cura 3.3.",
|
"description": "Upgrades configurations from Cura 3.2 to Cura 3.3.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -754,7 +754,7 @@
|
||||||
"display_name": "Version Upgrade 3.3 to 3.4",
|
"display_name": "Version Upgrade 3.3 to 3.4",
|
||||||
"description": "Upgrades configurations from Cura 3.3 to Cura 3.4.",
|
"description": "Upgrades configurations from Cura 3.3 to Cura 3.4.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -771,7 +771,7 @@
|
||||||
"display_name": "Version Upgrade 3.4 to 3.5",
|
"display_name": "Version Upgrade 3.4 to 3.5",
|
||||||
"description": "Upgrades configurations from Cura 3.4 to Cura 3.5.",
|
"description": "Upgrades configurations from Cura 3.4 to Cura 3.5.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -788,7 +788,7 @@
|
||||||
"display_name": "Version Upgrade 3.5 to 4.0",
|
"display_name": "Version Upgrade 3.5 to 4.0",
|
||||||
"description": "Upgrades configurations from Cura 3.5 to Cura 4.0.",
|
"description": "Upgrades configurations from Cura 3.5 to Cura 4.0.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -805,7 +805,7 @@
|
||||||
"display_name": "Version Upgrade 4.0 to 4.1",
|
"display_name": "Version Upgrade 4.0 to 4.1",
|
||||||
"description": "Upgrades configurations from Cura 4.0 to Cura 4.1.",
|
"description": "Upgrades configurations from Cura 4.0 to Cura 4.1.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -822,7 +822,7 @@
|
||||||
"display_name": "Version Upgrade 4.1 to 4.2",
|
"display_name": "Version Upgrade 4.1 to 4.2",
|
||||||
"description": "Upgrades configurations from Cura 4.1 to Cura 4.2.",
|
"description": "Upgrades configurations from Cura 4.1 to Cura 4.2.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -839,7 +839,7 @@
|
||||||
"display_name": "Version Upgrade 4.2 to 4.3",
|
"display_name": "Version Upgrade 4.2 to 4.3",
|
||||||
"description": "Upgrades configurations from Cura 4.2 to Cura 4.3.",
|
"description": "Upgrades configurations from Cura 4.2 to Cura 4.3.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -856,7 +856,7 @@
|
||||||
"display_name": "Version Upgrade 4.3 to 4.4",
|
"display_name": "Version Upgrade 4.3 to 4.4",
|
||||||
"description": "Upgrades configurations from Cura 4.3 to Cura 4.4.",
|
"description": "Upgrades configurations from Cura 4.3 to Cura 4.4.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -873,7 +873,7 @@
|
||||||
"display_name": "Version Upgrade 4.4 to 4.5",
|
"display_name": "Version Upgrade 4.4 to 4.5",
|
||||||
"description": "Upgrades configurations from Cura 4.4 to Cura 4.5.",
|
"description": "Upgrades configurations from Cura 4.4 to Cura 4.5.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -890,7 +890,7 @@
|
||||||
"display_name": "Version Upgrade 4.5 to 4.6",
|
"display_name": "Version Upgrade 4.5 to 4.6",
|
||||||
"description": "Upgrades configurations from Cura 4.5 to Cura 4.6.",
|
"description": "Upgrades configurations from Cura 4.5 to Cura 4.6.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -907,7 +907,7 @@
|
||||||
"display_name": "Version Upgrade 4.6.0 to 4.6.2",
|
"display_name": "Version Upgrade 4.6.0 to 4.6.2",
|
||||||
"description": "Upgrades configurations from Cura 4.6.0 to Cura 4.6.2.",
|
"description": "Upgrades configurations from Cura 4.6.0 to Cura 4.6.2.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -924,7 +924,7 @@
|
||||||
"display_name": "Version Upgrade 4.6.2 to 4.7",
|
"display_name": "Version Upgrade 4.6.2 to 4.7",
|
||||||
"description": "Upgrades configurations from Cura 4.6.2 to Cura 4.7.",
|
"description": "Upgrades configurations from Cura 4.6.2 to Cura 4.7.",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -941,7 +941,7 @@
|
||||||
"display_name": "Version Upgrade 4.7.0 to 4.8.0",
|
"display_name": "Version Upgrade 4.7.0 to 4.8.0",
|
||||||
"description": "Upgrades configurations from Cura 4.7.0 to Cura 4.8.0",
|
"description": "Upgrades configurations from Cura 4.7.0 to Cura 4.8.0",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -958,7 +958,7 @@
|
||||||
"display_name": "Version Upgrade 4.8.0 to 4.9.0",
|
"display_name": "Version Upgrade 4.8.0 to 4.9.0",
|
||||||
"description": "Upgrades configurations from Cura 4.8.0 to Cura 4.9.0",
|
"description": "Upgrades configurations from Cura 4.8.0 to Cura 4.9.0",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -976,6 +976,24 @@
|
||||||
"description": "Upgrades configurations from Cura 4.9 to Cura 4.10",
|
"description": "Upgrades configurations from Cura 4.9 to Cura 4.10",
|
||||||
"package_version": "1.0.0",
|
"package_version": "1.0.0",
|
||||||
"sdk_version": 7,
|
"sdk_version": 7,
|
||||||
|
"sdk_version_semver": "7.8.0",
|
||||||
|
"website": "https://ultimaker.com",
|
||||||
|
"author": {
|
||||||
|
"author_id": "UltimakerPackages",
|
||||||
|
"display_name": "Ultimaker B.V.",
|
||||||
|
"email": "plugins@ultimaker.com",
|
||||||
|
"website": "https://ultimaker.com"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"VersionUpgrade411to412": {
|
||||||
|
"package_info": {
|
||||||
|
"package_id": "VersionUpgrade411to412",
|
||||||
|
"package_type": "plugin",
|
||||||
|
"display_name": "Version Upgrade 4.11 to 4.12",
|
||||||
|
"description": "Upgrades configurations from Cura 4.11 to Cura 4.12",
|
||||||
|
"package_version": "1.0.0",
|
||||||
|
"sdk_version": 7,
|
||||||
"sdk_version_semver": "7.7.0",
|
"sdk_version_semver": "7.7.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
|
@ -993,7 +1011,7 @@
|
||||||
"display_name": "X3D Reader",
|
"display_name": "X3D Reader",
|
||||||
"description": "Provides support for reading X3D files.",
|
"description": "Provides support for reading X3D files.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "SevaAlekseyev",
|
"author_id": "SevaAlekseyev",
|
||||||
|
@ -1010,7 +1028,7 @@
|
||||||
"display_name": "XML Material Profiles",
|
"display_name": "XML Material Profiles",
|
||||||
"description": "Provides capabilities to read and write XML-based material profiles.",
|
"description": "Provides capabilities to read and write XML-based material profiles.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1027,7 +1045,7 @@
|
||||||
"display_name": "X-Ray View",
|
"display_name": "X-Ray View",
|
||||||
"description": "Provides the X-Ray view.",
|
"description": "Provides the X-Ray view.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com",
|
"website": "https://ultimaker.com",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1044,7 +1062,7 @@
|
||||||
"display_name": "Generic ABS",
|
"display_name": "Generic ABS",
|
||||||
"description": "The generic ABS profile which other profiles can be based upon.",
|
"description": "The generic ABS profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1062,7 +1080,7 @@
|
||||||
"display_name": "Generic BAM",
|
"display_name": "Generic BAM",
|
||||||
"description": "The generic BAM profile which other profiles can be based upon.",
|
"description": "The generic BAM profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1080,7 +1098,7 @@
|
||||||
"display_name": "Generic CFF CPE",
|
"display_name": "Generic CFF CPE",
|
||||||
"description": "The generic CFF CPE profile which other profiles can be based upon.",
|
"description": "The generic CFF CPE profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1098,7 +1116,7 @@
|
||||||
"display_name": "Generic CFF PA",
|
"display_name": "Generic CFF PA",
|
||||||
"description": "The generic CFF PA profile which other profiles can be based upon.",
|
"description": "The generic CFF PA profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1116,7 +1134,7 @@
|
||||||
"display_name": "Generic CPE",
|
"display_name": "Generic CPE",
|
||||||
"description": "The generic CPE profile which other profiles can be based upon.",
|
"description": "The generic CPE profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1134,7 +1152,7 @@
|
||||||
"display_name": "Generic CPE+",
|
"display_name": "Generic CPE+",
|
||||||
"description": "The generic CPE+ profile which other profiles can be based upon.",
|
"description": "The generic CPE+ profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1152,7 +1170,7 @@
|
||||||
"display_name": "Generic GFF CPE",
|
"display_name": "Generic GFF CPE",
|
||||||
"description": "The generic GFF CPE profile which other profiles can be based upon.",
|
"description": "The generic GFF CPE profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1170,7 +1188,7 @@
|
||||||
"display_name": "Generic GFF PA",
|
"display_name": "Generic GFF PA",
|
||||||
"description": "The generic GFF PA profile which other profiles can be based upon.",
|
"description": "The generic GFF PA profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1188,7 +1206,7 @@
|
||||||
"display_name": "Generic HIPS",
|
"display_name": "Generic HIPS",
|
||||||
"description": "The generic HIPS profile which other profiles can be based upon.",
|
"description": "The generic HIPS profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1206,7 +1224,7 @@
|
||||||
"display_name": "Generic Nylon",
|
"display_name": "Generic Nylon",
|
||||||
"description": "The generic Nylon profile which other profiles can be based upon.",
|
"description": "The generic Nylon profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1224,7 +1242,7 @@
|
||||||
"display_name": "Generic PC",
|
"display_name": "Generic PC",
|
||||||
"description": "The generic PC profile which other profiles can be based upon.",
|
"description": "The generic PC profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1242,7 +1260,7 @@
|
||||||
"display_name": "Generic PETG",
|
"display_name": "Generic PETG",
|
||||||
"description": "The generic PETG profile which other profiles can be based upon.",
|
"description": "The generic PETG profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1260,7 +1278,7 @@
|
||||||
"display_name": "Generic PLA",
|
"display_name": "Generic PLA",
|
||||||
"description": "The generic PLA profile which other profiles can be based upon.",
|
"description": "The generic PLA profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1278,7 +1296,7 @@
|
||||||
"display_name": "Generic PP",
|
"display_name": "Generic PP",
|
||||||
"description": "The generic PP profile which other profiles can be based upon.",
|
"description": "The generic PP profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1296,7 +1314,7 @@
|
||||||
"display_name": "Generic PVA",
|
"display_name": "Generic PVA",
|
||||||
"description": "The generic PVA profile which other profiles can be based upon.",
|
"description": "The generic PVA profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1314,7 +1332,7 @@
|
||||||
"display_name": "Generic Tough PLA",
|
"display_name": "Generic Tough PLA",
|
||||||
"description": "The generic Tough PLA profile which other profiles can be based upon.",
|
"description": "The generic Tough PLA profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1332,7 +1350,7 @@
|
||||||
"display_name": "Generic TPU",
|
"display_name": "Generic TPU",
|
||||||
"description": "The generic TPU profile which other profiles can be based upon.",
|
"description": "The generic TPU profile which other profiles can be based upon.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Generic",
|
"author_id": "Generic",
|
||||||
|
@ -1350,7 +1368,7 @@
|
||||||
"display_name": "Dagoma Chromatik PLA",
|
"display_name": "Dagoma Chromatik PLA",
|
||||||
"description": "Filament testé et approuvé pour les imprimantes 3D Dagoma. Chromatik est l'idéal pour débuter et suivre les tutoriels premiers pas. Il vous offre qualité et résistance pour chacune de vos impressions.",
|
"description": "Filament testé et approuvé pour les imprimantes 3D Dagoma. Chromatik est l'idéal pour débuter et suivre les tutoriels premiers pas. Il vous offre qualité et résistance pour chacune de vos impressions.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://dagoma.fr/boutique/filaments.html",
|
"website": "https://dagoma.fr/boutique/filaments.html",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Dagoma",
|
"author_id": "Dagoma",
|
||||||
|
@ -1367,7 +1385,7 @@
|
||||||
"display_name": "FABtotum ABS",
|
"display_name": "FABtotum ABS",
|
||||||
"description": "This material is easy to be extruded but it is not the simplest to use. It is one of the most used in 3D printing to get very well finished objects. It is not sustainable and its smoke can be dangerous if inhaled. The reason to prefer this filament to PLA is mainly because of its precision and mechanical specs. ABS (for plastic) stands for Acrylonitrile Butadiene Styrene and it is a thermoplastic which is widely used in everyday objects. It can be printed with any FFF 3D printer which can get to high temperatures as it must be extruded in a range between 220° and 245°, so it’s compatible with all versions of the FABtotum Personal fabricator.",
|
"description": "This material is easy to be extruded but it is not the simplest to use. It is one of the most used in 3D printing to get very well finished objects. It is not sustainable and its smoke can be dangerous if inhaled. The reason to prefer this filament to PLA is mainly because of its precision and mechanical specs. ABS (for plastic) stands for Acrylonitrile Butadiene Styrene and it is a thermoplastic which is widely used in everyday objects. It can be printed with any FFF 3D printer which can get to high temperatures as it must be extruded in a range between 220° and 245°, so it’s compatible with all versions of the FABtotum Personal fabricator.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=40",
|
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=40",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "FABtotum",
|
"author_id": "FABtotum",
|
||||||
|
@ -1384,7 +1402,7 @@
|
||||||
"display_name": "FABtotum Nylon",
|
"display_name": "FABtotum Nylon",
|
||||||
"description": "When 3D printing started this material was not listed among the extrudable filaments. It is flexible as well as resistant to tractions. It is well known for its uses in textile but also in industries which require a strong and flexible material. There are different kinds of Nylon: 3D printing mostly uses Nylon 6 and Nylon 6.6, which are the most common. It requires higher temperatures to be printed, so a 3D printer must be able to reach them (around 240°C): the FABtotum, of course, can.",
|
"description": "When 3D printing started this material was not listed among the extrudable filaments. It is flexible as well as resistant to tractions. It is well known for its uses in textile but also in industries which require a strong and flexible material. There are different kinds of Nylon: 3D printing mostly uses Nylon 6 and Nylon 6.6, which are the most common. It requires higher temperatures to be printed, so a 3D printer must be able to reach them (around 240°C): the FABtotum, of course, can.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=53",
|
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=53",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "FABtotum",
|
"author_id": "FABtotum",
|
||||||
|
@ -1401,7 +1419,7 @@
|
||||||
"display_name": "FABtotum PLA",
|
"display_name": "FABtotum PLA",
|
||||||
"description": "It is the most common filament used for 3D printing. It is studied to be bio-degradable as it comes from corn starch’s sugar mainly. It is completely made of renewable sources and has no footprint on polluting. PLA stands for PolyLactic Acid and it is a thermoplastic that today is still considered the easiest material to be 3D printed. It can be extruded at lower temperatures: the standard range of FABtotum’s one is between 185° and 195°.",
|
"description": "It is the most common filament used for 3D printing. It is studied to be bio-degradable as it comes from corn starch’s sugar mainly. It is completely made of renewable sources and has no footprint on polluting. PLA stands for PolyLactic Acid and it is a thermoplastic that today is still considered the easiest material to be 3D printed. It can be extruded at lower temperatures: the standard range of FABtotum’s one is between 185° and 195°.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=39",
|
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=39",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "FABtotum",
|
"author_id": "FABtotum",
|
||||||
|
@ -1418,7 +1436,7 @@
|
||||||
"display_name": "FABtotum TPU Shore 98A",
|
"display_name": "FABtotum TPU Shore 98A",
|
||||||
"description": "",
|
"description": "",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=66",
|
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=66",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "FABtotum",
|
"author_id": "FABtotum",
|
||||||
|
@ -1435,7 +1453,7 @@
|
||||||
"display_name": "Fiberlogy HD PLA",
|
"display_name": "Fiberlogy HD PLA",
|
||||||
"description": "With our HD PLA you have many more options. You can use this material in two ways. Choose the one you like best. You can use it as a normal PLA and get prints characterized by a very good adhesion between the layers and high precision. You can also make your prints acquire similar properties to that of ABS – better impact resistance and high temperature resistance. All you need is an oven. Yes, an oven! By annealing our HD PLA in an oven, in accordance with the manual, you will avoid all the inconveniences of printing with ABS, such as unpleasant odour or hazardous fumes.",
|
"description": "With our HD PLA you have many more options. You can use this material in two ways. Choose the one you like best. You can use it as a normal PLA and get prints characterized by a very good adhesion between the layers and high precision. You can also make your prints acquire similar properties to that of ABS – better impact resistance and high temperature resistance. All you need is an oven. Yes, an oven! By annealing our HD PLA in an oven, in accordance with the manual, you will avoid all the inconveniences of printing with ABS, such as unpleasant odour or hazardous fumes.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "http://fiberlogy.com/en/fiberlogy-filaments/filament-hd-pla/",
|
"website": "http://fiberlogy.com/en/fiberlogy-filaments/filament-hd-pla/",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Fiberlogy",
|
"author_id": "Fiberlogy",
|
||||||
|
@ -1452,7 +1470,7 @@
|
||||||
"display_name": "Filo3D PLA",
|
"display_name": "Filo3D PLA",
|
||||||
"description": "Fast, safe and reliable printing. PLA is ideal for the fast and reliable printing of parts and prototypes with a great surface quality.",
|
"description": "Fast, safe and reliable printing. PLA is ideal for the fast and reliable printing of parts and prototypes with a great surface quality.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://dagoma.fr",
|
"website": "https://dagoma.fr",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Dagoma",
|
"author_id": "Dagoma",
|
||||||
|
@ -1469,7 +1487,7 @@
|
||||||
"display_name": "IMADE3D JellyBOX PETG",
|
"display_name": "IMADE3D JellyBOX PETG",
|
||||||
"description": "",
|
"description": "",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "http://shop.imade3d.com/filament.html",
|
"website": "http://shop.imade3d.com/filament.html",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "IMADE3D",
|
"author_id": "IMADE3D",
|
||||||
|
@ -1486,7 +1504,7 @@
|
||||||
"display_name": "IMADE3D JellyBOX PLA",
|
"display_name": "IMADE3D JellyBOX PLA",
|
||||||
"description": "",
|
"description": "",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "http://shop.imade3d.com/filament.html",
|
"website": "http://shop.imade3d.com/filament.html",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "IMADE3D",
|
"author_id": "IMADE3D",
|
||||||
|
@ -1503,7 +1521,7 @@
|
||||||
"display_name": "Octofiber PLA",
|
"display_name": "Octofiber PLA",
|
||||||
"description": "PLA material from Octofiber.",
|
"description": "PLA material from Octofiber.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://nl.octofiber.com/3d-printing-filament/pla.html",
|
"website": "https://nl.octofiber.com/3d-printing-filament/pla.html",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Octofiber",
|
"author_id": "Octofiber",
|
||||||
|
@ -1520,7 +1538,7 @@
|
||||||
"display_name": "PolyFlex™ PLA",
|
"display_name": "PolyFlex™ PLA",
|
||||||
"description": "PolyFlex™ is a highly flexible yet easy to print 3D printing material. Featuring good elasticity and a large strain-to- failure, PolyFlex™ opens up a completely new realm of applications.",
|
"description": "PolyFlex™ is a highly flexible yet easy to print 3D printing material. Featuring good elasticity and a large strain-to- failure, PolyFlex™ opens up a completely new realm of applications.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "http://www.polymaker.com/shop/polyflex/",
|
"website": "http://www.polymaker.com/shop/polyflex/",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Polymaker",
|
"author_id": "Polymaker",
|
||||||
|
@ -1537,7 +1555,7 @@
|
||||||
"display_name": "PolyMax™ PLA",
|
"display_name": "PolyMax™ PLA",
|
||||||
"description": "PolyMax™ PLA is a 3D printing material with excellent mechanical properties and printing quality. PolyMax™ PLA has an impact resistance of up to nine times that of regular PLA, and better overall mechanical properties than ABS.",
|
"description": "PolyMax™ PLA is a 3D printing material with excellent mechanical properties and printing quality. PolyMax™ PLA has an impact resistance of up to nine times that of regular PLA, and better overall mechanical properties than ABS.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "http://www.polymaker.com/shop/polymax/",
|
"website": "http://www.polymaker.com/shop/polymax/",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Polymaker",
|
"author_id": "Polymaker",
|
||||||
|
@ -1554,7 +1572,7 @@
|
||||||
"display_name": "PolyPlus™ PLA True Colour",
|
"display_name": "PolyPlus™ PLA True Colour",
|
||||||
"description": "PolyPlus™ PLA is a premium PLA designed for all desktop FDM/FFF 3D printers. It is produced with our patented Jam-Free™ technology that ensures consistent extrusion and prevents jams.",
|
"description": "PolyPlus™ PLA is a premium PLA designed for all desktop FDM/FFF 3D printers. It is produced with our patented Jam-Free™ technology that ensures consistent extrusion and prevents jams.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "http://www.polymaker.com/shop/polyplus-true-colour/",
|
"website": "http://www.polymaker.com/shop/polyplus-true-colour/",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Polymaker",
|
"author_id": "Polymaker",
|
||||||
|
@ -1571,7 +1589,7 @@
|
||||||
"display_name": "PolyWood™ PLA",
|
"display_name": "PolyWood™ PLA",
|
||||||
"description": "PolyWood™ is a wood mimic printing material that contains no actual wood ensuring a clean Jam-Free™ printing experience.",
|
"description": "PolyWood™ is a wood mimic printing material that contains no actual wood ensuring a clean Jam-Free™ printing experience.",
|
||||||
"package_version": "1.0.1",
|
"package_version": "1.0.1",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "http://www.polymaker.com/shop/polywood/",
|
"website": "http://www.polymaker.com/shop/polywood/",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Polymaker",
|
"author_id": "Polymaker",
|
||||||
|
@ -1588,7 +1606,7 @@
|
||||||
"display_name": "Ultimaker ABS",
|
"display_name": "Ultimaker ABS",
|
||||||
"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.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com/products/materials/abs",
|
"website": "https://ultimaker.com/products/materials/abs",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1607,7 +1625,7 @@
|
||||||
"display_name": "Ultimaker Breakaway",
|
"display_name": "Ultimaker Breakaway",
|
||||||
"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.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com/products/materials/breakaway",
|
"website": "https://ultimaker.com/products/materials/breakaway",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1626,7 +1644,7 @@
|
||||||
"display_name": "Ultimaker CPE",
|
"display_name": "Ultimaker CPE",
|
||||||
"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.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com/products/materials/abs",
|
"website": "https://ultimaker.com/products/materials/abs",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1645,7 +1663,7 @@
|
||||||
"display_name": "Ultimaker CPE+",
|
"display_name": "Ultimaker CPE+",
|
||||||
"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.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com/products/materials/cpe",
|
"website": "https://ultimaker.com/products/materials/cpe",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1664,7 +1682,7 @@
|
||||||
"display_name": "Ultimaker Nylon",
|
"display_name": "Ultimaker Nylon",
|
||||||
"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.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com/products/materials/abs",
|
"website": "https://ultimaker.com/products/materials/abs",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1683,7 +1701,7 @@
|
||||||
"display_name": "Ultimaker PC",
|
"display_name": "Ultimaker PC",
|
||||||
"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.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com/products/materials/pc",
|
"website": "https://ultimaker.com/products/materials/pc",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1702,7 +1720,7 @@
|
||||||
"display_name": "Ultimaker PLA",
|
"display_name": "Ultimaker 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.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com/products/materials/abs",
|
"website": "https://ultimaker.com/products/materials/abs",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1721,7 +1739,7 @@
|
||||||
"display_name": "Ultimaker PP",
|
"display_name": "Ultimaker PP",
|
||||||
"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.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com/products/materials/pp",
|
"website": "https://ultimaker.com/products/materials/pp",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1740,7 +1758,7 @@
|
||||||
"display_name": "Ultimaker PVA",
|
"display_name": "Ultimaker PVA",
|
||||||
"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.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com/products/materials/abs",
|
"website": "https://ultimaker.com/products/materials/abs",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1759,7 +1777,7 @@
|
||||||
"display_name": "Ultimaker TPU 95A",
|
"display_name": "Ultimaker TPU 95A",
|
||||||
"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.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com/products/materials/tpu-95a",
|
"website": "https://ultimaker.com/products/materials/tpu-95a",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1778,7 +1796,7 @@
|
||||||
"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.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://ultimaker.com/products/materials/tough-pla",
|
"website": "https://ultimaker.com/products/materials/tough-pla",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "UltimakerPackages",
|
"author_id": "UltimakerPackages",
|
||||||
|
@ -1797,7 +1815,7 @@
|
||||||
"display_name": "Vertex Delta ABS",
|
"display_name": "Vertex Delta ABS",
|
||||||
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://vertex3dprinter.eu",
|
"website": "https://vertex3dprinter.eu",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Velleman",
|
"author_id": "Velleman",
|
||||||
|
@ -1814,7 +1832,7 @@
|
||||||
"display_name": "Vertex Delta PET",
|
"display_name": "Vertex Delta PET",
|
||||||
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://vertex3dprinter.eu",
|
"website": "https://vertex3dprinter.eu",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Velleman",
|
"author_id": "Velleman",
|
||||||
|
@ -1831,7 +1849,7 @@
|
||||||
"display_name": "Vertex Delta PLA",
|
"display_name": "Vertex Delta PLA",
|
||||||
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://vertex3dprinter.eu",
|
"website": "https://vertex3dprinter.eu",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Velleman",
|
"author_id": "Velleman",
|
||||||
|
@ -1848,7 +1866,7 @@
|
||||||
"display_name": "Vertex Delta TPU",
|
"display_name": "Vertex Delta TPU",
|
||||||
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
||||||
"package_version": "1.4.0",
|
"package_version": "1.4.0",
|
||||||
"sdk_version": "7.7.0",
|
"sdk_version": "7.8.0",
|
||||||
"website": "https://vertex3dprinter.eu",
|
"website": "https://vertex3dprinter.eu",
|
||||||
"author": {
|
"author": {
|
||||||
"author_id": "Velleman",
|
"author_id": "Velleman",
|
||||||
|
|
49
resources/definitions/3di_base.def.json
Normal file
49
resources/definitions/3di_base.def.json
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "3DI Base Printer",
|
||||||
|
"inherits": "fdmprinter",
|
||||||
|
"metadata": {
|
||||||
|
"visible": false,
|
||||||
|
"author": "Vaibhav Jain",
|
||||||
|
"manufacturer": "3Deometry Innovations",
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
|
"machine_extruder_trains":
|
||||||
|
{
|
||||||
|
"0": "3di_base_extruder_0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name":{
|
||||||
|
"default_value": "3DI Base Printer"
|
||||||
|
},
|
||||||
|
"machine_heated_bed": {
|
||||||
|
"default_value": true
|
||||||
|
},
|
||||||
|
"machine_width": {
|
||||||
|
"default_value": 220
|
||||||
|
},
|
||||||
|
"machine_height": {
|
||||||
|
"default_value": 220
|
||||||
|
},
|
||||||
|
"machine_depth": {
|
||||||
|
"default_value": 220
|
||||||
|
},
|
||||||
|
"machine_center_is_zero": {
|
||||||
|
"default_value": true
|
||||||
|
},
|
||||||
|
"machine_gcode_flavor": {
|
||||||
|
"default_value": "RepRap (Marlin/Sprinter)"
|
||||||
|
},
|
||||||
|
"machine_start_gcode": {
|
||||||
|
"default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 ;Home all axes (max endstops)\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..."
|
||||||
|
},
|
||||||
|
"machine_end_gcode": {
|
||||||
|
"default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG28 ;Home all axes (max endstops)\nM84 ;steppers off\nG90 ;absolute positioning"
|
||||||
|
},
|
||||||
|
"machine_shape": {
|
||||||
|
"default_value": "elliptic"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
26
resources/definitions/3di_d300.def.json
Normal file
26
resources/definitions/3di_d300.def.json
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "3DI D300",
|
||||||
|
"inherits": "3di_base",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"platform": "3di_d300_platform.STL",
|
||||||
|
"platform_offset": [-200, -5, 173.205]
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": {
|
||||||
|
"default_value": "3DI D300"
|
||||||
|
},
|
||||||
|
"machine_width": {
|
||||||
|
"default_value": 300
|
||||||
|
},
|
||||||
|
"machine_height": {
|
||||||
|
"default_value": 300
|
||||||
|
},
|
||||||
|
"machine_depth": {
|
||||||
|
"default_value": 300
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -92,7 +92,7 @@
|
||||||
|
|
||||||
"retraction_hop_enabled": { "value": "True" },
|
"retraction_hop_enabled": { "value": "True" },
|
||||||
"retraction_hop": { "value": 0.2 },
|
"retraction_hop": { "value": 0.2 },
|
||||||
"retraction_combing": { "default_value": "noskin" },
|
"retraction_combing": { "value": "'noskin'" },
|
||||||
"retraction_combing_max_distance": { "value": 30 },
|
"retraction_combing_max_distance": { "value": 30 },
|
||||||
|
|
||||||
"travel_avoid_other_parts": { "value": true },
|
"travel_avoid_other_parts": { "value": true },
|
||||||
|
|
52
resources/definitions/arjunpro300.def.json
Normal file
52
resources/definitions/arjunpro300.def.json
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Arjun Pro 300",
|
||||||
|
"inherits": "fdmprinter",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"author": "Venkat Kamesh",
|
||||||
|
"manufacturer": "Sri Vignan Technologies",
|
||||||
|
"weight": 3,
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
|
"platform": "arjunpro300_platform.STL",
|
||||||
|
"platform_offset": [-155, -6, 190],
|
||||||
|
"has_material": true,
|
||||||
|
"has_variants": true,
|
||||||
|
"preferred_variant_name": "0.4 mm Nozzle",
|
||||||
|
"machine_extruder_trains":
|
||||||
|
{
|
||||||
|
"0": "arjunpro_extruder_0",
|
||||||
|
"1": "arjunpro_extruder_1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Arjun Pro 300" },
|
||||||
|
"machine_width": { "default_value": 300 },
|
||||||
|
"machine_height": { "default_value": 293 },
|
||||||
|
"machine_depth": { "default_value": 300 },
|
||||||
|
"machine_center_is_zero": {"default_value": false},
|
||||||
|
"machine_heated_bed": { "default_value": true },
|
||||||
|
"machine_nozzle_size": {"default_value": 0.4},
|
||||||
|
"machine_show_variants": {"default_value": true},
|
||||||
|
"machine_acceleration": {"default_value": 2000},
|
||||||
|
"machine_max_feedrate_x": { "value": 300 },
|
||||||
|
"machine_max_feedrate_y": { "value": 300 },
|
||||||
|
"machine_max_feedrate_z": { "value": 15 },
|
||||||
|
"machine_max_feedrate_e": { "value": 150 },
|
||||||
|
"machine_use_extruder_offset_to_offset_coords": {"default_value": false},
|
||||||
|
"line_width": {"value": "machine_nozzle_size"},
|
||||||
|
"speed_travel": {"maximum_value": "300", "value": "200"},
|
||||||
|
"optimize_wall_printing_order": { "value": "True" },
|
||||||
|
"material_diameter": { "default_value": 1.75},
|
||||||
|
"retraction_amount": {"default_value": 6.5},
|
||||||
|
"retraction_speed": { "default_value": 30},
|
||||||
|
|
||||||
|
"adhesion_type": { "default_value": "skirt" },
|
||||||
|
"machine_gcode_flavor": { "default_value": "Marlin"},
|
||||||
|
"ironing_enabled":{"default_value": true},
|
||||||
|
"machine_start_gcode": { "default_value": "M605 S0\nG21\nG90\nM82\nM107\nT1\nG28 \nG29 \nG1 X0 Y5 F2000\nT1\nG92 E0\nG1 E45 F210\nG92 E0\nT0\nG92 E0\nG1 E45 F210\nG92 E0\nM117\n"},
|
||||||
|
"machine_end_gcode": { "default_value": "G91\nG1 Z+0.5 E-16 Y+10 F9000\nG90\nM107\nM104 S0 T1\nM104 S0 T0\nM140 S0\nM117\nG28 X0 Y0\nT0\nM84"},
|
||||||
|
"machine_extruder_count": { "default_value": 2 }
|
||||||
|
}
|
||||||
|
}
|
49
resources/definitions/arjunpro_duplication.def.json
Normal file
49
resources/definitions/arjunpro_duplication.def.json
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Arjun Pro 300 Duplication",
|
||||||
|
"inherits": "fdmprinter",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"author": "Venkat Kamesh",
|
||||||
|
"manufacturer": "Sri Vignan Technologies",
|
||||||
|
"weight": 3,
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
|
"has_material": true,
|
||||||
|
"has_variants": true,
|
||||||
|
"preferred_variant_name": "0.4 mm Nozzle",
|
||||||
|
"machine_extruder_trains":
|
||||||
|
{
|
||||||
|
"0": "arjunpro_dm_extruder"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Arjunpro 300 Duplication" },
|
||||||
|
"machine_width": { "default_value": 120 },
|
||||||
|
"machine_height": { "default_value": 293 },
|
||||||
|
"machine_depth": { "default_value": 300 },
|
||||||
|
"machine_center_is_zero": {"default_value": false},
|
||||||
|
"machine_heated_bed": { "default_value": true },
|
||||||
|
"machine_nozzle_size": {"default_value": 0.4},
|
||||||
|
"machine_show_variants": {"default_value": true},
|
||||||
|
"machine_acceleration": {"default_value": 2000},
|
||||||
|
"machine_max_feedrate_x": { "value": 300 },
|
||||||
|
"machine_max_feedrate_y": { "value": 300 },
|
||||||
|
"machine_max_feedrate_z": { "value": 15 },
|
||||||
|
"machine_max_feedrate_e": { "value": 150 },
|
||||||
|
"machine_use_extruder_offset_to_offset_coords": {"default_value": false},
|
||||||
|
"line_width": {"value": "machine_nozzle_size"},
|
||||||
|
"speed_travel": {"maximum_value": "300", "value": "200"},
|
||||||
|
"optimize_wall_printing_order": { "value": "True" },
|
||||||
|
"material_diameter": { "default_value": 1.75},
|
||||||
|
"retraction_amount": {"default_value": 6.5},
|
||||||
|
"retraction_speed": { "default_value": 30},
|
||||||
|
|
||||||
|
"adhesion_type": { "default_value": "skirt" },
|
||||||
|
"machine_gcode_flavor": { "default_value": "Marlin"},
|
||||||
|
"ironing_enabled":{"default_value": true},
|
||||||
|
"machine_start_gcode": {"default_value": "M605 S2 R0 X125\nG21\nG90\nM82\nM107\nM104 S{material_print_temperature}\nM105\nM109 S{material_print_temperature}\nG28 \nG29 \nG1 Z15 F150\nG28 Y5\nG1 Y20 F6000\nG28 X0\nG1 X80 F6000\nT0\nG92 E0\nG1 E35 F250\nG1 E45 F120\nG92 E0\nG1 X100 Z0 F5000\nG1 X125 F6000\nM117\n"},
|
||||||
|
"machine_end_gcode": {"default_value": "G91\nG1 Z+0.5 E-16 Y+10 F9000\nG90\nM107\nM107 P1\nM104 S0\nM140 S0\nM117\nM605 S0\nG28 X0 Y0\nM84"},
|
||||||
|
"machine_extruder_count": { "default_value": 1 }
|
||||||
|
}
|
||||||
|
}
|
49
resources/definitions/arjunpro_mirrored.def.json
Normal file
49
resources/definitions/arjunpro_mirrored.def.json
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Arjun Pro 300 Mirror",
|
||||||
|
"inherits": "fdmprinter",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"author": "Venkat Kamesh",
|
||||||
|
"manufacturer": "Sri Vignan Technologies",
|
||||||
|
"weight": 3,
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
|
"has_material": true,
|
||||||
|
"has_variants": true,
|
||||||
|
"preferred_variant_name": "0.4 mm Nozzle",
|
||||||
|
"machine_extruder_trains":
|
||||||
|
{
|
||||||
|
"0": "arjunpro_mm_extruder"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Arjunpro 300 Mirror" },
|
||||||
|
"machine_width": { "default_value": 120 },
|
||||||
|
"machine_height": { "default_value": 293 },
|
||||||
|
"machine_depth": { "default_value": 300 },
|
||||||
|
"machine_center_is_zero": {"default_value": false},
|
||||||
|
"machine_heated_bed": { "default_value": true },
|
||||||
|
"machine_nozzle_size": {"default_value": 0.4},
|
||||||
|
"machine_show_variants": {"default_value": true},
|
||||||
|
"machine_acceleration": {"default_value": 2000},
|
||||||
|
"machine_max_feedrate_x": { "value": 300 },
|
||||||
|
"machine_max_feedrate_y": { "value": 300 },
|
||||||
|
"machine_max_feedrate_z": { "value": 15 },
|
||||||
|
"machine_max_feedrate_e": { "value": 150 },
|
||||||
|
"machine_use_extruder_offset_to_offset_coords": {"default_value": false},
|
||||||
|
"line_width": {"value": "machine_nozzle_size"},
|
||||||
|
"speed_travel": {"maximum_value": "300", "value": "200"},
|
||||||
|
"optimize_wall_printing_order": { "value": "True" },
|
||||||
|
"material_diameter": { "default_value": 1.75},
|
||||||
|
"retraction_amount": {"default_value": 6.5},
|
||||||
|
"retraction_speed": { "default_value": 30},
|
||||||
|
|
||||||
|
"adhesion_type": { "default_value": "skirt" },
|
||||||
|
"machine_gcode_flavor": { "default_value": "Marlin"},
|
||||||
|
"ironing_enabled":{"default_value": true},
|
||||||
|
"machine_start_gcode": {"default_value": "M605 S2 R0 X125\nM605 S3 X125\nG21\nG90\nM82\nM107\nM104 S{material_print_temperature}\nM105\nM109 S{material_print_temperature}\nG28 \nG29 \nG1 Z15 F150\nG28 Y5\nG1 Y20 F6000\nG28 X0\nG1 X80 F6000\nT0\nG92 E0\nG1 E35 F250\nG1 E45 F120\nG92 E0\nG1 X100 Z0 F5000\nG1 X125 F6000\nM117\n"},
|
||||||
|
"machine_end_gcode": {"default_value": "G91\nG1 Z+0.5 E-16 Y+10 F9000\nG90\nM107\nM107 P1\nM104 S0\nM140 S0\nM117\nM605 S0\nG28 X0 Y0\nM84"},
|
||||||
|
"machine_extruder_count": { "default_value": 1 }
|
||||||
|
}
|
||||||
|
}
|
|
@ -225,7 +225,7 @@
|
||||||
"retraction_prime_speed": { "value": "math.ceil(retraction_speed * 0.4)", "maximum_value_warning": "130" },
|
"retraction_prime_speed": { "value": "math.ceil(retraction_speed * 0.4)", "maximum_value_warning": "130" },
|
||||||
"retraction_hop_enabled": { "value": "True" },
|
"retraction_hop_enabled": { "value": "True" },
|
||||||
"retraction_hop": { "value": "0.5" },
|
"retraction_hop": { "value": "0.5" },
|
||||||
"retraction_combing": { "default_value": "noskin" },
|
"retraction_combing": { "value": "'noskin'" },
|
||||||
"retraction_combing_max_distance": { "value": "10" },
|
"retraction_combing_max_distance": { "value": "10" },
|
||||||
"travel_avoid_other_parts": { "value": "True" },
|
"travel_avoid_other_parts": { "value": "True" },
|
||||||
"travel_avoid_supports": { "value": "True" },
|
"travel_avoid_supports": { "value": "True" },
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"machine_name": { "default_value": "Creality Ender-5 Plus" },
|
"machine_name": { "default_value": "Creality Ender-5 Plus" },
|
||||||
"machine_start_gcode": { "default_value": "M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration\nM203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate\nM204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration\nM205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\nM420 S1 Z2 ;Enable ABL using saved Mesh and Fade Height\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\n"},
|
"machine_start_gcode": { "default_value": "M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration\nM203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate\nM204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration\nM205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\nM420 S1 Z2 ;Enable ABL using saved Mesh and Fade Height\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\n"},
|
||||||
|
"machine_end_gcode": { "default_value": "G91 ;Relative positioning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positioning\n\nG1 X{machine_width} Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\n\nM84 X Y E ;Disable all steppers but Z\n" },
|
||||||
"machine_width": { "default_value": 350 },
|
"machine_width": { "default_value": 350 },
|
||||||
"machine_depth": { "default_value": 350 },
|
"machine_depth": { "default_value": 350 },
|
||||||
"machine_height": { "default_value": 400 },
|
"machine_height": { "default_value": 400 },
|
||||||
|
|
41
resources/definitions/creality_ender6.def.json
Normal file
41
resources/definitions/creality_ender6.def.json
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
{
|
||||||
|
"name": "Creality Ender-6",
|
||||||
|
"version": 2,
|
||||||
|
"inherits": "creality_base",
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Creality Ender-6" },
|
||||||
|
"machine_start_gcode": { "default_value": "\nG28 ;Home\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\n"},
|
||||||
|
"machine_end_gcode": { "default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positionning\n\nG28 X Y ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\n\nM84 X Y E ;Disable all steppers but Z\n" },
|
||||||
|
"machine_width": { "default_value": 260 },
|
||||||
|
"machine_depth": { "default_value": 260 },
|
||||||
|
"machine_height": { "default_value": 400 },
|
||||||
|
"z_seam_type": { "value": "'sharpest_corner'"},
|
||||||
|
"z_seam_corner": { "value": "'z_seam_corner_inner'"},
|
||||||
|
"infill_sparse_density": { "value": "10"},
|
||||||
|
"infill_pattern": { "value": "'lines' if infill_sparse_density > 50 else 'grid'"},
|
||||||
|
"infill_overlap":{"value": 10},
|
||||||
|
"material_print_temperature":{"value": 220},
|
||||||
|
"material_bed_temperature":{"value": 50},
|
||||||
|
"retraction_amount":{"value": 10},
|
||||||
|
"speed_travel": { "value": 80.0 },
|
||||||
|
"coasting_enable": { "value": true},
|
||||||
|
"coasting_min_volume": { "value": 0.5},
|
||||||
|
"machine_head_with_fans_polygon": { "default_value": [
|
||||||
|
[-26, 34],
|
||||||
|
[-26, -32],
|
||||||
|
[32, -32],
|
||||||
|
[32, 34]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
"gantry_height": { "value": 25 },
|
||||||
|
|
||||||
|
"speed_print": { "value": 50.0 },
|
||||||
|
"speed_wall": { "value": 30.0 }
|
||||||
|
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"quality_definition": "creality_base",
|
||||||
|
"visible": true
|
||||||
|
}
|
||||||
|
}
|
32
resources/definitions/creasee_cs50spro.def.json
Normal file
32
resources/definitions/creasee_cs50spro.def.json
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Creasee CS50s Pro",
|
||||||
|
"inherits": "fdmprinter",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"manufacturer": "Creasee",
|
||||||
|
"machine_extruder_trains":
|
||||||
|
{
|
||||||
|
"0": "creasee_cs50spro_extruder"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Creasee CS50s Pro" },
|
||||||
|
"machine_width": {
|
||||||
|
"default_value": 500
|
||||||
|
},
|
||||||
|
"machine_depth": {
|
||||||
|
"default_value": 500
|
||||||
|
},
|
||||||
|
"machine_height": {
|
||||||
|
"default_value": 600
|
||||||
|
},
|
||||||
|
"machine_start_gcode": {
|
||||||
|
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||||
|
},
|
||||||
|
"machine_end_gcode": {
|
||||||
|
"default_value": "M104 S0\nM140 S0\nG92 E0\nG1 E-10 F2000\nG28 X0 Y0\nM84"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
32
resources/definitions/creasee_phoenix.def.json
Normal file
32
resources/definitions/creasee_phoenix.def.json
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Creasee Phoenix",
|
||||||
|
"inherits": "fdmprinter",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"manufacturer": "Creasee",
|
||||||
|
"machine_extruder_trains":
|
||||||
|
{
|
||||||
|
"0": "creasee_phoenix_extruder"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Creasee Phoenix" },
|
||||||
|
"machine_width": {
|
||||||
|
"default_value": 350
|
||||||
|
},
|
||||||
|
"machine_depth": {
|
||||||
|
"default_value": 350
|
||||||
|
},
|
||||||
|
"machine_height": {
|
||||||
|
"default_value": 350
|
||||||
|
},
|
||||||
|
"machine_start_gcode": {
|
||||||
|
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||||
|
},
|
||||||
|
"machine_end_gcode": {
|
||||||
|
"default_value": "M104 S0\nM140 S0\nG92 E0\nG1 E-10 F2000\nG28 X0 Y0\nM84"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
32
resources/definitions/creasee_skywalker.def.json
Normal file
32
resources/definitions/creasee_skywalker.def.json
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Creasee Skywalker",
|
||||||
|
"inherits": "fdmprinter",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"manufacturer": "Creasee",
|
||||||
|
"machine_extruder_trains":
|
||||||
|
{
|
||||||
|
"0": "creasee_skywalker_extruder"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Creasee Skywalker" },
|
||||||
|
"machine_width": {
|
||||||
|
"default_value": 300
|
||||||
|
},
|
||||||
|
"machine_depth": {
|
||||||
|
"default_value": 300
|
||||||
|
},
|
||||||
|
"machine_height": {
|
||||||
|
"default_value": 400
|
||||||
|
},
|
||||||
|
"machine_start_gcode": {
|
||||||
|
"default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform"
|
||||||
|
},
|
||||||
|
"machine_end_gcode": {
|
||||||
|
"default_value": "M104 S0\nM140 S0\nG92 E0\nG1 E-10 F2000\nG28 X0 Y0\nM84"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -27,7 +27,7 @@
|
||||||
"gantry_height": {"value": "43"},
|
"gantry_height": {"value": "43"},
|
||||||
"layer_height": { "default_value": 0.1 },
|
"layer_height": { "default_value": 0.1 },
|
||||||
"relative_extrusion": { "value": "False" },
|
"relative_extrusion": { "value": "False" },
|
||||||
"retraction_combing": { "default_value": "off" },
|
"retraction_combing": { "value": "'off'" },
|
||||||
"retraction_hop_enabled": { "default_value": true },
|
"retraction_hop_enabled": { "default_value": true },
|
||||||
"retraction_hop_only_when_collides": { "default_value": false },
|
"retraction_hop_only_when_collides": { "default_value": false },
|
||||||
"retraction_speed": { "default_value": 100 },
|
"retraction_speed": { "default_value": 100 },
|
||||||
|
|
58
resources/definitions/cremaker_common.def.json
Normal file
58
resources/definitions/cremaker_common.def.json
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "cremaker common",
|
||||||
|
"inherits": "fdmprinter",
|
||||||
|
"metadata": {
|
||||||
|
"visible": false,
|
||||||
|
"author": "Joyplace",
|
||||||
|
"manufacturer": "JOYPLACE CO., LTD.",
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
|
"icon": "icon_ultimaker2",
|
||||||
|
"has_materials": true,
|
||||||
|
"machine_extruder_trains": {
|
||||||
|
"0": "cremaker_extruder_0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_heated_bed": { "default_value": true },
|
||||||
|
"material_diameter": { "default_value": 1.75 },
|
||||||
|
"machine_nozzle_size": { "default_value": 0.4 },
|
||||||
|
"layer_height": { "value": 0.2 },
|
||||||
|
"layer_height_0": { "value": 0.3 },
|
||||||
|
"optimize_wall_printing_order": { "value": true },
|
||||||
|
"xy_offset": { "value": 0.1 },
|
||||||
|
"xy_offset_layer_0": { "value": -0.1 },
|
||||||
|
"hole_xy_offset": { "value": 0.15 },
|
||||||
|
"material_print_temperature": { "value": 200 },
|
||||||
|
"speed_travel": { "value": 100 },
|
||||||
|
"speed_layer_0": { "value": 25 },
|
||||||
|
"acceleration_enabled": { "value": true },
|
||||||
|
"acceleration_print": { "value": 1250 },
|
||||||
|
"acceleration_infill": { "value": 1250 },
|
||||||
|
"acceleration_wall": { "value": 800 },
|
||||||
|
"acceleration_wall_0": { "value": 800 },
|
||||||
|
"acceleration_wall_x": { "value": 800 },
|
||||||
|
"acceleration_travel": { "value": 1250 },
|
||||||
|
"acceleration_layer_0": { "value": 1000 },
|
||||||
|
"acceleration_print_layer_0": { "value": 1000 },
|
||||||
|
"acceleration_travel_layer_0": { "value": 1000 },
|
||||||
|
"retraction_amount": { "value": 1.2 },
|
||||||
|
"retraction_speed": { "value": 40 },
|
||||||
|
"retraction_combing": { "value": "'infill'" },
|
||||||
|
"retraction_hop_enabled": { "value": true },
|
||||||
|
"retraction_hop_only_when_collides": { "value": true },
|
||||||
|
"retraction_hop": { "value": 0.3 },
|
||||||
|
"adhesion_type": { "value": "'skirt'" },
|
||||||
|
"relative_extrusion": { "value": true },
|
||||||
|
"gantry_height": { "value": 28 },
|
||||||
|
"machine_max_feedrate_z": { "value": 12 },
|
||||||
|
"machine_max_feedrate_e": { "value": 120 },
|
||||||
|
"machine_max_acceleration_z": { "value": 10 },
|
||||||
|
"machine_acceleration": { "value": 1250 },
|
||||||
|
"machine_max_jerk_xy": { "value": 10 },
|
||||||
|
"machine_max_jerk_z": { "value": 0.3 },
|
||||||
|
"machine_max_jerk_e": { "value": 5.0 },
|
||||||
|
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }
|
||||||
|
}
|
||||||
|
}
|
40
resources/definitions/cremaker_m_v1.def.json
Normal file
40
resources/definitions/cremaker_m_v1.def.json
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Cremaker M V1",
|
||||||
|
"inherits": "cremaker_common",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"platform": "cremaker_platform_200.obj"
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Cremaker M V1" },
|
||||||
|
"machine_width": { "default_value": 200 },
|
||||||
|
"machine_depth": { "default_value": 200 },
|
||||||
|
"machine_height": { "default_value": 260 },
|
||||||
|
"initial_layer_line_width_factor": { "default_value": 110.0 },
|
||||||
|
"machine_head_with_fans_polygon": {
|
||||||
|
"default_value": [
|
||||||
|
[ -35, 48 ],
|
||||||
|
[ 54, 48 ],
|
||||||
|
[ 54, -67 ],
|
||||||
|
[ -35, -67 ]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
|
||||||
|
"machine_start_gcode": {
|
||||||
|
"default_value": "G28\nG1 Z5.0 F6000\nG1 X2 Y5 F3000\nG1 Z0.3\nG92 E0\nG1 Y100 E10 F600\nG92 E0"
|
||||||
|
},
|
||||||
|
"machine_end_gcode": {
|
||||||
|
"default_value": "M104 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y180\nM84"
|
||||||
|
},
|
||||||
|
"jerk_enabled": { "value": true },
|
||||||
|
"jerk_print": { "value": 8 },
|
||||||
|
"jerk_infill": { "value": 8 },
|
||||||
|
"jerk_wall": { "value": 8 },
|
||||||
|
"jerk_wall_0": { "value": 8 },
|
||||||
|
"jerk_wall_x": { "value": 8 },
|
||||||
|
"jerk_travel": { "value": 10 },
|
||||||
|
"jerk_layer_0": { "value": 8 }
|
||||||
|
}
|
||||||
|
}
|
38
resources/definitions/cremaker_m_v2.def.json
Normal file
38
resources/definitions/cremaker_m_v2.def.json
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Cremaker M V2",
|
||||||
|
"inherits": "cremaker_common",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"platform": "cremaker_platform_220.obj"
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Cremaker M V2" },
|
||||||
|
"machine_width": { "default_value": 220 },
|
||||||
|
"machine_depth": { "default_value": 220 },
|
||||||
|
"machine_height": { "default_value": 260 },
|
||||||
|
"initial_layer_line_width_factor": { "default_value": 100.0 },
|
||||||
|
"machine_head_with_fans_polygon": {
|
||||||
|
"default_value": [
|
||||||
|
[ -35, 48 ],
|
||||||
|
[ 54, 48 ],
|
||||||
|
[ 54, -67 ],
|
||||||
|
[ -35, -67 ]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
|
||||||
|
"machine_start_gcode": {
|
||||||
|
"default_value": "G28\nG29\nG1 Z5.0 F6000\nG1 X2 Y5 Z0.3 F3000\nG92 E0\nG1 Y100 E10 F1500\nG0 X2.3 F3000\nG1 Y20 E8.5 F1500\nG92 E0\nG1 F2400 E-2"
|
||||||
|
},
|
||||||
|
"machine_end_gcode": {
|
||||||
|
"default_value": "M104 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y200\nM84"
|
||||||
|
},
|
||||||
|
|
||||||
|
"cool_fan_speed": { "value": 50 },
|
||||||
|
"coasting_enable": { "value": true },
|
||||||
|
"coasting_volume": { "value": 0.05 },
|
||||||
|
"coasting_min_volume": { "value": 1.0 },
|
||||||
|
"jerk_enabled": { "value": false }
|
||||||
|
}
|
||||||
|
}
|
32
resources/definitions/cremaker_s_v1.def.json
Normal file
32
resources/definitions/cremaker_s_v1.def.json
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Cremaker S V1",
|
||||||
|
"inherits": "cremaker_common",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"platform": "cremaker_platform_200.obj"
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Cremaker S V1" },
|
||||||
|
"machine_width": { "default_value": 200 },
|
||||||
|
"machine_depth": { "default_value": 200 },
|
||||||
|
"machine_height": { "default_value": 160 },
|
||||||
|
"initial_layer_line_width_factor": { "default_value": 110.0 },
|
||||||
|
"machine_head_with_fans_polygon": {
|
||||||
|
"default_value": [
|
||||||
|
[ -39, 45 ],
|
||||||
|
[ 23, 45 ],
|
||||||
|
[ 23, -33 ],
|
||||||
|
[ -39, -33 ]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
|
||||||
|
"machine_start_gcode": {
|
||||||
|
"default_value": "G28\nG1 Z5.0 F6000\nG1 X2 Y5 F3000\nG1 Z0.3\nG92 E0\nG1 Y100 E10 F600\nG92 E0"
|
||||||
|
},
|
||||||
|
"machine_end_gcode": {
|
||||||
|
"default_value": "M104 S0 ; turn off extruder\nM140 S0 ; turn off heatbed\nG92 E1\nG1 E-1 F300\nG28 X0 Y180\nM84"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -64,7 +64,7 @@
|
||||||
"retraction_hop": { "default_value": 1.0 },
|
"retraction_hop": { "default_value": 1.0 },
|
||||||
"retraction_amount" : { "default_value": 3.5 },
|
"retraction_amount" : { "default_value": 3.5 },
|
||||||
"retraction_speed" : { "default_value": 40 },
|
"retraction_speed" : { "default_value": 40 },
|
||||||
"retraction_combing" : { "default_value": "noskin" },
|
"retraction_combing" : { "value": "'noskin'" },
|
||||||
"travel_avoid_distance": { "value": "1" },
|
"travel_avoid_distance": { "value": "1" },
|
||||||
"travel_avoid_supports": { "value": "True" },
|
"travel_avoid_supports": { "value": "True" },
|
||||||
"retraction_hop_only_when_collides": { "value": "1" },
|
"retraction_hop_only_when_collides": { "value": "1" },
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
"platform_texture": "eryone_thinker_plate.png",
|
"platform_texture": "eryone_thinker_plate.png",
|
||||||
"platform_offset": [0, -120, 0],
|
"platform_offset": [0, -120, 0],
|
||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"preferred_material": "generic_pla",
|
"preferred_material": "eryone_pla",
|
||||||
"has_machine_quality": true,
|
"has_machine_quality": true,
|
||||||
"preferred_quality_type": "normal",
|
"preferred_quality_type": "normal",
|
||||||
"machine_extruder_trains":
|
"machine_extruder_trains":
|
||||||
|
@ -57,10 +57,10 @@
|
||||||
"default_value": "Marlin"
|
"default_value": "Marlin"
|
||||||
},
|
},
|
||||||
"machine_start_gcode": {
|
"machine_start_gcode": {
|
||||||
"default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z10.0 F600 ;move the platform down 10mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 Y-3 F1200 ;move to prime\nG1 X10 F1200 ;\nG1 Z0.1 F600 ;get ready to prime\nG1 X120 E15 F1200 ;prime nozzle \nG1 X120 F3600 ;quick wipe\nG92 E0 ;zero the extruded length\nG5 ;enable resume from power failure\nM117 Printing..."
|
"default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z10.0 F600 ;move the platform down 10mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 Y-3 F1200 ;move to prime\nG1 X10 F1200 ;\nG1 Z0.1 F600 ;get ready to prime\nG1 X120 E15 F1200 ;prime nozzle \nG1 X120 F3600 ;quick wipe\nG92 E0 ;zero the extruded length\nM413 S1 ;enable resume from power failure\nM117 Printing..."
|
||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 S0 ;turn off extruder\nM140 S0 ;turn off bed\nM107 ;turn off all fans\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 E-5 F300\nG1 Z+0.5 E-5 ;move Z up a bit and retract filament even more\nG90 ;absolute positioning\nG1 X0 Y250 F4800 ; position for easy part removal\nM84 ;steppers off"
|
"default_value": "M104 S0 ;turn off extruder\nM140 S0 ;turn off bed\nM107 ;turn off all fans\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 ;move Z up a bit and retract filament even more\nG90 ;absolute positioning\nG1 X0 Y250 F4800 ; position for easy part removal\nM84 ;steppers off"
|
||||||
},
|
},
|
||||||
"acceleration_enabled": {
|
"acceleration_enabled": {
|
||||||
"value": true
|
"value": true
|
||||||
|
@ -160,7 +160,7 @@
|
||||||
"value": 10
|
"value": 10
|
||||||
},
|
},
|
||||||
"skirt_brim_speed": {
|
"skirt_brim_speed": {
|
||||||
"value": 40
|
"value": "math.ceil(speed_print * 40 / 60)"
|
||||||
},
|
},
|
||||||
"skirt_gap": {
|
"skirt_gap": {
|
||||||
"value": 5
|
"value": 5
|
||||||
|
@ -229,7 +229,7 @@
|
||||||
"value": 3
|
"value": 3
|
||||||
},
|
},
|
||||||
"wall_thickness": {
|
"wall_thickness": {
|
||||||
"value": "1.2"
|
"value": "line_width * wall_line_count"
|
||||||
},
|
},
|
||||||
"bottom_layers": {
|
"bottom_layers": {
|
||||||
"value": "4"
|
"value": "4"
|
||||||
|
@ -250,4 +250,4 @@
|
||||||
"value": "'z_seam_corner_inner'"
|
"value": "'z_seam_corner_inner'"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -6,7 +6,7 @@
|
||||||
"type": "extruder",
|
"type": "extruder",
|
||||||
"author": "Ultimaker",
|
"author": "Ultimaker",
|
||||||
"manufacturer": "Unknown",
|
"manufacturer": "Unknown",
|
||||||
"setting_version": 18,
|
"setting_version": 19,
|
||||||
"visible": false,
|
"visible": false,
|
||||||
"position": "0"
|
"position": "0"
|
||||||
},
|
},
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
"type": "machine",
|
"type": "machine",
|
||||||
"author": "Ultimaker",
|
"author": "Ultimaker",
|
||||||
"manufacturer": "Unknown",
|
"manufacturer": "Unknown",
|
||||||
"setting_version": 18,
|
"setting_version": 19,
|
||||||
"file_formats": "text/x-gcode;model/stl;application/x-wavefront-obj;application/x3g",
|
"file_formats": "text/x-gcode;model/stl;application/x-wavefront-obj;application/x3g",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
|
@ -1943,7 +1943,7 @@
|
||||||
"default_value": 2,
|
"default_value": 2,
|
||||||
"minimum_value": "0",
|
"minimum_value": "0",
|
||||||
"minimum_value_warning": "infill_line_width",
|
"minimum_value_warning": "infill_line_width",
|
||||||
"value": "0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else 1))))",
|
"value": "0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else (1.6 if infill_pattern == 'lightning' else 1)))))",
|
||||||
"limit_to_extruder": "infill_extruder_nr",
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
"settable_per_mesh": true
|
"settable_per_mesh": true
|
||||||
}
|
}
|
||||||
|
@ -1952,7 +1952,7 @@
|
||||||
"infill_pattern":
|
"infill_pattern":
|
||||||
{
|
{
|
||||||
"label": "Infill Pattern",
|
"label": "Infill Pattern",
|
||||||
"description": "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, tri-hexagon, cubic, octet, quarter cubic, cross and concentric patterns are fully printed every layer. Gyroid, cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction.",
|
"description": "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, tri-hexagon, cubic, octet, quarter cubic, cross and concentric patterns are fully printed every layer. Gyroid, cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction. Lightning infill tries to minimize the infill, by only supporting the (internal) roofs of the object. As such, the infill percentage is only 'valid' one layer below whatever it needs to support of the model.",
|
||||||
"type": "enum",
|
"type": "enum",
|
||||||
"options":
|
"options":
|
||||||
{
|
{
|
||||||
|
@ -1968,7 +1968,8 @@
|
||||||
"zigzag": "Zig Zag",
|
"zigzag": "Zig Zag",
|
||||||
"cross": "Cross",
|
"cross": "Cross",
|
||||||
"cross_3d": "Cross 3D",
|
"cross_3d": "Cross 3D",
|
||||||
"gyroid": "Gyroid"
|
"gyroid": "Gyroid",
|
||||||
|
"lightning": "Lightning"
|
||||||
},
|
},
|
||||||
"default_value": "grid",
|
"default_value": "grid",
|
||||||
"enabled": "infill_line_distance > 0",
|
"enabled": "infill_line_distance > 0",
|
||||||
|
@ -1994,7 +1995,7 @@
|
||||||
"type": "bool",
|
"type": "bool",
|
||||||
"default_value": true,
|
"default_value": true,
|
||||||
"value": "(infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_multiplier % 2 == 0) and infill_wall_line_count > 0",
|
"value": "(infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_multiplier % 2 == 0) and infill_wall_line_count > 0",
|
||||||
"enabled": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'concentric' or infill_multiplier % 2 == 0 or infill_wall_line_count > 1",
|
"enabled": "infill_pattern != 'lightning' and infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'concentric' or infill_multiplier % 2 == 0 or infill_wall_line_count > 1",
|
||||||
"limit_to_extruder": "infill_extruder_nr",
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
"settable_per_mesh": true
|
"settable_per_mesh": true
|
||||||
},
|
},
|
||||||
|
@ -2004,7 +2005,7 @@
|
||||||
"description": "A list of integer line directions to use. Elements from the list are used sequentially as the layers progress and when the end of the list is reached, it starts at the beginning again. The list items are separated by commas and the whole list is contained in square brackets. Default is an empty list which means use the traditional default angles (45 and 135 degrees for the lines and zig zag patterns and 45 degrees for all other patterns).",
|
"description": "A list of integer line directions to use. Elements from the list are used sequentially as the layers progress and when the end of the list is reached, it starts at the beginning again. The list items are separated by commas and the whole list is contained in square brackets. Default is an empty list which means use the traditional default angles (45 and 135 degrees for the lines and zig zag patterns and 45 degrees for all other patterns).",
|
||||||
"type": "[int]",
|
"type": "[int]",
|
||||||
"default_value": "[ ]",
|
"default_value": "[ ]",
|
||||||
"enabled": "infill_pattern != 'concentric' and infill_sparse_density > 0",
|
"enabled": "infill_pattern != 'lightning' and infill_pattern != 'concentric' and infill_sparse_density > 0",
|
||||||
"limit_to_extruder": "infill_extruder_nr",
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
"settable_per_mesh": true
|
"settable_per_mesh": true
|
||||||
},
|
},
|
||||||
|
@ -2015,7 +2016,7 @@
|
||||||
"unit": "mm",
|
"unit": "mm",
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"default_value": 0,
|
"default_value": 0,
|
||||||
"enabled": "infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'",
|
"enabled": "infill_pattern != 'lightning' and infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'",
|
||||||
"limit_to_extruder": "infill_extruder_nr",
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
"settable_per_mesh": true
|
"settable_per_mesh": true
|
||||||
},
|
},
|
||||||
|
@ -2026,7 +2027,7 @@
|
||||||
"unit": "mm",
|
"unit": "mm",
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"default_value": 0,
|
"default_value": 0,
|
||||||
"enabled": "infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'",
|
"enabled": "infill_pattern != 'lightning' and infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'",
|
||||||
"limit_to_extruder": "infill_extruder_nr",
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
"settable_per_mesh": true
|
"settable_per_mesh": true
|
||||||
},
|
},
|
||||||
|
@ -2037,7 +2038,7 @@
|
||||||
"type": "bool",
|
"type": "bool",
|
||||||
"default_value": false,
|
"default_value": false,
|
||||||
"warning_value": "True if infill_pattern not in ('grid', 'triangles', 'trihexagon', 'cubic', 'cubicsubdiv', 'tetrahedral', 'quarter_cubic') else None",
|
"warning_value": "True if infill_pattern not in ('grid', 'triangles', 'trihexagon', 'cubic', 'cubicsubdiv', 'tetrahedral', 'quarter_cubic') else None",
|
||||||
"enabled": "not ((infill_pattern == 'cross' and connect_infill_polygons) or infill_pattern == 'concentric')",
|
"enabled": "not (infill_pattern == 'lightning' or (infill_pattern == 'cross' and connect_infill_polygons) or infill_pattern == 'concentric')",
|
||||||
"limit_to_extruder": "infill_extruder_nr",
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
"settable_per_mesh": true
|
"settable_per_mesh": true
|
||||||
},
|
},
|
||||||
|
@ -2146,7 +2147,7 @@
|
||||||
"minimum_value": "0",
|
"minimum_value": "0",
|
||||||
"maximum_value_warning": "1 if (infill_pattern == 'cross' or infill_pattern == 'cross_3d' or support_pattern == 'concentric') else 5",
|
"maximum_value_warning": "1 if (infill_pattern == 'cross' or infill_pattern == 'cross_3d' or support_pattern == 'concentric') else 5",
|
||||||
"maximum_value": "999999 if infill_line_distance == 0 else (20 - math.log(infill_line_distance) / math.log(2))",
|
"maximum_value": "999999 if infill_line_distance == 0 else (20 - math.log(infill_line_distance) / math.log(2))",
|
||||||
"enabled": "infill_sparse_density > 0 and infill_pattern != 'cubicsubdiv'",
|
"enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0 and infill_pattern != 'cubicsubdiv'",
|
||||||
"limit_to_extruder": "infill_extruder_nr",
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
"settable_per_mesh": true
|
"settable_per_mesh": true
|
||||||
},
|
},
|
||||||
|
@ -2159,7 +2160,7 @@
|
||||||
"default_value": 1.5,
|
"default_value": 1.5,
|
||||||
"minimum_value": "0.0001",
|
"minimum_value": "0.0001",
|
||||||
"minimum_value_warning": "3 * resolveOrValue('layer_height')",
|
"minimum_value_warning": "3 * resolveOrValue('layer_height')",
|
||||||
"enabled": "infill_sparse_density > 0 and gradual_infill_steps > 0 and infill_pattern != 'cubicsubdiv'",
|
"enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0 and gradual_infill_steps > 0 and infill_pattern != 'cubicsubdiv'",
|
||||||
"limit_to_extruder": "infill_extruder_nr",
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
"settable_per_mesh": true
|
"settable_per_mesh": true
|
||||||
},
|
},
|
||||||
|
@ -2189,7 +2190,7 @@
|
||||||
"description": "Print infill structures only where tops of the model should be supported. Enabling this reduces print time and material usage, but leads to ununiform object strength.",
|
"description": "Print infill structures only where tops of the model should be supported. Enabling this reduces print time and material usage, but leads to ununiform object strength.",
|
||||||
"type": "bool",
|
"type": "bool",
|
||||||
"default_value": false,
|
"default_value": false,
|
||||||
"enabled": "infill_sparse_density > 0",
|
"enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0",
|
||||||
"limit_to_extruder": "infill_extruder_nr",
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
"settable_per_mesh": true
|
"settable_per_mesh": true
|
||||||
},
|
},
|
||||||
|
@ -2203,7 +2204,7 @@
|
||||||
"minimum_value_warning": "2",
|
"minimum_value_warning": "2",
|
||||||
"maximum_value": "90",
|
"maximum_value": "90",
|
||||||
"default_value": 40,
|
"default_value": 40,
|
||||||
"enabled": "infill_sparse_density > 0 and infill_support_enabled",
|
"enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0 and infill_support_enabled",
|
||||||
"limit_to_extruder": "infill_extruder_nr",
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
"settable_per_mesh": true
|
"settable_per_mesh": true
|
||||||
},
|
},
|
||||||
|
@ -2237,6 +2238,72 @@
|
||||||
"settable_per_mesh": true
|
"settable_per_mesh": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"lightning_infill_support_angle":
|
||||||
|
{
|
||||||
|
"label": "Lightning Infill Support Angle",
|
||||||
|
"description": "Determines when a lightning infill layer has to support anything above it. Measured in the angle given the thickness of a layer.",
|
||||||
|
"unit": "°",
|
||||||
|
"type": "float",
|
||||||
|
"minimum_value": "0",
|
||||||
|
"maximum_value": "90",
|
||||||
|
"maximum_value_warning": "75",
|
||||||
|
"default_value": 40,
|
||||||
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
|
"enabled": "infill_pattern == 'lightning'",
|
||||||
|
"settable_per_mesh": false,
|
||||||
|
"settable_per_extruder": true,
|
||||||
|
"children":
|
||||||
|
{
|
||||||
|
"lightning_infill_overhang_angle":
|
||||||
|
{
|
||||||
|
"label": "Lightning Infill Overhang Angle",
|
||||||
|
"description": "Determines when a lightning infill layer has to support the model above it. Measured in the angle given the thickness.",
|
||||||
|
"unit": "°",
|
||||||
|
"type": "float",
|
||||||
|
"minimum_value": "0",
|
||||||
|
"maximum_value": "90",
|
||||||
|
"maximum_value_warning": "75",
|
||||||
|
"default_value": 40,
|
||||||
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
|
"enabled": "infill_pattern == 'lightning'",
|
||||||
|
"settable_per_mesh": false,
|
||||||
|
"settable_per_extruder": true,
|
||||||
|
"value": "lightning_infill_support_angle"
|
||||||
|
},
|
||||||
|
"lightning_infill_prune_angle":
|
||||||
|
{
|
||||||
|
"label": "Lightning Infill Prune Angle",
|
||||||
|
"description": "The difference a lightning infill layer can have with the one immediately above w.r.t the pruning of the outer extremities of trees. Measured in the angle given the thickness.",
|
||||||
|
"unit": "°",
|
||||||
|
"type": "float",
|
||||||
|
"minimum_value": "0",
|
||||||
|
"maximum_value": "90",
|
||||||
|
"maximum_value_warning": "75",
|
||||||
|
"default_value": 40,
|
||||||
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
|
"enabled": "infill_pattern == 'lightning'",
|
||||||
|
"settable_per_mesh": false,
|
||||||
|
"settable_per_extruder": true,
|
||||||
|
"value": "lightning_infill_support_angle"
|
||||||
|
},
|
||||||
|
"lightning_infill_straightening_angle":
|
||||||
|
{
|
||||||
|
"label": "Lightning Infill Straightening Angle",
|
||||||
|
"description": "The difference a lightning infill layer can have with the one immediately above w.r.t the smoothing of trees. Measured in the angle given the thickness.",
|
||||||
|
"unit": "°",
|
||||||
|
"type": "float",
|
||||||
|
"minimum_value": "0",
|
||||||
|
"maximum_value": "90",
|
||||||
|
"maximum_value_warning": "75",
|
||||||
|
"default_value": 40,
|
||||||
|
"limit_to_extruder": "infill_extruder_nr",
|
||||||
|
"enabled": "infill_pattern == 'lightning'",
|
||||||
|
"settable_per_mesh": false,
|
||||||
|
"settable_per_extruder": true,
|
||||||
|
"value": "lightning_infill_support_angle"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3901,11 +3968,13 @@
|
||||||
{
|
{
|
||||||
"off": "Off",
|
"off": "Off",
|
||||||
"all": "All",
|
"all": "All",
|
||||||
|
"no_outer_surfaces": "Not on Outer Surface",
|
||||||
"noskin": "Not in Skin",
|
"noskin": "Not in Skin",
|
||||||
"infill": "Within Infill"
|
"infill": "Within Infill"
|
||||||
},
|
},
|
||||||
"default_value": "all",
|
"default_value": "all",
|
||||||
"resolve": "'noskin' if 'noskin' in extruderValues('retraction_combing') else ('infill' if 'infill' in extruderValues('retraction_combing') else ('all' if 'all' in extruderValues('retraction_combing') else 'off'))",
|
"value": "'no_outer_surfaces' if (any(extruderValues('skin_monotonic')) or any(extruderValues('ironing_enabled')) or (any(extruderValues('roofing_monotonic')) and any(extruderValues('roofing_layer_count')))) else 'all'",
|
||||||
|
"resolve": "'noskin' if 'noskin' in extruderValues('retraction_combing') else ('infill' if 'infill' in extruderValues('retraction_combing') else ('all' if 'all' in extruderValues('retraction_combing') else ('no_outer_surfaces' if 'no_outer_surfaces' in extruderValues('retraction_combing') else 'off')))",
|
||||||
"settable_per_mesh": false,
|
"settable_per_mesh": false,
|
||||||
"settable_per_extruder": false
|
"settable_per_extruder": false
|
||||||
},
|
},
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
"author": "Hellbot Development Team",
|
"author": "Hellbot Development Team",
|
||||||
"manufacturer": "Hellbot",
|
"manufacturer": "Hellbot",
|
||||||
"file_formats": "text/x-gcode",
|
"file_formats": "text/x-gcode",
|
||||||
"platform": "hellbot_hidra.obj",
|
"platform": "hellbot_hidra.obj",
|
||||||
"platform_offset": [0, 0, 5],
|
"platform_offset": [0, 0, 5],
|
||||||
"platform_texture": "hellbot_hidra.png",
|
"platform_texture": "hellbot_hidra.png",
|
||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"machine_extruder_trains":
|
"machine_extruder_trains":
|
||||||
{
|
{
|
||||||
"0": "hellbot_hidra_extruder_0",
|
"0": "hellbot_hidra_extruder_0",
|
||||||
"1": "hellbot_hidra_extruder_1"
|
"1": "hellbot_hidra_extruder_1"
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -24,19 +24,19 @@
|
||||||
"machine_width": {
|
"machine_width": {
|
||||||
"default_value": 220
|
"default_value": 220
|
||||||
},
|
},
|
||||||
"machine_depth": {
|
"machine_depth": {
|
||||||
"default_value": 220
|
"default_value": 220
|
||||||
},
|
},
|
||||||
"machine_height": {
|
"machine_height": {
|
||||||
"default_value": 250
|
"default_value": 250
|
||||||
},
|
},
|
||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_head_with_fans_polygon":
|
"machine_head_with_fans_polygon":
|
||||||
{
|
{
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[ -75, 35 ],
|
[ -75, 35 ],
|
||||||
|
@ -48,11 +48,11 @@
|
||||||
"machine_extruder_count": {
|
"machine_extruder_count": {
|
||||||
"default_value": 2
|
"default_value": 2
|
||||||
},
|
},
|
||||||
"machine_start_gcode": {
|
"machine_start_gcode": {
|
||||||
"default_value": "G21; Unidades en Milimetro\nG90; Posicionamiento Absoluto\nM82; E Absoluto\nM107; Apagar Venitilador de capas\nG28; Llevar ejes a origen\nG1 Z15.0 F9000; Levantar Eje Z 15mm"
|
"default_value": "G21;\nG90;\nM82;\nM107;\nG28;\nG1 Z15.0 F9000;"
|
||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 T0 S0; Apagar Extrusor E0\nM104 T1 S0; Apagar Extrusor E1\nM140 S0; Apagar Cama Caliente\nG92 E1; Posicionar Extrusor en 1mm\nG1 E-1 F300; Retraer Extrusor 1mm\nG28 X0 Y0; Llevar al origen ejes X e Y\nM84; Desactivar Motores "
|
"default_value": "M104 T0 S0;\nM104 T1 S0;\nM140 S0;\nG92 E1;\nG1 E-1 F300;\nG28 X0 Y0;\nM84;"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
"author": "Hellbot Development Team",
|
"author": "Hellbot Development Team",
|
||||||
"manufacturer": "Hellbot",
|
"manufacturer": "Hellbot",
|
||||||
"file_formats": "text/x-gcode",
|
"file_formats": "text/x-gcode",
|
||||||
"platform": "hellbot_hidra_plus.obj",
|
"platform": "hellbot_hidra_plus.obj",
|
||||||
"platform_offset": [0, 0, 5],
|
"platform_offset": [0, 0, 5],
|
||||||
"platform_texture": "hellbot_hidra_plus.png",
|
"platform_texture": "hellbot_hidra_plus.png",
|
||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"machine_extruder_trains":
|
"machine_extruder_trains":
|
||||||
{
|
{
|
||||||
"0": "hellbot_hidra_plus_extruder_0",
|
"0": "hellbot_hidra_plus_extruder_0",
|
||||||
"1": "hellbot_hidra_plus_extruder_1"
|
"1": "hellbot_hidra_plus_extruder_1"
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -22,21 +22,21 @@
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"machine_name": { "default_value": "Hellbot Hidra Plus" },
|
"machine_name": { "default_value": "Hellbot Hidra Plus" },
|
||||||
"machine_width": {
|
"machine_width": {
|
||||||
"default_value": 305
|
"default_value": 300
|
||||||
},
|
},
|
||||||
"machine_depth": {
|
"machine_depth": {
|
||||||
"default_value": 305
|
"default_value": 300
|
||||||
},
|
},
|
||||||
"machine_height": {
|
"machine_height": {
|
||||||
"default_value": 350
|
"default_value": 350
|
||||||
},
|
},
|
||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_head_with_fans_polygon":
|
"machine_head_with_fans_polygon":
|
||||||
{
|
{
|
||||||
"default_value": [
|
"default_value": [
|
||||||
[ -75, 35 ],
|
[ -75, 35 ],
|
||||||
|
@ -48,12 +48,11 @@
|
||||||
"machine_extruder_count": {
|
"machine_extruder_count": {
|
||||||
"default_value": 2
|
"default_value": 2
|
||||||
},
|
},
|
||||||
"machine_start_gcode": {
|
"machine_start_gcode": {
|
||||||
"default_value": "G21; Unidades en Milimetro\nG90; Posicionamiento Absoluto\nM82; E Absoluto\nM107; Apagar Venitilador de capas\nG28; Llevar ejes a origen\nG1 Z15.0 F9000; Levantar Eje Z 15mm"
|
"default_value": "G21;\nG90;\nM82;\nM107;\nG28;\nG1 Z15.0 F9000;"
|
||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 T0 S0; Apagar Extrusor E0\nM104 T1 S0; Apagar Extrusor E1\nM140 S0; Apagar Cama Caliente\nG92 E1; Posicionar Extrusor en 1mm\nG1 E-1 F300; Retraer Extrusor 1mm\nG28 X0 Y0; Llevar al origen ejes X e Y\nM84; Desactivar Motores "
|
"default_value": "M104 T0 S0;\nM104 T1 S0;\nM140 S0;\nG92 E1;\nG1 E-1 F300;\nG28 X0 Y0;\nM84;"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
"author": "Hellbot Development Team",
|
"author": "Hellbot Development Team",
|
||||||
"manufacturer": "Hellbot",
|
"manufacturer": "Hellbot",
|
||||||
"file_formats": "text/x-gcode",
|
"file_formats": "text/x-gcode",
|
||||||
"platform": "Hellbot_Magna_2_230.obj",
|
"platform": "Hellbot_Magna_2_230.obj",
|
||||||
"platform_texture": "Magna2_230.png",
|
"platform_texture": "Magna2_230.png",
|
||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"machine_extruder_trains":
|
"machine_extruder_trains":
|
||||||
|
@ -28,9 +28,9 @@
|
||||||
"machine_depth": {
|
"machine_depth": {
|
||||||
"default_value": 230
|
"default_value": 230
|
||||||
},
|
},
|
||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
"author": "Hellbot Development Team",
|
"author": "Hellbot Development Team",
|
||||||
"manufacturer": "Hellbot",
|
"manufacturer": "Hellbot",
|
||||||
"file_formats": "text/x-gcode",
|
"file_formats": "text/x-gcode",
|
||||||
"platform": "Hellbot_Magna_2_230.obj",
|
"platform": "Hellbot_Magna_2_230.obj",
|
||||||
"platform_texture": "Magna2_230.png",
|
"platform_texture": "Magna2_230.png",
|
||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"machine_extruder_trains":
|
"machine_extruder_trains":
|
||||||
{
|
{
|
||||||
"0": "hellbot_magna_2_230_dual_extruder_0",
|
"0": "hellbot_magna_2_230_dual_extruder_0",
|
||||||
"1": "hellbot_magna_2_230_dual_extruder_1"
|
"1": "hellbot_magna_2_230_dual_extruder_1"
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -29,21 +29,20 @@
|
||||||
"machine_depth": {
|
"machine_depth": {
|
||||||
"default_value": 230
|
"default_value": 230
|
||||||
},
|
},
|
||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_extruder_count": {
|
"machine_extruder_count": {
|
||||||
"default_value": 2
|
"default_value": 2
|
||||||
},
|
},
|
||||||
"machine_start_gcode": {
|
"machine_start_gcode": {
|
||||||
"default_value": "G21\nG90\nM107\nG28 X0 Y0\nG28 Z0\nG1 Z15.0 F300\nT0\nG92 E0\nG1 F700 E-80\nT1\nG92 E0\nG1 F1000 X1 Y1 Z0.3\nG1 F600 X200 E60\nG1 F1000 Y3\nG1 F600 X1 E120\nT1\nG92 E0\nG28 X0 Y0\nG1 F700 E-80\nT0\nG92 E0"
|
"default_value": "G21\nG90\nM107\nG28 X0 Y0\nG28 Z0\nG1 Z15.0 F300\nT0\nG92 E0\nG1 F700 E-80\nT1\nG92 E0\nG1 F1000 X1 Y1 Z0.3\nG1 F600 X200 E60\nG1 F1000 Y3\nG1 F600 X1 E120\nT1\nG92 E0\nG28 X0 Y0\nG1 F700 E-80\nT0\nG92 E0"
|
||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84"
|
"default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
"author": "Hellbot Development Team",
|
"author": "Hellbot Development Team",
|
||||||
"manufacturer": "Hellbot",
|
"manufacturer": "Hellbot",
|
||||||
"file_formats": "text/x-gcode",
|
"file_formats": "text/x-gcode",
|
||||||
"platform": "Hellbot_Magna_2_300.obj",
|
"platform": "Hellbot_Magna_2_300.obj",
|
||||||
"platform_texture": "Magna2_300.png",
|
"platform_texture": "Magna2_300.png",
|
||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"machine_extruder_trains":
|
"machine_extruder_trains":
|
||||||
|
@ -28,15 +28,14 @@
|
||||||
"machine_depth": {
|
"machine_depth": {
|
||||||
"default_value": 300
|
"default_value": 300
|
||||||
},
|
},
|
||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_extruder_count": {
|
"machine_extruder_count": {
|
||||||
"default_value": 1
|
"default_value": 1
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
"author": "Hellbot Development Team",
|
"author": "Hellbot Development Team",
|
||||||
"manufacturer": "Hellbot",
|
"manufacturer": "Hellbot",
|
||||||
"file_formats": "text/x-gcode",
|
"file_formats": "text/x-gcode",
|
||||||
"platform": "Hellbot_Magna_2_300.obj",
|
"platform": "Hellbot_Magna_2_300.obj",
|
||||||
"platform_texture": "Magna2_300.png",
|
"platform_texture": "Magna2_300.png",
|
||||||
"has_materials": true,
|
"has_materials": true,
|
||||||
"machine_extruder_trains":
|
"machine_extruder_trains":
|
||||||
{
|
{
|
||||||
"0": "hellbot_magna_2_300_dual_extruder_0",
|
"0": "hellbot_magna_2_300_dual_extruder_0",
|
||||||
"1": "hellbot_magna_2_300_dual_extruder_1"
|
"1": "hellbot_magna_2_300_dual_extruder_1"
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -29,21 +29,20 @@
|
||||||
"machine_depth": {
|
"machine_depth": {
|
||||||
"default_value": 300
|
"default_value": 300
|
||||||
},
|
},
|
||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_center_is_zero": {
|
"machine_center_is_zero": {
|
||||||
"default_value": false
|
"default_value": false
|
||||||
},
|
},
|
||||||
"machine_extruder_count": {
|
"machine_extruder_count": {
|
||||||
"default_value": 2
|
"default_value": 2
|
||||||
},
|
},
|
||||||
"machine_start_gcode": {
|
"machine_start_gcode": {
|
||||||
"default_value": "G21\nG90\nM107\nG28 X0 Y0\nG28 Z0\nG1 Z15.0 F300\nT0\nG92 E0\nG1 F700 E-80\nT1\nG92 E0\nG1 F1000 X1 Y1 Z0.3\nG1 F600 X200 E60\nG1 F1000 Y3\nG1 F600 X1 E120\nT1\nG92 E0\nG28 X0 Y0\nG1 F700 E-80\nT0\nG92 E0"
|
"default_value": "G21\nG90\nM107\nG28 X0 Y0\nG28 Z0\nG1 Z15.0 F300\nT0\nG92 E0\nG1 F700 E-80\nT1\nG92 E0\nG1 F1000 X1 Y1 Z0.3\nG1 F600 X200 E60\nG1 F1000 Y3\nG1 F600 X1 E120\nT1\nG92 E0\nG28 X0 Y0\nG1 F700 E-80\nT0\nG92 E0"
|
||||||
},
|
},
|
||||||
"machine_end_gcode": {
|
"machine_end_gcode": {
|
||||||
"default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84"
|
"default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
42
resources/definitions/hellbot_magna_2_400.def.json
Normal file
42
resources/definitions/hellbot_magna_2_400.def.json
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Hellbot Magna 2 400",
|
||||||
|
"inherits": "fdmprinter",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"author": "Hellbot Development Team",
|
||||||
|
"manufacturer": "Hellbot",
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
|
"platform": "Hellbot_Magna_2_400.obj",
|
||||||
|
"platform_texture": "Magna2_400.png",
|
||||||
|
"has_materials": true,
|
||||||
|
"machine_extruder_trains":
|
||||||
|
{
|
||||||
|
"0": "hellbot_magna_2_400_extruder_0"
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Hellbot Magna 2 400" },
|
||||||
|
"machine_width": {
|
||||||
|
"default_value": 400
|
||||||
|
},
|
||||||
|
"machine_height": {
|
||||||
|
"default_value": 400
|
||||||
|
},
|
||||||
|
"machine_depth": {
|
||||||
|
"default_value": 400
|
||||||
|
},
|
||||||
|
"machine_heated_bed": {
|
||||||
|
"default_value": true
|
||||||
|
},
|
||||||
|
"machine_center_is_zero": {
|
||||||
|
"default_value": false
|
||||||
|
},
|
||||||
|
"machine_extruder_count": {
|
||||||
|
"default_value": 1
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
49
resources/definitions/hellbot_magna_2_400_dual.def.json
Normal file
49
resources/definitions/hellbot_magna_2_400_dual.def.json
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Hellbot Magna 2 400 dual",
|
||||||
|
"inherits": "fdmprinter",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"author": "Hellbot Development Team",
|
||||||
|
"manufacturer": "Hellbot",
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
|
"platform": "Hellbot_Magna_2_400.obj",
|
||||||
|
"platform_texture": "Magna2_400.png",
|
||||||
|
"has_materials": true,
|
||||||
|
"machine_extruder_trains":
|
||||||
|
{
|
||||||
|
"0": "hellbot_magna_2_400_dual_extruder_0",
|
||||||
|
"1": "hellbot_magna_2_400_dual_extruder_1"
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Hellbot Magna 2 400 Dual" },
|
||||||
|
"machine_width": {
|
||||||
|
"default_value": 400
|
||||||
|
},
|
||||||
|
"machine_height": {
|
||||||
|
"default_value": 400
|
||||||
|
},
|
||||||
|
"machine_depth": {
|
||||||
|
"default_value": 400
|
||||||
|
},
|
||||||
|
"machine_heated_bed": {
|
||||||
|
"default_value": true
|
||||||
|
},
|
||||||
|
"machine_center_is_zero": {
|
||||||
|
"default_value": false
|
||||||
|
},
|
||||||
|
"machine_extruder_count": {
|
||||||
|
"default_value": 2
|
||||||
|
},
|
||||||
|
"machine_start_gcode": {
|
||||||
|
"default_value": "M104 T0 S{material_print_temperature}\nM104 T1 S{material_print_temperature}\nM109 T0 S{material_print_temperature}\nM109 T1 S{material_print_temperature}\nG21\nG90 \nG28 X0 Y0 \nG28 Z0 \nG1 Z15.0 F300 \nT0 \nG92 E0 \nG1 F700 E-80 \nT1 \nG92 E0 \nG1 F1000 X1 Y1 Z0.3 \nG1 F600 X200 E60 \nG1 F1000 Y3 \nG1 F600 X1 E120 \nT1 \nG92 E0 \nG28 X0 Y0 \nG1 F700 E-80 \nT0 \nG92 E0"
|
||||||
|
},
|
||||||
|
"machine_end_gcode": {
|
||||||
|
"default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84"
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
42
resources/definitions/hellbot_magna_2_500.def.json
Normal file
42
resources/definitions/hellbot_magna_2_500.def.json
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Hellbot Magna 2 500",
|
||||||
|
"inherits": "fdmprinter",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"author": "Hellbot Development Team",
|
||||||
|
"manufacturer": "Hellbot",
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
|
"platform": "Hellbot_Magna_2_500.obj",
|
||||||
|
"platform_texture": "Magna2_500.png",
|
||||||
|
"has_materials": true,
|
||||||
|
"machine_extruder_trains":
|
||||||
|
{
|
||||||
|
"0": "hellbot_magna_2_500_extruder_0"
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Hellbot Magna 2 500" },
|
||||||
|
"machine_width": {
|
||||||
|
"default_value": 500
|
||||||
|
},
|
||||||
|
"machine_height": {
|
||||||
|
"default_value": 500
|
||||||
|
},
|
||||||
|
"machine_depth": {
|
||||||
|
"default_value": 500
|
||||||
|
},
|
||||||
|
"machine_heated_bed": {
|
||||||
|
"default_value": true
|
||||||
|
},
|
||||||
|
"machine_center_is_zero": {
|
||||||
|
"default_value": false
|
||||||
|
},
|
||||||
|
"machine_extruder_count": {
|
||||||
|
"default_value": 1
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
48
resources/definitions/hellbot_magna_2_500_dual.def.json
Normal file
48
resources/definitions/hellbot_magna_2_500_dual.def.json
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Hellbot Magna 2 500 dual",
|
||||||
|
"inherits": "fdmprinter",
|
||||||
|
"metadata": {
|
||||||
|
"visible": true,
|
||||||
|
"author": "Hellbot Development Team",
|
||||||
|
"manufacturer": "Hellbot",
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
|
"platform": "Hellbot_Magna_2_500.obj",
|
||||||
|
"platform_texture": "Magna2_500.png",
|
||||||
|
"has_materials": true,
|
||||||
|
"machine_extruder_trains":
|
||||||
|
{
|
||||||
|
"0": "hellbot_magna_2_500_dual_extruder_0",
|
||||||
|
"1": "hellbot_magna_2_500_dual_extruder_1"
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"machine_name": { "default_value": "Hellbot Magna 2 500 Dual" },
|
||||||
|
"machine_width": {
|
||||||
|
"default_value": 500
|
||||||
|
},
|
||||||
|
"machine_height": {
|
||||||
|
"default_value": 500
|
||||||
|
},
|
||||||
|
"machine_depth": {
|
||||||
|
"default_value": 500
|
||||||
|
},
|
||||||
|
"machine_heated_bed": {
|
||||||
|
"default_value": true
|
||||||
|
},
|
||||||
|
"machine_center_is_zero": {
|
||||||
|
"default_value": false
|
||||||
|
},
|
||||||
|
"machine_extruder_count": {
|
||||||
|
"default_value": 2
|
||||||
|
},
|
||||||
|
"machine_start_gcode": {
|
||||||
|
"default_value": "M104 T0 S{material_print_temperature}\nM104 T1 S{material_print_temperature}\nM109 T0 S{material_print_temperature}\nM109 T1 S{material_print_temperature}\nG21\nG90 \nG28 X0 Y0 \nG28 Z0 \nG1 Z15.0 F300 \nT0 \nG92 E0 \nG1 F700 E-80 \nT1 \nG92 E0 \nG1 F1000 X1 Y1 Z0.3 \nG1 F600 X200 E60 \nG1 F1000 Y3 \nG1 F600 X1 E120 \nT1 \nG92 E0 \nG28 X0 Y0 \nG1 F700 E-80 \nT0 \nG92 E0"
|
||||||
|
},
|
||||||
|
"machine_end_gcode": {
|
||||||
|
"default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -19,7 +19,7 @@
|
||||||
"machine_name": {
|
"machine_name": {
|
||||||
"default_value": "Hellbot Magna 1"
|
"default_value": "Hellbot Magna 1"
|
||||||
},
|
},
|
||||||
"machine_heated_bed": { "default_value": true },
|
"machine_heated_bed": { "default_value": true },
|
||||||
"machine_width": {
|
"machine_width": {
|
||||||
"default_value": 220
|
"default_value": 220
|
||||||
},
|
},
|
||||||
|
|
|
@ -26,9 +26,9 @@
|
||||||
"machine_depth": {
|
"machine_depth": {
|
||||||
"default_value": 220
|
"default_value": 220
|
||||||
},
|
},
|
||||||
"machine_heated_bed": {
|
"machine_heated_bed": {
|
||||||
"default_value": true
|
"default_value": true
|
||||||
},
|
},
|
||||||
"machine_height": {
|
"machine_height": {
|
||||||
"default_value": 260
|
"default_value": 260
|
||||||
},
|
},
|
||||||
|
|
|
@ -369,7 +369,7 @@
|
||||||
"value": 45
|
"value": 45
|
||||||
},
|
},
|
||||||
"retraction_combing": {
|
"retraction_combing": {
|
||||||
"value": "infill"
|
"value": "'infill'"
|
||||||
},
|
},
|
||||||
"retraction_hop_enabled": {
|
"retraction_hop_enabled": {
|
||||||
"value": true
|
"value": true
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
"support_pattern": { "default_value": "grid" },
|
"support_pattern": { "default_value": "grid" },
|
||||||
"infill_sparse_density": { "default_value": 10 },
|
"infill_sparse_density": { "default_value": 10 },
|
||||||
"machine_extruder_count": { "default_value": 1 },
|
"machine_extruder_count": { "default_value": 1 },
|
||||||
"retraction_combing": { "default_value": "off" },
|
"retraction_combing": { "value": "'off'" },
|
||||||
"machine_heated_bed": { "default_value": true },
|
"machine_heated_bed": { "default_value": true },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"machine_height": { "default_value": 260 },
|
"machine_height": { "default_value": 260 },
|
||||||
|
|
|
@ -97,7 +97,7 @@
|
||||||
"material_final_print_temperature": {"value": "default_material_print_temperature" },
|
"material_final_print_temperature": {"value": "default_material_print_temperature" },
|
||||||
"material_initial_print_temperature": {"value": "default_material_print_temperature" },
|
"material_initial_print_temperature": {"value": "default_material_print_temperature" },
|
||||||
"gantry_height": {"value": "20"},
|
"gantry_height": {"value": "20"},
|
||||||
"retraction_combing": { "default_value": "all" },
|
"retraction_combing": { "value": "'all'" },
|
||||||
"retraction_amount": {"default_value": 2},
|
"retraction_amount": {"default_value": 2},
|
||||||
"adhesion_type": {"default_value": "skirt"},
|
"adhesion_type": {"default_value": "skirt"},
|
||||||
"skirt_line_count": {"default_value": 3},
|
"skirt_line_count": {"default_value": 3},
|
||||||
|
|
|
@ -171,7 +171,7 @@
|
||||||
"meshfix_maximum_resolution": { "value": "(speed_wall_0 + speed_wall_x) / 100" },
|
"meshfix_maximum_resolution": { "value": "(speed_wall_0 + speed_wall_x) / 100" },
|
||||||
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
||||||
"optimize_wall_printing_order": { "value": "True" },
|
"optimize_wall_printing_order": { "value": "True" },
|
||||||
"retraction_combing": { "default_value": "all" },
|
"retraction_combing": { "value": "'all'" },
|
||||||
"initial_layer_line_width_factor": { "value": "120" },
|
"initial_layer_line_width_factor": { "value": "120" },
|
||||||
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" }
|
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" }
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,7 +95,7 @@
|
||||||
"acceleration_enabled": {"value": false },
|
"acceleration_enabled": {"value": false },
|
||||||
"acceleration_roofing": {"value": 3000 },
|
"acceleration_roofing": {"value": 3000 },
|
||||||
"jerk_enabled": {"value": false },
|
"jerk_enabled": {"value": false },
|
||||||
"retraction_combing": {"value": "'within infill'" },
|
"retraction_combing": {"value": "'infill'" },
|
||||||
"travel_retract_before_outer_wall": {"value": false },
|
"travel_retract_before_outer_wall": {"value": false },
|
||||||
"travel_avoid_other_parts": {"value": true },
|
"travel_avoid_other_parts": {"value": true },
|
||||||
"retraction_hop_enabled": {"value": false },
|
"retraction_hop_enabled": {"value": false },
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"inherits": "fdmprinter",
|
"inherits": "fdmprinter",
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"visible": true,
|
"visible": true,
|
||||||
"author": "Ruben Dulek",
|
"author": "Ghostkeeper",
|
||||||
"manufacturer": "Malyan",
|
"manufacturer": "Malyan",
|
||||||
"machine_x3g_variant": "r1d",
|
"machine_x3g_variant": "r1d",
|
||||||
"file_formats": "application/x3g",
|
"file_formats": "application/x3g",
|
||||||
|
|
|
@ -76,7 +76,7 @@
|
||||||
"raft_surface_layers": { "default_value": 1 },
|
"raft_surface_layers": { "default_value": 1 },
|
||||||
"skirt_line_count": { "default_value": 2},
|
"skirt_line_count": { "default_value": 2},
|
||||||
"brim_width" : { "default_value": 5},
|
"brim_width" : { "default_value": 5},
|
||||||
"retraction_combing": { "default_value": "noskin" },
|
"retraction_combing": { "value": "'noskin'" },
|
||||||
"retraction_amount" : { "default_value": 4.5},
|
"retraction_amount" : { "default_value": 4.5},
|
||||||
"retraction_speed" : { "default_value": 40},
|
"retraction_speed" : { "default_value": 40},
|
||||||
"coasting_enable": { "default_value": true },
|
"coasting_enable": { "default_value": true },
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
"default_value": "G0 X0 Y120;(Stick out the part)\nM190 S0;(Turn off heat bed, don't wait.)\nG92 E10;(Set extruder to 10)\nG1 E7 F200;(retract 3mm)\nM104 S0;(Turn off nozzle, don't wait)\nG4 S300;(Delay 5 minutes)\nM107;(Turn off part fan)\nM84;(Turn off stepper motors.)"
|
"default_value": "G0 X0 Y120;(Stick out the part)\nM190 S0;(Turn off heat bed, don't wait.)\nG92 E10;(Set extruder to 10)\nG1 E7 F200;(retract 3mm)\nM104 S0;(Turn off nozzle, don't wait)\nG4 S300;(Delay 5 minutes)\nM107;(Turn off part fan)\nM84;(Turn off stepper motors.)"
|
||||||
},
|
},
|
||||||
"adhesion_type": { "default_value": "brim" },
|
"adhesion_type": { "default_value": "brim" },
|
||||||
"retraction_combing": { "default_value": "noskin" },
|
"retraction_combing": { "value": "'noskin'" },
|
||||||
"retraction_amount" : { "default_value": 2.5},
|
"retraction_amount" : { "default_value": 2.5},
|
||||||
"retraction_speed" : { "default_value": 40},
|
"retraction_speed" : { "default_value": 40},
|
||||||
"material_print_temperature_layer_0": { "value": "material_print_temperature + 5" }
|
"material_print_temperature_layer_0": { "value": "material_print_temperature + 5" }
|
||||||
|
|
|
@ -153,7 +153,7 @@
|
||||||
"value": "5.0"
|
"value": "5.0"
|
||||||
},
|
},
|
||||||
"retraction_combing": {
|
"retraction_combing": {
|
||||||
"default_value": "all"
|
"value": "'all'"
|
||||||
},
|
},
|
||||||
"retraction_enable": {
|
"retraction_enable": {
|
||||||
"value": "True"
|
"value": "True"
|
||||||
|
|
|
@ -153,7 +153,7 @@
|
||||||
"value": "5.0"
|
"value": "5.0"
|
||||||
},
|
},
|
||||||
"retraction_combing": {
|
"retraction_combing": {
|
||||||
"default_value": "all"
|
"value": "'all'"
|
||||||
},
|
},
|
||||||
"retraction_enable": {
|
"retraction_enable": {
|
||||||
"value": "True"
|
"value": "True"
|
||||||
|
|
|
@ -141,7 +141,7 @@
|
||||||
"value": "5.0"
|
"value": "5.0"
|
||||||
},
|
},
|
||||||
"retraction_combing": {
|
"retraction_combing": {
|
||||||
"default_value": "all"
|
"value": "'all'"
|
||||||
},
|
},
|
||||||
"retraction_enable": {
|
"retraction_enable": {
|
||||||
"value": "True"
|
"value": "True"
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
"layer_height": { "default_value": 0.2 },
|
"layer_height": { "default_value": 0.2 },
|
||||||
"speed_print": { "default_value": 40 },
|
"speed_print": { "default_value": 40 },
|
||||||
"machine_extruder_count": { "default_value": 1 },
|
"machine_extruder_count": { "default_value": 1 },
|
||||||
"retraction_combing": { "default_value": "off" },
|
"retraction_combing": { "value": "'off'" },
|
||||||
"machine_heated_bed": { "default_value": true },
|
"machine_heated_bed": { "default_value": true },
|
||||||
"machine_center_is_zero": { "default_value": false },
|
"machine_center_is_zero": { "default_value": false },
|
||||||
"machine_height": { "default_value": 210 },
|
"machine_height": { "default_value": 210 },
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
"machine_width": { "default_value": 290 },
|
"machine_width": { "default_value": 290 },
|
||||||
"relative_extrusion": { "value": "False" },
|
"relative_extrusion": { "value": "False" },
|
||||||
"retraction_amount": { "default_value": 3.2 },
|
"retraction_amount": { "default_value": 3.2 },
|
||||||
"retraction_combing": { "default_value": "off" },
|
"retraction_combing": { "value": "'off'" },
|
||||||
"retraction_hop_enabled": { "default_value": true },
|
"retraction_hop_enabled": { "default_value": true },
|
||||||
"retraction_hop_only_when_collides": { "default_value": false },
|
"retraction_hop_only_when_collides": { "default_value": false },
|
||||||
"retraction_speed": { "default_value": 45 },
|
"retraction_speed": { "default_value": 45 },
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
"machine_width": { "default_value": 265 },
|
"machine_width": { "default_value": 265 },
|
||||||
"relative_extrusion": { "value": "False" },
|
"relative_extrusion": { "value": "False" },
|
||||||
"retraction_amount": { "default_value": 3.2 },
|
"retraction_amount": { "default_value": 3.2 },
|
||||||
"retraction_combing": { "default_value": "off" },
|
"retraction_combing": { "value": "'off'" },
|
||||||
"retraction_hop_enabled": { "default_value": true },
|
"retraction_hop_enabled": { "default_value": true },
|
||||||
"retraction_hop_only_when_collides": { "default_value": false },
|
"retraction_hop_only_when_collides": { "default_value": false },
|
||||||
"retraction_speed": { "default_value": 45 },
|
"retraction_speed": { "default_value": 45 },
|
||||||
|
|
|
@ -411,7 +411,7 @@
|
||||||
"value": "1"
|
"value": "1"
|
||||||
},
|
},
|
||||||
"retraction_combing": {
|
"retraction_combing": {
|
||||||
"default_value": "infill"
|
"value": "'infill'"
|
||||||
},
|
},
|
||||||
"acceleration_prime_tower": {
|
"acceleration_prime_tower": {
|
||||||
"value": "250"
|
"value": "250"
|
||||||
|
|
|
@ -116,7 +116,7 @@
|
||||||
"prime_tower_position_x": { "value": "machine_width/2 + prime_tower_size/2" },
|
"prime_tower_position_x": { "value": "machine_width/2 + prime_tower_size/2" },
|
||||||
"prime_tower_position_y": { "value": "machine_depth - prime_tower_size - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(adhesion_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - 1" },
|
"prime_tower_position_y": { "value": "machine_depth - prime_tower_size - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(adhesion_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - 1" },
|
||||||
"retraction_amount": { "default_value": 1.5 },
|
"retraction_amount": { "default_value": 1.5 },
|
||||||
"retraction_combing": { "default_value": "all" },
|
"retraction_combing": { "value": "'all'" },
|
||||||
"retraction_combing_max_distance": { "default_value": 5 },
|
"retraction_combing_max_distance": { "default_value": 5 },
|
||||||
"retraction_count_max": { "default_value": 15 },
|
"retraction_count_max": { "default_value": 15 },
|
||||||
"retraction_hop": { "value": "2" },
|
"retraction_hop": { "value": "2" },
|
||||||
|
|
|
@ -70,6 +70,6 @@
|
||||||
"z_seam_type": {"default_value": "back"},
|
"z_seam_type": {"default_value": "back"},
|
||||||
"z_seam_x": {"value": "127.5"},
|
"z_seam_x": {"value": "127.5"},
|
||||||
"z_seam_y": {"value": "250"},
|
"z_seam_y": {"value": "250"},
|
||||||
"retraction_combing": {"default_value": "off"}
|
"retraction_combing": {"value": "'off'"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,6 +58,6 @@
|
||||||
"z_seam_type": {"default_value": "back"},
|
"z_seam_type": {"default_value": "back"},
|
||||||
"z_seam_x": {"value": "127.5"},
|
"z_seam_x": {"value": "127.5"},
|
||||||
"z_seam_y": {"value": "250"},
|
"z_seam_y": {"value": "250"},
|
||||||
"retraction_combing": {"default_value": "off"}
|
"retraction_combing": {"value": "'off'"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,6 +55,6 @@
|
||||||
"z_seam_type": {"default_value": "back"},
|
"z_seam_type": {"default_value": "back"},
|
||||||
"z_seam_x": {"value": "127.5"},
|
"z_seam_x": {"value": "127.5"},
|
||||||
"z_seam_y": {"value": "250"},
|
"z_seam_y": {"value": "250"},
|
||||||
"retraction_combing": {"default_value": "off"}
|
"retraction_combing": {"value": "'off'"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,17 +90,17 @@
|
||||||
"infill_before_walls": {
|
"infill_before_walls": {
|
||||||
"value": "False"
|
"value": "False"
|
||||||
},
|
},
|
||||||
"top_bottom_pattern": {
|
|
||||||
"value": "zigzag"
|
|
||||||
},
|
|
||||||
"roofing_layer_count": {
|
|
||||||
"value": "1"
|
|
||||||
},
|
|
||||||
"roofing_monotonic": {
|
|
||||||
"value": "True"
|
|
||||||
},
|
|
||||||
"speed_equalize_flow_width_factor": {
|
"speed_equalize_flow_width_factor": {
|
||||||
"value": "0.5"
|
"value": "0.5"
|
||||||
|
},
|
||||||
|
"retraction_combing": {
|
||||||
|
"value": "'no_outer_surfaces'"
|
||||||
|
},
|
||||||
|
"skin_monotonic" : {
|
||||||
|
"value": true
|
||||||
|
},
|
||||||
|
"top_bottom_pattern" : {
|
||||||
|
"value": "'zigzag'"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,17 +63,23 @@
|
||||||
"optimize_wall_printing_order": { "value": "True" },
|
"optimize_wall_printing_order": { "value": "True" },
|
||||||
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" },
|
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" },
|
||||||
"speed_support": { "value": "speed_wall_0" },
|
"speed_support": { "value": "speed_wall_0" },
|
||||||
"material_initial_print_temperature": { "value": "material_print_temperature" },
|
"material_initial_print_temperature": {
|
||||||
"material_final_print_temperature": { "value": "material_print_temperature" },
|
"value": "material_print_temperature",
|
||||||
"material_print_temperature_layer_0": { "value": "material_print_temperature" },
|
"maximum_value": 260
|
||||||
|
},
|
||||||
|
"material_final_print_temperature": {
|
||||||
|
"value": "material_print_temperature",
|
||||||
|
"maximum_value": 260
|
||||||
|
},
|
||||||
|
"material_print_temperature_layer_0": {
|
||||||
|
"value": "material_print_temperature",
|
||||||
|
"maximum_value": 260
|
||||||
|
},
|
||||||
"machine_start_gcode": { "value": "''" },
|
"machine_start_gcode": { "value": "''" },
|
||||||
"machine_end_gcode": { "value": "''" },
|
"machine_end_gcode": { "value": "''" },
|
||||||
"material_bed_temperature": { "maximum_value": 110 },
|
"material_bed_temperature": { "maximum_value": 110 },
|
||||||
"material_bed_temperature_layer_0": { "maximum_value": 110 },
|
"material_bed_temperature_layer_0": { "maximum_value": 110 },
|
||||||
"material_print_temperature": { "maximum_value": 260 },
|
"material_print_temperature": { "maximum_value": 260 },
|
||||||
"material_print_temperature_layer_0": { "maximum_value": 260 },
|
|
||||||
"material_initial_print_temperature": { "maximum_value": 260 },
|
|
||||||
"material_final_print_temperature": { "maximum_value": 260 },
|
|
||||||
"meshfix_maximum_resolution": { "value": "(speed_wall_0 + speed_wall_x) / 60" },
|
"meshfix_maximum_resolution": { "value": "(speed_wall_0 + speed_wall_x) / 60" },
|
||||||
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
||||||
"meshfix_maximum_travel_resolution": { "value": 0.5 },
|
"meshfix_maximum_travel_resolution": { "value": 0.5 },
|
||||||
|
|
|
@ -99,21 +99,28 @@
|
||||||
"fill_outline_gaps": { "value": "True" },
|
"fill_outline_gaps": { "value": "True" },
|
||||||
"min_feature_size": { "value": "wall_line_width_0 / 4" },
|
"min_feature_size": { "value": "wall_line_width_0 / 4" },
|
||||||
"min_bead_width": { "value": "wall_line_width_0 / 2" },
|
"min_bead_width": { "value": "wall_line_width_0 / 2" },
|
||||||
"infill_before_walls": { "value": "False" },
|
"infill_before_walls": { "value": false },
|
||||||
"infill_line_width": { "value": "line_width" },
|
"infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" },
|
||||||
"infill_overlap": { "value": "0" },
|
"infill_overlap": { "value": "0" },
|
||||||
"infill_pattern": { "value": "'triangles'" },
|
"infill_pattern": { "value": "'triangles'" },
|
||||||
"infill_wipe_dist": { "value": "0" },
|
"infill_wipe_dist": { "value": "0" },
|
||||||
"initial_layer_line_width_factor": { "value": "120" },
|
"initial_layer_line_width_factor": { "value": "120" },
|
||||||
"jerk_enabled": { "value": "True" },
|
"jerk_enabled": { "value": "True" },
|
||||||
"jerk_layer_0": { "value": "jerk_topbottom" },
|
"jerk_print": { "value": "20", "minimum_value_warning": 20 },
|
||||||
"jerk_prime_tower": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
|
"jerk_infill": {"minimum_value_warning": 20 },
|
||||||
"jerk_print": { "value": "25" },
|
"jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||||
"jerk_support": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
|
"jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 },
|
||||||
"jerk_support_interface": { "value": "jerk_topbottom" },
|
"jerk_roofing": {"minimum_value_warning": 20 },
|
||||||
"jerk_topbottom": { "value": "max(math.ceil(jerk_print * 5 / 25), 20)" },
|
"jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||||
"jerk_wall": { "value": "max(math.ceil(jerk_print * 10 / 25), 20" },
|
"jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||||
"jerk_wall_0": { "value": "max(math.ceil(jerk_wall * 5 / 10), 20)" },
|
"jerk_support_infill": {"minimum_value_warning": 20 },
|
||||||
|
"jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"},
|
||||||
|
"jerk_prime_tower": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||||
|
"jerk_travel": {"minimum_value_warning": 20 },
|
||||||
|
"jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20},
|
||||||
|
"jerk_print_layer_0": {"minimum_value_warning": 20 },
|
||||||
|
"jerk_travel_layer_0": {"minimum_value_warning": 20 },
|
||||||
|
"jerk_skirt_brim": {"minimum_value_warning": 20 },
|
||||||
"layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" },
|
"layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" },
|
||||||
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
|
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
|
||||||
"layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" },
|
"layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" },
|
||||||
|
@ -137,6 +144,7 @@
|
||||||
"raft_margin": { "value": "10" },
|
"raft_margin": { "value": "10" },
|
||||||
"raft_surface_layers": { "value": "1" },
|
"raft_surface_layers": { "value": "1" },
|
||||||
"retraction_amount": { "value": "6.5" },
|
"retraction_amount": { "value": "6.5" },
|
||||||
|
"retraction_combing": {"value": "'no_outer_surfaces'"},
|
||||||
"retraction_count_max": { "value": "10" },
|
"retraction_count_max": { "value": "10" },
|
||||||
"retraction_extrusion_window": { "value": "1" },
|
"retraction_extrusion_window": { "value": "1" },
|
||||||
"retraction_hop": { "value": "2" },
|
"retraction_hop": { "value": "2" },
|
||||||
|
@ -148,6 +156,7 @@
|
||||||
"roofing_monotonic": { "value": "True" },
|
"roofing_monotonic": { "value": "True" },
|
||||||
"skin_overlap": { "value": "10" },
|
"skin_overlap": { "value": "10" },
|
||||||
"speed_equalize_flow_width_factor": { "value": "0.5" },
|
"speed_equalize_flow_width_factor": { "value": "0.5" },
|
||||||
|
"skin_monotonic" : { "value": true },
|
||||||
"speed_layer_0": { "value": "20" },
|
"speed_layer_0": { "value": "20" },
|
||||||
"speed_prime_tower": { "value": "speed_topbottom" },
|
"speed_prime_tower": { "value": "speed_topbottom" },
|
||||||
"speed_print": { "value": "35" },
|
"speed_print": { "value": "35" },
|
||||||
|
|
|
@ -89,23 +89,27 @@
|
||||||
"cool_fan_speed": { "value": "50" },
|
"cool_fan_speed": { "value": "50" },
|
||||||
"cool_fan_speed_max": { "value": "100" },
|
"cool_fan_speed_max": { "value": "100" },
|
||||||
"cool_min_speed": { "value": "5" },
|
"cool_min_speed": { "value": "5" },
|
||||||
"fill_outline_gaps": { "value": "True" },
|
"infill_before_walls": { "value": false },
|
||||||
"min_feature_size": { "value": "wall_line_width_0 / 4" },
|
|
||||||
"min_bead_width": { "value": "wall_line_width_0 / 2" },
|
|
||||||
"infill_before_walls": { "value": "False" },
|
|
||||||
"infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" },
|
"infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" },
|
||||||
"infill_overlap": { "value": "0" },
|
"infill_overlap": { "value": "0" },
|
||||||
"infill_pattern": { "value": "'triangles'" },
|
"infill_pattern": { "value": "'triangles'" },
|
||||||
"infill_wipe_dist": { "value": "0" },
|
"infill_wipe_dist": { "value": "0" },
|
||||||
"jerk_enabled": { "value": "True" },
|
"jerk_enabled": { "value": "True" },
|
||||||
"jerk_layer_0": { "value": "jerk_topbottom" },
|
"jerk_print": { "value": "20", "minimum_value_warning": 20 },
|
||||||
"jerk_prime_tower": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
|
"jerk_infill": {"minimum_value_warning": 20 },
|
||||||
"jerk_print": { "value": "25" },
|
"jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||||
"jerk_support": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
|
"jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 },
|
||||||
"jerk_support_interface": { "value": "jerk_topbottom" },
|
"jerk_roofing": {"minimum_value_warning": 20 },
|
||||||
"jerk_topbottom": { "value": "max(math.ceil(jerk_print * 5 / 25), 20)" },
|
"jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||||
"jerk_wall": { "value": "max(math.ceil(jerk_print * 10 / 25), 20)" },
|
"jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||||
"jerk_wall_0": { "value": "max(math.ceil(jerk_wall * 5 / 10), 20)" },
|
"jerk_support_infill": {"minimum_value_warning": 20 },
|
||||||
|
"jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"},
|
||||||
|
"jerk_prime_tower": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||||
|
"jerk_travel": {"minimum_value_warning": 20 },
|
||||||
|
"jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20},
|
||||||
|
"jerk_print_layer_0": {"minimum_value_warning": 20 },
|
||||||
|
"jerk_travel_layer_0": {"minimum_value_warning": 20 },
|
||||||
|
"jerk_skirt_brim": {"minimum_value_warning": 20 },
|
||||||
"layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" },
|
"layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" },
|
||||||
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
|
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
|
||||||
"layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" },
|
"layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" },
|
||||||
|
@ -114,6 +118,7 @@
|
||||||
"default_material_print_temperature": { "value": "200" },
|
"default_material_print_temperature": { "value": "200" },
|
||||||
"material_standby_temperature": { "value": "100" },
|
"material_standby_temperature": { "value": "100" },
|
||||||
"multiple_mesh_overlap": { "value": "0" },
|
"multiple_mesh_overlap": { "value": "0" },
|
||||||
|
"optimize_wall_printing_order": { "value": "True" },
|
||||||
"prime_tower_enable": { "value": "True" },
|
"prime_tower_enable": { "value": "True" },
|
||||||
"raft_airgap": { "value": "0" },
|
"raft_airgap": { "value": "0" },
|
||||||
"raft_base_speed": { "value": "20" },
|
"raft_base_speed": { "value": "20" },
|
||||||
|
@ -127,6 +132,7 @@
|
||||||
"raft_speed": { "value": "25" },
|
"raft_speed": { "value": "25" },
|
||||||
"raft_surface_layers": { "value": "1" },
|
"raft_surface_layers": { "value": "1" },
|
||||||
"retraction_amount": { "value": "6.5" },
|
"retraction_amount": { "value": "6.5" },
|
||||||
|
"retraction_combing": { "value": "'no_outer_surfaces'"},
|
||||||
"retraction_count_max": { "value": "10" },
|
"retraction_count_max": { "value": "10" },
|
||||||
"retraction_extrusion_window": { "value": "1" },
|
"retraction_extrusion_window": { "value": "1" },
|
||||||
"retraction_hop": { "value": "2" },
|
"retraction_hop": { "value": "2" },
|
||||||
|
@ -134,8 +140,7 @@
|
||||||
"retraction_hop_only_when_collides": { "value": "True" },
|
"retraction_hop_only_when_collides": { "value": "True" },
|
||||||
"retraction_min_travel": { "value": "5" },
|
"retraction_min_travel": { "value": "5" },
|
||||||
"retraction_prime_speed": { "value": "15" },
|
"retraction_prime_speed": { "value": "15" },
|
||||||
"roofing_layer_count": { "value": "1" },
|
"skin_monotonic" : { "value": true },
|
||||||
"roofing_monotonic": { "value": "True" },
|
|
||||||
"skin_overlap": { "value": "10" },
|
"skin_overlap": { "value": "10" },
|
||||||
"speed_equalize_flow_width_factor": { "value": "0.5" },
|
"speed_equalize_flow_width_factor": { "value": "0.5" },
|
||||||
"speed_layer_0": { "value": "20" },
|
"speed_layer_0": { "value": "20" },
|
||||||
|
@ -166,7 +171,6 @@
|
||||||
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
||||||
"meshfix_maximum_extrusion_area_deviation": { "value": "50000" },
|
"meshfix_maximum_extrusion_area_deviation": { "value": "50000" },
|
||||||
"optimize_wall_printing_order": { "value": "True" },
|
"optimize_wall_printing_order": { "value": "True" },
|
||||||
"retraction_combing": { "default_value": "all" },
|
|
||||||
"initial_layer_line_width_factor": { "value": "120" },
|
"initial_layer_line_width_factor": { "value": "120" },
|
||||||
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" }
|
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" }
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,20 +91,27 @@
|
||||||
"cool_fan_speed": { "value": "50" },
|
"cool_fan_speed": { "value": "50" },
|
||||||
"cool_fan_speed_max": { "value": "100" },
|
"cool_fan_speed_max": { "value": "100" },
|
||||||
"cool_min_speed": { "value": "5" },
|
"cool_min_speed": { "value": "5" },
|
||||||
"infill_before_walls": { "value": "False" },
|
"infill_before_walls": { "value": false },
|
||||||
"infill_line_width": { "value": "line_width" },
|
"infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" },
|
||||||
"infill_overlap": { "value": "0" },
|
"infill_overlap": { "value": "0" },
|
||||||
"infill_pattern": { "value": "'triangles'" },
|
"infill_pattern": { "value": "'triangles'" },
|
||||||
"infill_wipe_dist": { "value": "0" },
|
"infill_wipe_dist": { "value": "0" },
|
||||||
"jerk_enabled": { "value": "True" },
|
"jerk_enabled": { "value": "True" },
|
||||||
"jerk_layer_0": { "value": "jerk_topbottom" },
|
"jerk_print": { "value": "20", "minimum_value_warning": 20 },
|
||||||
"jerk_prime_tower": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
|
"jerk_infill": {"minimum_value_warning": 20 },
|
||||||
"jerk_print": { "value": "25" },
|
"jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||||
"jerk_support": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
|
"jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 },
|
||||||
"jerk_support_interface": { "value": "jerk_topbottom" },
|
"jerk_roofing": {"minimum_value_warning": 20 },
|
||||||
"jerk_topbottom": { "value": "max(math.ceil(jerk_print * 5 / 25), 20)" },
|
"jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||||
"jerk_wall": { "value": "max(math.ceil(jerk_print * 10 / 25), 20)" },
|
"jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||||
"jerk_wall_0": { "value": "max(math.ceil(jerk_wall * 5 / 10), 20)" },
|
"jerk_support_infill": {"minimum_value_warning": 20 },
|
||||||
|
"jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"},
|
||||||
|
"jerk_prime_tower": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||||
|
"jerk_travel": {"minimum_value_warning": 20 },
|
||||||
|
"jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20},
|
||||||
|
"jerk_print_layer_0": {"minimum_value_warning": 20 },
|
||||||
|
"jerk_travel_layer_0": {"minimum_value_warning": 20 },
|
||||||
|
"jerk_skirt_brim": {"minimum_value_warning": 20 },
|
||||||
"layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" },
|
"layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" },
|
||||||
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
|
"layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" },
|
||||||
"layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" },
|
"layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" },
|
||||||
|
@ -129,6 +136,7 @@
|
||||||
"raft_speed": { "value": "25" },
|
"raft_speed": { "value": "25" },
|
||||||
"raft_surface_layers": { "value": "1" },
|
"raft_surface_layers": { "value": "1" },
|
||||||
"retraction_amount": { "value": "6.5" },
|
"retraction_amount": { "value": "6.5" },
|
||||||
|
"retraction_combing": { "value": "'no_outer_surfaces'"},
|
||||||
"retraction_count_max": { "value": "10" },
|
"retraction_count_max": { "value": "10" },
|
||||||
"retraction_extrusion_window": { "value": "1" },
|
"retraction_extrusion_window": { "value": "1" },
|
||||||
"retraction_hop": { "value": "2" },
|
"retraction_hop": { "value": "2" },
|
||||||
|
@ -136,8 +144,7 @@
|
||||||
"retraction_hop_only_when_collides": { "value": "True" },
|
"retraction_hop_only_when_collides": { "value": "True" },
|
||||||
"retraction_min_travel": { "value": "5" },
|
"retraction_min_travel": { "value": "5" },
|
||||||
"retraction_prime_speed": { "value": "15" },
|
"retraction_prime_speed": { "value": "15" },
|
||||||
"roofing_layer_count": { "value": "1" },
|
"skin_monotonic" : { "value": true },
|
||||||
"roofing_monotonic": { "value": "True" },
|
|
||||||
"skin_overlap": { "value": "10" },
|
"skin_overlap": { "value": "10" },
|
||||||
"speed_equalize_flow_width_factor": { "value": "0.5" },
|
"speed_equalize_flow_width_factor": { "value": "0.5" },
|
||||||
"speed_layer_0": { "value": "20" },
|
"speed_layer_0": { "value": "20" },
|
||||||
|
@ -168,7 +175,6 @@
|
||||||
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
||||||
"meshfix_maximum_extrusion_area_deviation": { "value": "50000" },
|
"meshfix_maximum_extrusion_area_deviation": { "value": "50000" },
|
||||||
"optimize_wall_printing_order": { "value": "True" },
|
"optimize_wall_printing_order": { "value": "True" },
|
||||||
"retraction_combing": { "default_value": "all" },
|
|
||||||
"initial_layer_line_width_factor": { "value": "120" },
|
"initial_layer_line_width_factor": { "value": "120" },
|
||||||
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" },
|
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" },
|
||||||
"build_volume_temperature": { "maximum_value": 50 }
|
"build_volume_temperature": { "maximum_value": 50 }
|
||||||
|
|
|
@ -104,7 +104,7 @@
|
||||||
"retraction_prime_speed": { "value": "math.ceil(retraction_speed * 0.4)", "maximum_value_warning": 130 },
|
"retraction_prime_speed": { "value": "math.ceil(retraction_speed * 0.4)", "maximum_value_warning": 130 },
|
||||||
"retraction_hop_enabled": { "default_value": true },
|
"retraction_hop_enabled": { "default_value": true },
|
||||||
"retraction_hop": { "default_value": 0.2 },
|
"retraction_hop": { "default_value": 0.2 },
|
||||||
"retraction_combing": { "default_value": "noskin" },
|
"retraction_combing": { "value": "'noskin'" },
|
||||||
"retraction_combing_max_distance": { "default_value": 10 },
|
"retraction_combing_max_distance": { "default_value": 10 },
|
||||||
"travel_avoid_other_parts": { "default_value": false },
|
"travel_avoid_other_parts": { "default_value": false },
|
||||||
"speed_travel": { "maximum_value": 300, "value": 300, "maximum_value_warning": 501 },
|
"speed_travel": { "maximum_value": 300, "value": 300, "maximum_value_warning": 501 },
|
||||||
|
|
15
resources/extruders/3di_base_extruder_0.def.json
Normal file
15
resources/extruders/3di_base_extruder_0.def.json
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Extruder 1",
|
||||||
|
"inherits": "fdmextruder",
|
||||||
|
"metadata": {
|
||||||
|
"machine": "3di_base",
|
||||||
|
"position": "0"
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"extruder_nr": { "default_value": 0 },
|
||||||
|
"machine_nozzle_size": { "default_value": 0.4 },
|
||||||
|
"material_diameter": { "default_value": 1.75 }
|
||||||
|
}
|
||||||
|
}
|
20
resources/extruders/arjunpro_dm_extruder.def.json
Normal file
20
resources/extruders/arjunpro_dm_extruder.def.json
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Duplication Extruder",
|
||||||
|
"inherits": "fdmextruder",
|
||||||
|
"metadata": {
|
||||||
|
"machine": "arjunpro_duplication",
|
||||||
|
"position": "0"
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"extruder_nr": {
|
||||||
|
"default_value": 0,
|
||||||
|
"maximum_value": "1"
|
||||||
|
},
|
||||||
|
"machine_nozzle_size": { "default_value": 0.4 },
|
||||||
|
"material_diameter": { "default_value": 1.75 },
|
||||||
|
"machine_nozzle_offset_x": { "default_value": 0 },
|
||||||
|
"machine_nozzle_offset_y": { "default_value": 0 }
|
||||||
|
}
|
||||||
|
}
|
27
resources/extruders/arjunpro_extruder_0.def.json
Normal file
27
resources/extruders/arjunpro_extruder_0.def.json
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"version": 2,
|
||||||
|
"name": "Left Extruder",
|
||||||
|
"inherits": "fdmextruder",
|
||||||
|
"metadata": {
|
||||||
|
"machine": "arjunpro300",
|
||||||
|
"position": "0"
|
||||||
|
},
|
||||||
|
|
||||||
|
"overrides": {
|
||||||
|
"extruder_nr": {
|
||||||
|
"default_value": 0,
|
||||||
|
"maximum_value": "1"
|
||||||
|
},
|
||||||
|
"machine_nozzle_size": { "default_value": 0.4 },
|
||||||
|
"material_diameter": { "default_value": 1.75 },
|
||||||
|
"machine_nozzle_offset_x": { "default_value": 0 },
|
||||||
|
"machine_nozzle_offset_y": { "default_value": 0 },
|
||||||
|
"machine_extruder_start_pos_abs": { "default_value": true },
|
||||||
|
"machine_extruder_start_pos_x": { "value": "prime_tower_position_x" },
|
||||||
|
"machine_extruder_start_pos_y": { "value": "prime_tower_position_y" },
|
||||||
|
"machine_extruder_end_pos_abs": { "default_value": true },
|
||||||
|
"machine_extruder_end_pos_x": { "value": -51 },
|
||||||
|
"machine_extruder_end_pos_y": { "value": "prime_tower_position_y" },
|
||||||
|
"machine_extruder_start_code": { "default_value": "T0" }
|
||||||
|
}
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue