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:
|
||||
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`
|
||||
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
|
||||
- type: checkboxes
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Copyright (c) 2018 Ultimaker B.V.
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
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
|
||||
|
||||
|
@ -46,6 +46,9 @@ class Account(QObject):
|
|||
loginStateChanged = pyqtSignal(bool)
|
||||
"""Signal emitted when user logged in or out"""
|
||||
|
||||
additionalRightsChanged = pyqtSignal("QVariantMap")
|
||||
"""Signal emitted when a users additional rights change"""
|
||||
|
||||
accessTokenChanged = pyqtSignal()
|
||||
syncRequested = pyqtSignal()
|
||||
"""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._logged_in = False
|
||||
self._additional_rights: Dict[str, Any] = {}
|
||||
self._sync_state = SyncState.IDLE
|
||||
self._manual_sync_enabled = False
|
||||
self._update_packages_enabled = False
|
||||
|
@ -301,3 +305,14 @@ class Account(QObject):
|
|||
return # Nothing to do, user isn't logged in.
|
||||
|
||||
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
|
||||
# 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.
|
||||
CuraSDKVersion = "7.7.0"
|
||||
CuraSDKVersion = "7.8.0"
|
||||
|
||||
try:
|
||||
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
|
||||
|
||||
|
||||
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
|
||||
"""
|
||||
def createGroupOperationForArrange(nodes_to_arrange: List["SceneNode"],
|
||||
build_volume: "BuildVolume",
|
||||
fixed_nodes: Optional[List["SceneNode"]] = None,
|
||||
factor = 10000,
|
||||
add_new_nodes_in_scene: bool = False) -> Tuple[GroupedOperation, int]:
|
||||
scene_root = Application.getInstance().getController().getScene().getRoot()
|
||||
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(
|
||||
TranslateOperation(node, Vector(200, node.getWorldPosition().y, -not_fit_count * 20), set_position = True))
|
||||
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.
|
||||
|
||||
import io
|
||||
|
@ -168,7 +168,10 @@ class Backup:
|
|||
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))
|
||||
Logger.log("d", "Moving preferences file from %s to %s", 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)
|
||||
self._application.readPreferencesFromConfiguration()
|
||||
|
@ -203,6 +206,8 @@ class Backup:
|
|||
archive.extract(archive_filename, target_path)
|
||||
except (PermissionError, EnvironmentError):
|
||||
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()
|
||||
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
|
||||
# the value is.
|
||||
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.
|
||||
if adhesion_type == "brim":
|
||||
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.
|
||||
# You need to make sure that this version number needs to be increased if there is any non-backwards-compatible
|
||||
# changes of the settings.
|
||||
SettingVersion = 18
|
||||
SettingVersion = 19
|
||||
|
||||
Created = False
|
||||
|
||||
|
@ -320,7 +320,7 @@ class CuraApplication(QtApplication):
|
|||
super().initialize()
|
||||
|
||||
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._initializeSettingDefinitions()
|
||||
|
@ -750,7 +750,9 @@ class CuraApplication(QtApplication):
|
|||
@pyqtSlot(str, result = QUrl)
|
||||
def getDefaultPath(self, key):
|
||||
default_path = self.getPreferences().getValue("local_file/%s" % key)
|
||||
if os.path.exists(default_path):
|
||||
return QUrl.fromLocalFile(default_path)
|
||||
return QUrl()
|
||||
|
||||
@pyqtSlot(str, str)
|
||||
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 zipfile # To export all materials in a .zip archive.
|
||||
|
||||
from PyQt5.QtGui import QDesktopServices
|
||||
|
||||
from UM.i18n import i18nCatalog
|
||||
from UM.Logger import Logger
|
||||
from UM.Message import Message
|
||||
from UM.Signal import postponeSignals, CompressTechnique
|
||||
|
||||
import cura.CuraApplication # Imported like this to prevent circular imports.
|
||||
|
@ -20,6 +23,7 @@ if TYPE_CHECKING:
|
|||
|
||||
catalog = i18nCatalog("cura")
|
||||
|
||||
|
||||
class MaterialManagementModel(QObject):
|
||||
favoritesChanged = pyqtSignal(str)
|
||||
"""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
|
||||
"""
|
||||
|
||||
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)
|
||||
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?
|
||||
|
@ -287,7 +348,17 @@ class MaterialManagementModel(QObject):
|
|||
"""
|
||||
registry = CuraContainerRegistry.getInstance()
|
||||
|
||||
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"):
|
||||
if metadata["base_file"] != metadata["id"]: # Only process base files.
|
||||
continue
|
||||
|
@ -296,4 +367,7 @@ class MaterialManagementModel(QObject):
|
|||
material = registry.findContainers(id = metadata["id"])[0]
|
||||
suffix = registry.getMimeTypeForContainer(type(material)).preferredSuffix
|
||||
filename = metadata["id"] + "." + suffix
|
||||
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.activeMaterialChanged.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
|
||||
|
||||
|
|
|
@ -6,11 +6,15 @@ from typing import List
|
|||
|
||||
from UM.Application import Application
|
||||
from UM.Job import Job
|
||||
from UM.Math.Vector import Vector
|
||||
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.SceneNode import SceneNode
|
||||
from UM.i18n import i18nCatalog
|
||||
from cura.Arranging.Nest2DArrange import arrange
|
||||
from cura.Arranging.Nest2DArrange import arrange, createGroupOperationForArrange
|
||||
|
||||
i18n_catalog = i18nCatalog("cura")
|
||||
|
||||
|
@ -43,11 +47,11 @@ class MultiplyObjectsJob(Job):
|
|||
# Only count sliceable objects
|
||||
if node_.callDecoration("isSliceable"):
|
||||
fixed_nodes.append(node_)
|
||||
|
||||
nodes_to_add_without_arrange = []
|
||||
for node in self._objects:
|
||||
# If object is part of a group, multiply group
|
||||
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()
|
||||
|
||||
if current_node in processed_nodes:
|
||||
|
@ -56,19 +60,38 @@ class MultiplyObjectsJob(Job):
|
|||
|
||||
for _ in range(self._count):
|
||||
new_node = copy.deepcopy(node)
|
||||
|
||||
# Same build plate
|
||||
build_plate_number = current_node.callDecoration("getBuildPlateNumber")
|
||||
new_node.callDecoration("setBuildPlateNumber", build_plate_number)
|
||||
for child in new_node.getChildren():
|
||||
child.callDecoration("setBuildPlateNumber", build_plate_number)
|
||||
|
||||
if not current_node.getParent().callDecoration("isSliceable"):
|
||||
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
|
||||
group_operation = GroupedOperation()
|
||||
if nodes:
|
||||
found_solution_for_all = arrange(nodes, Application.getInstance().getBuildVolume(), fixed_nodes,
|
||||
factor = 10000, add_new_nodes_in_scene = True)
|
||||
group_operation, not_fit_count = createGroupOperationForArrange(nodes,
|
||||
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()
|
||||
|
||||
if not found_solution_for_all:
|
||||
|
|
|
@ -99,7 +99,14 @@ class AuthorizationService:
|
|||
# If no auth data exists, we should always log in again.
|
||||
Logger.log("d", "There was no auth data or access token")
|
||||
return None
|
||||
|
||||
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 the profile was found, we return it immediately.
|
||||
return user_data
|
||||
|
|
|
@ -23,6 +23,8 @@ from UM.Settings.InstanceContainer import InstanceContainer
|
|||
|
||||
import cura.CuraApplication
|
||||
from cura.Machines.ContainerTree import ContainerTree
|
||||
from cura.Settings.ExtruderStack import ExtruderStack
|
||||
from cura.Settings.GlobalStack import GlobalStack
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from cura.CuraApplication import CuraApplication
|
||||
|
@ -408,7 +410,7 @@ class ContainerManager(QObject):
|
|||
container_registry = cura.CuraApplication.CuraApplication.getInstance().getContainerRegistry()
|
||||
for plugin_id, container_type in container_registry.getContainerTypes():
|
||||
# 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
|
||||
|
||||
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.
|
||||
|
||||
import time
|
||||
|
@ -1398,6 +1398,8 @@ class MachineManager(QObject):
|
|||
# previous one).
|
||||
self._global_container_stack.setUserChanges(global_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])
|
||||
|
||||
@pyqtSlot(QObject)
|
||||
|
|
|
@ -18,6 +18,8 @@ class SingleInstance:
|
|||
|
||||
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
|
||||
# exists. Returns True if the single instance server is found, otherwise False.
|
||||
def startClient(self) -> bool:
|
||||
|
@ -42,6 +44,7 @@ class SingleInstance:
|
|||
# "command" field is required and holds the name of the command to execute.
|
||||
# Other fields depend on the command.
|
||||
|
||||
if self._application.getPreferences().getValue("cura/single_instance_clear_before_load"):
|
||||
payload = {"command": "clear-all"}
|
||||
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.i18n import i18nCatalog
|
||||
from UM.MimeTypeDatabase import MimeTypeDatabase, MimeTypeNotFoundError
|
||||
from UM.OutputDevice.OutputDevice import OutputDevice
|
||||
from UM.OutputDevice.ProjectOutputDevice import ProjectOutputDevice
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from cura.CuraApplication import CuraApplication
|
||||
|
@ -68,6 +70,7 @@ class PrintInformation(QObject):
|
|||
self._application.globalContainerStackChanged.connect(self.setToZeroPrintInformation)
|
||||
self._application.fileLoaded.connect(self.setBaseName)
|
||||
self._application.workspaceLoaded.connect(self.setProjectName)
|
||||
self._application.getOutputDeviceManager().writeStarted.connect(self._onOutputStart)
|
||||
self._application.getMachineManager().rootMaterialChanged.connect(self._onActiveMaterialsChanged)
|
||||
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"""
|
||||
|
||||
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)),
|
||||
title = catalog.i18nc("@info:title", "Unable to slice"),
|
||||
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.setState(BackendState.Error)
|
||||
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())),
|
||||
title = catalog.i18nc("@info:title", "Unable to slice"),
|
||||
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.setState(BackendState.Error)
|
||||
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.
|
||||
|
||||
import numpy
|
||||
|
@ -353,10 +353,19 @@ class StartSliceJob(Job):
|
|||
result[key] = stack.getProperty(key, "value")
|
||||
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["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["day"] = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][int(time.strftime("%w"))]
|
||||
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"]
|
||||
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
|
||||
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}
|
||||
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.
|
||||
# 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:
|
||||
if (response is not None and isinstance(response, DigitalFactoryFeatureBudgetResponse) and
|
||||
response.library_max_private_projects is not None):
|
||||
callback(
|
||||
response.library_max_private_projects == -1 or # Note: -1 is unlimited
|
||||
response.library_max_private_projects > 0)
|
||||
# A user has DF access when library_max_private_projects is either -1 (unlimited) or bigger then 0
|
||||
has_access = response.library_max_private_projects == -1 or response.library_max_private_projects > 0
|
||||
callback(has_access)
|
||||
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:
|
||||
Logger.warning(f"Digital Factory: Response is not a feature budget, likely an error: {str(response)}")
|
||||
callback(False)
|
||||
|
|
|
@ -603,8 +603,8 @@ class DigitalFactoryController(QObject):
|
|||
self._saveFileToSelectedProjectHelper(filename, formats)
|
||||
|
||||
def _saveFileToSelectedProjectHelper(self, filename: str, formats: List[str]) -> None:
|
||||
# Indicate we have started sending a job.
|
||||
self.uploadStarted.emit()
|
||||
# Indicate we have started sending a job (and propagate any user file name changes back to the open project)
|
||||
self.uploadStarted.emit(filename if "3mf" in formats else None)
|
||||
|
||||
library_project_id = self._project_model.items[self._selected_project_idx]["libraryProjectId"]
|
||||
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.ProjectOutputDevice import ProjectOutputDevice
|
||||
from UM.Scene.SceneNode import SceneNode
|
||||
from UM.Version import Version
|
||||
from cura import ApplicationMetadata
|
||||
from cura.API import Account
|
||||
from cura.CuraApplication import CuraApplication
|
||||
from .DigitalFactoryController import DigitalFactoryController
|
||||
|
@ -105,8 +107,11 @@ class DigitalFactoryOutputDevice(ProjectOutputDevice):
|
|||
self.enabled = logged_in and self._controller.userAccountHasLibraryAccess()
|
||||
self.enabledChanged.emit()
|
||||
|
||||
def _onWriteStarted(self) -> None:
|
||||
def _onWriteStarted(self, new_name: Optional[str] = None) -> None:
|
||||
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)
|
||||
|
||||
def _onWriteFinished(self) -> None:
|
||||
|
|
|
@ -100,7 +100,7 @@ UM.Dialog
|
|||
{
|
||||
id: loader
|
||||
|
||||
width: parent.width
|
||||
width: listview.width
|
||||
height: model.type != undefined ? UM.Theme.getSize("section").height : 0
|
||||
|
||||
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 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 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
|
||||
|
||||
# history / changelog:
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
from typing import List
|
||||
from ..Script import Script
|
||||
|
||||
from UM.Application import Application #To get the current printer's settings.
|
||||
|
||||
class FilamentChange(Script):
|
||||
|
||||
_layer_keyword = ";LAYER:"
|
||||
|
@ -81,10 +83,51 @@ class FilamentChange(Script):
|
|||
"type": "float",
|
||||
"default_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]):
|
||||
"""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)
|
||||
|
||||
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:
|
||||
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.
|
||||
|
||||
import re #To perform the search and replace.
|
||||
|
|
|
@ -130,6 +130,7 @@ class SliceInfo(QObject, Extension):
|
|||
data["cura_version"] = self._application.getVersion()
|
||||
data["cura_build_type"] = ApplicationMetadata.CuraBuildType
|
||||
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["subscriptions"] = user_profile.get("subscriptions", []) if user_profile else []
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
<b>Intent Profile:</b> Default<br/>
|
||||
<b>Quality Profile:</b> Fast<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>Subscriptions (if any):</b>
|
||||
<ul>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
# Copyright (c) 2021 Ultimaker B.V.
|
||||
# Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import os
|
||||
from collections import OrderedDict
|
||||
from typing import Dict, Optional, List, Any
|
||||
|
@ -95,7 +98,11 @@ class LicensePresenter(QObject):
|
|||
|
||||
for package_id, item in packages.items():
|
||||
item["package_id"] = package_id
|
||||
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:
|
||||
# Implicitly accept when there is no license
|
||||
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.
|
||||
|
||||
import json
|
||||
|
@ -542,7 +542,7 @@ class Toolbox(QObject, Extension):
|
|||
# Make API Calls
|
||||
# --------------------------------------------------------------------------
|
||||
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]
|
||||
|
||||
callback = lambda r, rt = request_type: self._onDataRequestFinished(rt, r)
|
||||
|
@ -554,7 +554,7 @@ class Toolbox(QObject, Extension):
|
|||
|
||||
@pyqtSlot(str)
|
||||
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)
|
||||
error_callback = lambda r, e: self._onDownloadFailed(r, e)
|
||||
|
@ -572,7 +572,7 @@ class Toolbox(QObject, Extension):
|
|||
|
||||
@pyqtSlot()
|
||||
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:
|
||||
self._application.getHttpRequestManager().abortRequest(self._download_request_data)
|
||||
self._download_request_data = None
|
||||
|
@ -585,7 +585,7 @@ class Toolbox(QObject, Extension):
|
|||
# Handlers for Network Events
|
||||
# --------------------------------------------------------------------------
|
||||
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")
|
||||
|
||||
def _onDataRequestFinished(self, request_type: str, reply: "QNetworkReply") -> None:
|
||||
|
@ -682,9 +682,13 @@ class Toolbox(QObject, Extension):
|
|||
if not package_info:
|
||||
Logger.log("w", "Package file [%s] was not a valid CuraPackage.", file_path)
|
||||
return
|
||||
|
||||
license_content = self._package_manager.getPackageLicense(file_path)
|
||||
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:
|
||||
# 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 ""
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
"author": "Ultimaker B.V.",
|
||||
"version": "1.0.0",
|
||||
"description": "Provides support for reading Ultimaker Format Packages.",
|
||||
"supported_sdk_versions": ["7.7.0"],
|
||||
"supported_sdk_versions": ["7.8.0"],
|
||||
"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):
|
||||
|
||||
def __init__(self, address: str) -> None:
|
||||
|
||||
def __init__(self, printer_name: str) -> None:
|
||||
image_path = os.path.join(
|
||||
CuraApplication.getInstance().getPluginRegistry().getPluginPath("UM3NetworkPrinting") or "",
|
||||
"resources", "svg", "cloud-flow-start.svg"
|
||||
"resources", "svg", "CloudPlatform.svg"
|
||||
)
|
||||
|
||||
super().__init__(
|
||||
text = I18N_CATALOG.i18nc("@info:status",
|
||||
"Send and monitor print jobs from anywhere using your Ultimaker account."),
|
||||
lifetime=0,
|
||||
dismissable=True,
|
||||
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"),
|
||||
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"),
|
||||
title = I18N_CATALOG.i18nc("@info:title", "Are you ready for cloud printing?"),
|
||||
image_source = QUrl.fromLocalFile(image_path)
|
||||
)
|
||||
self._address = address
|
||||
self.addAction("", I18N_CATALOG.i18nc("@action", "Get started"), "", "")
|
||||
self._printer_name = printer_name
|
||||
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)
|
||||
|
||||
def _onCloudFlowStarted(self, messageId: str, actionId: str) -> None:
|
||||
QDesktopServices.openUrl(QUrl("http://{}/cloud_connect".format(self._address)))
|
||||
def _onCloudFlowStarted(self, message_id: str, action_id: str) -> None:
|
||||
if action_id == "get_started":
|
||||
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:
|
||||
"""Start the network discovery."""
|
||||
|
||||
self._zero_conf_client.start()
|
||||
for address in self._getStoredManualAddresses():
|
||||
self.addManualDevice(address)
|
||||
|
@ -292,4 +291,4 @@ class LocalClusterOutputDeviceManager:
|
|||
if not CuraApplication.getInstance().getCuraAPI().account.isLoggedIn:
|
||||
# Do not show the message if the user is not signed in.
|
||||
return
|
||||
CloudFlowMessage(device.ipAddress).show()
|
||||
CloudFlowMessage(device.name).show()
|
||||
|
|
|
@ -133,6 +133,9 @@ class SendMaterialJob(Job):
|
|||
except FileNotFoundError:
|
||||
Logger.error("Unable to send material {material_id}, since it has been deleted in the meanwhile.".format(material_id = material_id))
|
||||
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.
|
||||
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
|
||||
certifi==2019.11.28
|
||||
cffi==1.14.1
|
||||
chardet==3.0.4
|
||||
colorlog
|
||||
comtypes==1.1.7
|
||||
cryptography==3.4.8
|
||||
decorator==4.4.0
|
||||
idna==2.8
|
||||
importlib-metadata==3.7.2
|
||||
keyring==23.0.1
|
||||
lxml==4.6.3
|
||||
mypy==0.740
|
||||
netifaces==0.10.9
|
||||
networkx==2.3
|
||||
networkx==2.6.2
|
||||
numpy==1.20.2
|
||||
numpy-stl==2.10.1
|
||||
packaging==18.0
|
||||
pycollada==0.6
|
||||
pycparser==2.19
|
||||
pycparser==2.20
|
||||
pyparsing==2.4.2
|
||||
PyQt5==5.15.2
|
||||
PyQt5-sip==12.8.1
|
||||
pyserial==3.4
|
||||
pytest
|
||||
python-dateutil==2.8.0
|
||||
python-utils==2.3.0
|
||||
pywin32==301
|
||||
requests==2.22.0
|
||||
scipy==1.6.2
|
||||
sentry-sdk==0.13.5
|
||||
shapely[vectorized]==1.7.1
|
||||
six==1.12.0
|
||||
trimesh==3.2.33
|
||||
zeroconf==0.24.1
|
||||
comtypes==1.1.7
|
||||
pywin32==300
|
||||
keyring==23.0.1
|
||||
twisted==21.2.0
|
||||
typing
|
||||
urllib3==1.25.9
|
||||
zeroconf==0.31.0
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"display_name": "3MF Reader",
|
||||
"description": "Provides support for reading 3MF files.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -23,7 +23,7 @@
|
|||
"display_name": "3MF Writer",
|
||||
"description": "Provides support for writing 3MF files.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -40,7 +40,7 @@
|
|||
"display_name": "AMF Reader",
|
||||
"description": "Provides support for reading AMF files.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "fieldOfView",
|
||||
|
@ -57,7 +57,7 @@
|
|||
"display_name": "Cura Backups",
|
||||
"description": "Backup and restore your configuration.",
|
||||
"package_version": "1.2.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -74,7 +74,7 @@
|
|||
"display_name": "CuraEngine Backend",
|
||||
"description": "Provides the link to the CuraEngine slicing backend.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -91,7 +91,7 @@
|
|||
"display_name": "Cura Profile Reader",
|
||||
"description": "Provides support for importing Cura profiles.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -108,7 +108,7 @@
|
|||
"display_name": "Cura Profile Writer",
|
||||
"description": "Provides support for exporting Cura profiles.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -124,8 +124,8 @@
|
|||
"package_type": "plugin",
|
||||
"display_name": "Ultimaker 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",
|
||||
"sdk_version": "7.7.0",
|
||||
"package_version": "1.1.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -142,7 +142,7 @@
|
|||
"display_name": "Firmware Update Checker",
|
||||
"description": "Checks for firmware updates.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -159,7 +159,7 @@
|
|||
"display_name": "Firmware Updater",
|
||||
"description": "Provides a machine actions for updating firmware.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -176,7 +176,7 @@
|
|||
"display_name": "Compressed G-code Reader",
|
||||
"description": "Reads g-code from a compressed archive.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -193,7 +193,7 @@
|
|||
"display_name": "Compressed G-code Writer",
|
||||
"description": "Writes g-code to a compressed archive.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -210,7 +210,7 @@
|
|||
"display_name": "G-Code Profile Reader",
|
||||
"description": "Provides support for importing profiles from g-code files.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -227,7 +227,7 @@
|
|||
"display_name": "G-Code Reader",
|
||||
"description": "Allows loading and displaying G-code files.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "VictorLarchenko",
|
||||
|
@ -244,7 +244,7 @@
|
|||
"display_name": "G-Code Writer",
|
||||
"description": "Writes g-code to a file.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -261,7 +261,7 @@
|
|||
"display_name": "Image Reader",
|
||||
"description": "Enables ability to generate printable geometry from 2D image files.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -278,7 +278,7 @@
|
|||
"display_name": "Legacy Cura Profile Reader",
|
||||
"description": "Provides support for importing profiles from legacy Cura versions.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -295,7 +295,7 @@
|
|||
"display_name": "Machine Settings Action",
|
||||
"description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "fieldOfView",
|
||||
|
@ -312,7 +312,7 @@
|
|||
"display_name": "Model Checker",
|
||||
"description": "Checks models and print configuration for possible printing issues and give suggestions.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -329,7 +329,7 @@
|
|||
"display_name": "Monitor Stage",
|
||||
"description": "Provides a monitor stage in Cura.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -346,7 +346,7 @@
|
|||
"display_name": "Per-Object Settings Tool",
|
||||
"description": "Provides the per-model settings.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -363,7 +363,7 @@
|
|||
"display_name": "Post Processing",
|
||||
"description": "Extension that allows for user created scripts for post processing.",
|
||||
"package_version": "2.2.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -380,7 +380,7 @@
|
|||
"display_name": "Prepare Stage",
|
||||
"description": "Provides a prepare stage in Cura.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -397,7 +397,7 @@
|
|||
"display_name": "Preview Stage",
|
||||
"description": "Provides a preview stage in Cura.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -414,7 +414,7 @@
|
|||
"display_name": "Removable Drive Output Device",
|
||||
"description": "Provides removable drive hotplugging and writing support.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -431,7 +431,7 @@
|
|||
"display_name": "Sentry Logger",
|
||||
"description": "Logs certain events so that they can be used by the crash reporter",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -448,7 +448,7 @@
|
|||
"display_name": "Simulation View",
|
||||
"description": "Provides the Simulation view.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -465,7 +465,7 @@
|
|||
"display_name": "Slice Info",
|
||||
"description": "Submits anonymous slice info. Can be disabled through preferences.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -482,7 +482,7 @@
|
|||
"display_name": "Solid View",
|
||||
"description": "Provides a normal solid mesh view.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -499,7 +499,7 @@
|
|||
"display_name": "Support Eraser Tool",
|
||||
"description": "Creates an eraser mesh to block the printing of support in certain places.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -516,7 +516,7 @@
|
|||
"display_name": "Trimesh Reader",
|
||||
"description": "Provides support for reading model files.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -533,7 +533,7 @@
|
|||
"display_name": "Toolbox",
|
||||
"description": "Find, manage and install new Cura packages.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -550,7 +550,7 @@
|
|||
"display_name": "UFP Reader",
|
||||
"description": "Provides support for reading Ultimaker Format Packages.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -567,7 +567,7 @@
|
|||
"display_name": "UFP Writer",
|
||||
"description": "Provides support for writing Ultimaker Format Packages.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -584,7 +584,7 @@
|
|||
"display_name": "Ultimaker Machine Actions",
|
||||
"description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -601,7 +601,7 @@
|
|||
"display_name": "UM3 Network Printing",
|
||||
"description": "Manages network connections to Ultimaker 3 printers.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -618,7 +618,7 @@
|
|||
"display_name": "USB Printing",
|
||||
"description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.",
|
||||
"package_version": "1.0.2",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -635,7 +635,7 @@
|
|||
"display_name": "Version Upgrade 2.1 to 2.2",
|
||||
"description": "Upgrades configurations from Cura 2.1 to Cura 2.2.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -652,7 +652,7 @@
|
|||
"display_name": "Version Upgrade 2.2 to 2.4",
|
||||
"description": "Upgrades configurations from Cura 2.2 to Cura 2.4.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -669,7 +669,7 @@
|
|||
"display_name": "Version Upgrade 2.5 to 2.6",
|
||||
"description": "Upgrades configurations from Cura 2.5 to Cura 2.6.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -686,7 +686,7 @@
|
|||
"display_name": "Version Upgrade 2.6 to 2.7",
|
||||
"description": "Upgrades configurations from Cura 2.6 to Cura 2.7.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -703,7 +703,7 @@
|
|||
"display_name": "Version Upgrade 2.7 to 3.0",
|
||||
"description": "Upgrades configurations from Cura 2.7 to Cura 3.0.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -720,7 +720,7 @@
|
|||
"display_name": "Version Upgrade 3.0 to 3.1",
|
||||
"description": "Upgrades configurations from Cura 3.0 to Cura 3.1.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -737,7 +737,7 @@
|
|||
"display_name": "Version Upgrade 3.2 to 3.3",
|
||||
"description": "Upgrades configurations from Cura 3.2 to Cura 3.3.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -754,7 +754,7 @@
|
|||
"display_name": "Version Upgrade 3.3 to 3.4",
|
||||
"description": "Upgrades configurations from Cura 3.3 to Cura 3.4.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -771,7 +771,7 @@
|
|||
"display_name": "Version Upgrade 3.4 to 3.5",
|
||||
"description": "Upgrades configurations from Cura 3.4 to Cura 3.5.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -788,7 +788,7 @@
|
|||
"display_name": "Version Upgrade 3.5 to 4.0",
|
||||
"description": "Upgrades configurations from Cura 3.5 to Cura 4.0.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -805,7 +805,7 @@
|
|||
"display_name": "Version Upgrade 4.0 to 4.1",
|
||||
"description": "Upgrades configurations from Cura 4.0 to Cura 4.1.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -822,7 +822,7 @@
|
|||
"display_name": "Version Upgrade 4.1 to 4.2",
|
||||
"description": "Upgrades configurations from Cura 4.1 to Cura 4.2.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -839,7 +839,7 @@
|
|||
"display_name": "Version Upgrade 4.2 to 4.3",
|
||||
"description": "Upgrades configurations from Cura 4.2 to Cura 4.3.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -856,7 +856,7 @@
|
|||
"display_name": "Version Upgrade 4.3 to 4.4",
|
||||
"description": "Upgrades configurations from Cura 4.3 to Cura 4.4.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -873,7 +873,7 @@
|
|||
"display_name": "Version Upgrade 4.4 to 4.5",
|
||||
"description": "Upgrades configurations from Cura 4.4 to Cura 4.5.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -890,7 +890,7 @@
|
|||
"display_name": "Version Upgrade 4.5 to 4.6",
|
||||
"description": "Upgrades configurations from Cura 4.5 to Cura 4.6.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -907,7 +907,7 @@
|
|||
"display_name": "Version Upgrade 4.6.0 to 4.6.2",
|
||||
"description": "Upgrades configurations from Cura 4.6.0 to Cura 4.6.2.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -924,7 +924,7 @@
|
|||
"display_name": "Version Upgrade 4.6.2 to 4.7",
|
||||
"description": "Upgrades configurations from Cura 4.6.2 to Cura 4.7.",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -941,7 +941,7 @@
|
|||
"display_name": "Version Upgrade 4.7.0 to 4.8.0",
|
||||
"description": "Upgrades configurations from Cura 4.7.0 to Cura 4.8.0",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -958,7 +958,7 @@
|
|||
"display_name": "Version Upgrade 4.8.0 to 4.9.0",
|
||||
"description": "Upgrades configurations from Cura 4.8.0 to Cura 4.9.0",
|
||||
"package_version": "1.0.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -976,6 +976,24 @@
|
|||
"description": "Upgrades configurations from Cura 4.9 to Cura 4.10",
|
||||
"package_version": "1.0.0",
|
||||
"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",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
|
@ -993,7 +1011,7 @@
|
|||
"display_name": "X3D Reader",
|
||||
"description": "Provides support for reading X3D files.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "SevaAlekseyev",
|
||||
|
@ -1010,7 +1028,7 @@
|
|||
"display_name": "XML Material Profiles",
|
||||
"description": "Provides capabilities to read and write XML-based material profiles.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1027,7 +1045,7 @@
|
|||
"display_name": "X-Ray View",
|
||||
"description": "Provides the X-Ray view.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1044,7 +1062,7 @@
|
|||
"display_name": "Generic ABS",
|
||||
"description": "The generic ABS profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1062,7 +1080,7 @@
|
|||
"display_name": "Generic BAM",
|
||||
"description": "The generic BAM profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1080,7 +1098,7 @@
|
|||
"display_name": "Generic CFF CPE",
|
||||
"description": "The generic CFF CPE profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1098,7 +1116,7 @@
|
|||
"display_name": "Generic CFF PA",
|
||||
"description": "The generic CFF PA profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1116,7 +1134,7 @@
|
|||
"display_name": "Generic CPE",
|
||||
"description": "The generic CPE profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1134,7 +1152,7 @@
|
|||
"display_name": "Generic CPE+",
|
||||
"description": "The generic CPE+ profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1152,7 +1170,7 @@
|
|||
"display_name": "Generic GFF CPE",
|
||||
"description": "The generic GFF CPE profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1170,7 +1188,7 @@
|
|||
"display_name": "Generic GFF PA",
|
||||
"description": "The generic GFF PA profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1188,7 +1206,7 @@
|
|||
"display_name": "Generic HIPS",
|
||||
"description": "The generic HIPS profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1206,7 +1224,7 @@
|
|||
"display_name": "Generic Nylon",
|
||||
"description": "The generic Nylon profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1224,7 +1242,7 @@
|
|||
"display_name": "Generic PC",
|
||||
"description": "The generic PC profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1242,7 +1260,7 @@
|
|||
"display_name": "Generic PETG",
|
||||
"description": "The generic PETG profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1260,7 +1278,7 @@
|
|||
"display_name": "Generic PLA",
|
||||
"description": "The generic PLA profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1278,7 +1296,7 @@
|
|||
"display_name": "Generic PP",
|
||||
"description": "The generic PP profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1296,7 +1314,7 @@
|
|||
"display_name": "Generic PVA",
|
||||
"description": "The generic PVA profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1314,7 +1332,7 @@
|
|||
"display_name": "Generic Tough PLA",
|
||||
"description": "The generic Tough PLA profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1332,7 +1350,7 @@
|
|||
"display_name": "Generic TPU",
|
||||
"description": "The generic TPU profile which other profiles can be based upon.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://github.com/Ultimaker/fdm_materials",
|
||||
"author": {
|
||||
"author_id": "Generic",
|
||||
|
@ -1350,7 +1368,7 @@
|
|||
"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.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://dagoma.fr/boutique/filaments.html",
|
||||
"author": {
|
||||
"author_id": "Dagoma",
|
||||
|
@ -1367,7 +1385,7 @@
|
|||
"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.",
|
||||
"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",
|
||||
"author": {
|
||||
"author_id": "FABtotum",
|
||||
|
@ -1384,7 +1402,7 @@
|
|||
"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.",
|
||||
"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",
|
||||
"author": {
|
||||
"author_id": "FABtotum",
|
||||
|
@ -1401,7 +1419,7 @@
|
|||
"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°.",
|
||||
"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",
|
||||
"author": {
|
||||
"author_id": "FABtotum",
|
||||
|
@ -1418,7 +1436,7 @@
|
|||
"display_name": "FABtotum TPU Shore 98A",
|
||||
"description": "",
|
||||
"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",
|
||||
"author": {
|
||||
"author_id": "FABtotum",
|
||||
|
@ -1435,7 +1453,7 @@
|
|||
"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.",
|
||||
"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/",
|
||||
"author": {
|
||||
"author_id": "Fiberlogy",
|
||||
|
@ -1452,7 +1470,7 @@
|
|||
"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.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://dagoma.fr",
|
||||
"author": {
|
||||
"author_id": "Dagoma",
|
||||
|
@ -1469,7 +1487,7 @@
|
|||
"display_name": "IMADE3D JellyBOX PETG",
|
||||
"description": "",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "http://shop.imade3d.com/filament.html",
|
||||
"author": {
|
||||
"author_id": "IMADE3D",
|
||||
|
@ -1486,7 +1504,7 @@
|
|||
"display_name": "IMADE3D JellyBOX PLA",
|
||||
"description": "",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "http://shop.imade3d.com/filament.html",
|
||||
"author": {
|
||||
"author_id": "IMADE3D",
|
||||
|
@ -1503,7 +1521,7 @@
|
|||
"display_name": "Octofiber PLA",
|
||||
"description": "PLA material from Octofiber.",
|
||||
"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",
|
||||
"author": {
|
||||
"author_id": "Octofiber",
|
||||
|
@ -1520,7 +1538,7 @@
|
|||
"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.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "http://www.polymaker.com/shop/polyflex/",
|
||||
"author": {
|
||||
"author_id": "Polymaker",
|
||||
|
@ -1537,7 +1555,7 @@
|
|||
"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.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "http://www.polymaker.com/shop/polymax/",
|
||||
"author": {
|
||||
"author_id": "Polymaker",
|
||||
|
@ -1554,7 +1572,7 @@
|
|||
"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.",
|
||||
"package_version": "1.0.1",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "http://www.polymaker.com/shop/polyplus-true-colour/",
|
||||
"author": {
|
||||
"author_id": "Polymaker",
|
||||
|
@ -1571,7 +1589,7 @@
|
|||
"display_name": "PolyWood™ PLA",
|
||||
"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",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "http://www.polymaker.com/shop/polywood/",
|
||||
"author": {
|
||||
"author_id": "Polymaker",
|
||||
|
@ -1588,7 +1606,7 @@
|
|||
"display_name": "Ultimaker ABS",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com/products/materials/abs",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1607,7 +1625,7 @@
|
|||
"display_name": "Ultimaker Breakaway",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com/products/materials/breakaway",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1626,7 +1644,7 @@
|
|||
"display_name": "Ultimaker CPE",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com/products/materials/abs",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1645,7 +1663,7 @@
|
|||
"display_name": "Ultimaker CPE+",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com/products/materials/cpe",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1664,7 +1682,7 @@
|
|||
"display_name": "Ultimaker Nylon",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com/products/materials/abs",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1683,7 +1701,7 @@
|
|||
"display_name": "Ultimaker PC",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com/products/materials/pc",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1702,7 +1720,7 @@
|
|||
"display_name": "Ultimaker PLA",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com/products/materials/abs",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1721,7 +1739,7 @@
|
|||
"display_name": "Ultimaker PP",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com/products/materials/pp",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1740,7 +1758,7 @@
|
|||
"display_name": "Ultimaker PVA",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com/products/materials/abs",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1759,7 +1777,7 @@
|
|||
"display_name": "Ultimaker TPU 95A",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com/products/materials/tpu-95a",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1778,7 +1796,7 @@
|
|||
"display_name": "Ultimaker Tough PLA",
|
||||
"description": "Example package for material and quality profiles for Ultimaker materials.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://ultimaker.com/products/materials/tough-pla",
|
||||
"author": {
|
||||
"author_id": "UltimakerPackages",
|
||||
|
@ -1797,7 +1815,7 @@
|
|||
"display_name": "Vertex Delta ABS",
|
||||
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://vertex3dprinter.eu",
|
||||
"author": {
|
||||
"author_id": "Velleman",
|
||||
|
@ -1814,7 +1832,7 @@
|
|||
"display_name": "Vertex Delta PET",
|
||||
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://vertex3dprinter.eu",
|
||||
"author": {
|
||||
"author_id": "Velleman",
|
||||
|
@ -1831,7 +1849,7 @@
|
|||
"display_name": "Vertex Delta PLA",
|
||||
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://vertex3dprinter.eu",
|
||||
"author": {
|
||||
"author_id": "Velleman",
|
||||
|
@ -1848,7 +1866,7 @@
|
|||
"display_name": "Vertex Delta TPU",
|
||||
"description": "ABS material and quality files for the Delta Vertex K8800.",
|
||||
"package_version": "1.4.0",
|
||||
"sdk_version": "7.7.0",
|
||||
"sdk_version": "7.8.0",
|
||||
"website": "https://vertex3dprinter.eu",
|
||||
"author": {
|
||||
"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": { "value": 0.2 },
|
||||
"retraction_combing": { "default_value": "noskin" },
|
||||
"retraction_combing": { "value": "'noskin'" },
|
||||
"retraction_combing_max_distance": { "value": 30 },
|
||||
|
||||
"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_hop_enabled": { "value": "True" },
|
||||
"retraction_hop": { "value": "0.5" },
|
||||
"retraction_combing": { "default_value": "noskin" },
|
||||
"retraction_combing": { "value": "'noskin'" },
|
||||
"retraction_combing_max_distance": { "value": "10" },
|
||||
"travel_avoid_other_parts": { "value": "True" },
|
||||
"travel_avoid_supports": { "value": "True" },
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
"overrides": {
|
||||
"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_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_depth": { "default_value": 350 },
|
||||
"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"},
|
||||
"layer_height": { "default_value": 0.1 },
|
||||
"relative_extrusion": { "value": "False" },
|
||||
"retraction_combing": { "default_value": "off" },
|
||||
"retraction_combing": { "value": "'off'" },
|
||||
"retraction_hop_enabled": { "default_value": true },
|
||||
"retraction_hop_only_when_collides": { "default_value": false },
|
||||
"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_amount" : { "default_value": 3.5 },
|
||||
"retraction_speed" : { "default_value": 40 },
|
||||
"retraction_combing" : { "default_value": "noskin" },
|
||||
"retraction_combing" : { "value": "'noskin'" },
|
||||
"travel_avoid_distance": { "value": "1" },
|
||||
"travel_avoid_supports": { "value": "True" },
|
||||
"retraction_hop_only_when_collides": { "value": "1" },
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
"platform_texture": "eryone_thinker_plate.png",
|
||||
"platform_offset": [0, -120, 0],
|
||||
"has_materials": true,
|
||||
"preferred_material": "generic_pla",
|
||||
"preferred_material": "eryone_pla",
|
||||
"has_machine_quality": true,
|
||||
"preferred_quality_type": "normal",
|
||||
"machine_extruder_trains":
|
||||
|
@ -57,10 +57,10 @@
|
|||
"default_value": "Marlin"
|
||||
},
|
||||
"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": {
|
||||
"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": {
|
||||
"value": true
|
||||
|
@ -160,7 +160,7 @@
|
|||
"value": 10
|
||||
},
|
||||
"skirt_brim_speed": {
|
||||
"value": 40
|
||||
"value": "math.ceil(speed_print * 40 / 60)"
|
||||
},
|
||||
"skirt_gap": {
|
||||
"value": 5
|
||||
|
@ -229,7 +229,7 @@
|
|||
"value": 3
|
||||
},
|
||||
"wall_thickness": {
|
||||
"value": "1.2"
|
||||
"value": "line_width * wall_line_count"
|
||||
},
|
||||
"bottom_layers": {
|
||||
"value": "4"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"type": "extruder",
|
||||
"author": "Ultimaker",
|
||||
"manufacturer": "Unknown",
|
||||
"setting_version": 18,
|
||||
"setting_version": 19,
|
||||
"visible": false,
|
||||
"position": "0"
|
||||
},
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"type": "machine",
|
||||
"author": "Ultimaker",
|
||||
"manufacturer": "Unknown",
|
||||
"setting_version": 18,
|
||||
"setting_version": 19,
|
||||
"file_formats": "text/x-gcode;model/stl;application/x-wavefront-obj;application/x3g",
|
||||
"visible": false,
|
||||
"has_materials": true,
|
||||
|
@ -1943,7 +1943,7 @@
|
|||
"default_value": 2,
|
||||
"minimum_value": "0",
|
||||
"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",
|
||||
"settable_per_mesh": true
|
||||
}
|
||||
|
@ -1952,7 +1952,7 @@
|
|||
"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",
|
||||
"options":
|
||||
{
|
||||
|
@ -1968,7 +1968,8 @@
|
|||
"zigzag": "Zig Zag",
|
||||
"cross": "Cross",
|
||||
"cross_3d": "Cross 3D",
|
||||
"gyroid": "Gyroid"
|
||||
"gyroid": "Gyroid",
|
||||
"lightning": "Lightning"
|
||||
},
|
||||
"default_value": "grid",
|
||||
"enabled": "infill_line_distance > 0",
|
||||
|
@ -1994,7 +1995,7 @@
|
|||
"type": "bool",
|
||||
"default_value": true,
|
||||
"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",
|
||||
"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).",
|
||||
"type": "[int]",
|
||||
"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",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
|
@ -2015,7 +2016,7 @@
|
|||
"unit": "mm",
|
||||
"type": "float",
|
||||
"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",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
|
@ -2026,7 +2027,7 @@
|
|||
"unit": "mm",
|
||||
"type": "float",
|
||||
"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",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
|
@ -2037,7 +2038,7 @@
|
|||
"type": "bool",
|
||||
"default_value": false,
|
||||
"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",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
|
@ -2146,7 +2147,7 @@
|
|||
"minimum_value": "0",
|
||||
"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))",
|
||||
"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",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
|
@ -2159,7 +2160,7 @@
|
|||
"default_value": 1.5,
|
||||
"minimum_value": "0.0001",
|
||||
"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",
|
||||
"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.",
|
||||
"type": "bool",
|
||||
"default_value": false,
|
||||
"enabled": "infill_sparse_density > 0",
|
||||
"enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0",
|
||||
"limit_to_extruder": "infill_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
|
@ -2203,7 +2204,7 @@
|
|||
"minimum_value_warning": "2",
|
||||
"maximum_value": "90",
|
||||
"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",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
|
@ -2237,6 +2238,72 @@
|
|||
"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",
|
||||
"all": "All",
|
||||
"no_outer_surfaces": "Not on Outer Surface",
|
||||
"noskin": "Not in Skin",
|
||||
"infill": "Within Infill"
|
||||
},
|
||||
"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_extruder": false
|
||||
},
|
||||
|
|
|
@ -49,10 +49,10 @@
|
|||
"default_value": 2
|
||||
},
|
||||
"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": {
|
||||
"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;"
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -22,10 +22,10 @@
|
|||
"overrides": {
|
||||
"machine_name": { "default_value": "Hellbot Hidra Plus" },
|
||||
"machine_width": {
|
||||
"default_value": 305
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 305
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 350
|
||||
|
@ -49,11 +49,10 @@
|
|||
"default_value": 2
|
||||
},
|
||||
"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": {
|
||||
"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;"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,6 +44,5 @@
|
|||
"machine_end_gcode": {
|
||||
"default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84"
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,6 +37,5 @@
|
|||
"machine_extruder_count": {
|
||||
"default_value": 1
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,6 +44,5 @@
|
|||
"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_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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -369,7 +369,7 @@
|
|||
"value": 45
|
||||
},
|
||||
"retraction_combing": {
|
||||
"value": "infill"
|
||||
"value": "'infill'"
|
||||
},
|
||||
"retraction_hop_enabled": {
|
||||
"value": true
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"support_pattern": { "default_value": "grid" },
|
||||
"infill_sparse_density": { "default_value": 10 },
|
||||
"machine_extruder_count": { "default_value": 1 },
|
||||
"retraction_combing": { "default_value": "off" },
|
||||
"retraction_combing": { "value": "'off'" },
|
||||
"machine_heated_bed": { "default_value": true },
|
||||
"machine_center_is_zero": { "default_value": false },
|
||||
"machine_height": { "default_value": 260 },
|
||||
|
|
|
@ -97,7 +97,7 @@
|
|||
"material_final_print_temperature": {"value": "default_material_print_temperature" },
|
||||
"material_initial_print_temperature": {"value": "default_material_print_temperature" },
|
||||
"gantry_height": {"value": "20"},
|
||||
"retraction_combing": { "default_value": "all" },
|
||||
"retraction_combing": { "value": "'all'" },
|
||||
"retraction_amount": {"default_value": 2},
|
||||
"adhesion_type": {"default_value": "skirt"},
|
||||
"skirt_line_count": {"default_value": 3},
|
||||
|
|
|
@ -171,7 +171,7 @@
|
|||
"meshfix_maximum_resolution": { "value": "(speed_wall_0 + speed_wall_x) / 100" },
|
||||
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
||||
"optimize_wall_printing_order": { "value": "True" },
|
||||
"retraction_combing": { "default_value": "all" },
|
||||
"retraction_combing": { "value": "'all'" },
|
||||
"initial_layer_line_width_factor": { "value": "120" },
|
||||
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" }
|
||||
}
|
||||
|
|
|
@ -95,7 +95,7 @@
|
|||
"acceleration_enabled": {"value": false },
|
||||
"acceleration_roofing": {"value": 3000 },
|
||||
"jerk_enabled": {"value": false },
|
||||
"retraction_combing": {"value": "'within infill'" },
|
||||
"retraction_combing": {"value": "'infill'" },
|
||||
"travel_retract_before_outer_wall": {"value": false },
|
||||
"travel_avoid_other_parts": {"value": true },
|
||||
"retraction_hop_enabled": {"value": false },
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "Ruben Dulek",
|
||||
"author": "Ghostkeeper",
|
||||
"manufacturer": "Malyan",
|
||||
"machine_x3g_variant": "r1d",
|
||||
"file_formats": "application/x3g",
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
"raft_surface_layers": { "default_value": 1 },
|
||||
"skirt_line_count": { "default_value": 2},
|
||||
"brim_width" : { "default_value": 5},
|
||||
"retraction_combing": { "default_value": "noskin" },
|
||||
"retraction_combing": { "value": "'noskin'" },
|
||||
"retraction_amount" : { "default_value": 4.5},
|
||||
"retraction_speed" : { "default_value": 40},
|
||||
"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.)"
|
||||
},
|
||||
"adhesion_type": { "default_value": "brim" },
|
||||
"retraction_combing": { "default_value": "noskin" },
|
||||
"retraction_combing": { "value": "'noskin'" },
|
||||
"retraction_amount" : { "default_value": 2.5},
|
||||
"retraction_speed" : { "default_value": 40},
|
||||
"material_print_temperature_layer_0": { "value": "material_print_temperature + 5" }
|
||||
|
|
|
@ -153,7 +153,7 @@
|
|||
"value": "5.0"
|
||||
},
|
||||
"retraction_combing": {
|
||||
"default_value": "all"
|
||||
"value": "'all'"
|
||||
},
|
||||
"retraction_enable": {
|
||||
"value": "True"
|
||||
|
|
|
@ -153,7 +153,7 @@
|
|||
"value": "5.0"
|
||||
},
|
||||
"retraction_combing": {
|
||||
"default_value": "all"
|
||||
"value": "'all'"
|
||||
},
|
||||
"retraction_enable": {
|
||||
"value": "True"
|
||||
|
|
|
@ -141,7 +141,7 @@
|
|||
"value": "5.0"
|
||||
},
|
||||
"retraction_combing": {
|
||||
"default_value": "all"
|
||||
"value": "'all'"
|
||||
},
|
||||
"retraction_enable": {
|
||||
"value": "True"
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
"layer_height": { "default_value": 0.2 },
|
||||
"speed_print": { "default_value": 40 },
|
||||
"machine_extruder_count": { "default_value": 1 },
|
||||
"retraction_combing": { "default_value": "off" },
|
||||
"retraction_combing": { "value": "'off'" },
|
||||
"machine_heated_bed": { "default_value": true },
|
||||
"machine_center_is_zero": { "default_value": false },
|
||||
"machine_height": { "default_value": 210 },
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
"machine_width": { "default_value": 290 },
|
||||
"relative_extrusion": { "value": "False" },
|
||||
"retraction_amount": { "default_value": 3.2 },
|
||||
"retraction_combing": { "default_value": "off" },
|
||||
"retraction_combing": { "value": "'off'" },
|
||||
"retraction_hop_enabled": { "default_value": true },
|
||||
"retraction_hop_only_when_collides": { "default_value": false },
|
||||
"retraction_speed": { "default_value": 45 },
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
"machine_width": { "default_value": 265 },
|
||||
"relative_extrusion": { "value": "False" },
|
||||
"retraction_amount": { "default_value": 3.2 },
|
||||
"retraction_combing": { "default_value": "off" },
|
||||
"retraction_combing": { "value": "'off'" },
|
||||
"retraction_hop_enabled": { "default_value": true },
|
||||
"retraction_hop_only_when_collides": { "default_value": false },
|
||||
"retraction_speed": { "default_value": 45 },
|
||||
|
|
|
@ -411,7 +411,7 @@
|
|||
"value": "1"
|
||||
},
|
||||
"retraction_combing": {
|
||||
"default_value": "infill"
|
||||
"value": "'infill'"
|
||||
},
|
||||
"acceleration_prime_tower": {
|
||||
"value": "250"
|
||||
|
|
|
@ -116,7 +116,7 @@
|
|||
"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" },
|
||||
"retraction_amount": { "default_value": 1.5 },
|
||||
"retraction_combing": { "default_value": "all" },
|
||||
"retraction_combing": { "value": "'all'" },
|
||||
"retraction_combing_max_distance": { "default_value": 5 },
|
||||
"retraction_count_max": { "default_value": 15 },
|
||||
"retraction_hop": { "value": "2" },
|
||||
|
|
|
@ -70,6 +70,6 @@
|
|||
"z_seam_type": {"default_value": "back"},
|
||||
"z_seam_x": {"value": "127.5"},
|
||||
"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_x": {"value": "127.5"},
|
||||
"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_x": {"value": "127.5"},
|
||||
"z_seam_y": {"value": "250"},
|
||||
"retraction_combing": {"default_value": "off"}
|
||||
"retraction_combing": {"value": "'off'"}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -90,17 +90,17 @@
|
|||
"infill_before_walls": {
|
||||
"value": "False"
|
||||
},
|
||||
"top_bottom_pattern": {
|
||||
"value": "zigzag"
|
||||
},
|
||||
"roofing_layer_count": {
|
||||
"value": "1"
|
||||
},
|
||||
"roofing_monotonic": {
|
||||
"value": "True"
|
||||
},
|
||||
"speed_equalize_flow_width_factor": {
|
||||
"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" },
|
||||
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" },
|
||||
"speed_support": { "value": "speed_wall_0" },
|
||||
"material_initial_print_temperature": { "value": "material_print_temperature" },
|
||||
"material_final_print_temperature": { "value": "material_print_temperature" },
|
||||
"material_print_temperature_layer_0": { "value": "material_print_temperature" },
|
||||
"material_initial_print_temperature": {
|
||||
"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_end_gcode": { "value": "''" },
|
||||
"material_bed_temperature": { "maximum_value": 110 },
|
||||
"material_bed_temperature_layer_0": { "maximum_value": 110 },
|
||||
"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_deviation": { "value": "layer_height / 4" },
|
||||
"meshfix_maximum_travel_resolution": { "value": 0.5 },
|
||||
|
|
|
@ -99,21 +99,28 @@
|
|||
"fill_outline_gaps": { "value": "True" },
|
||||
"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": "line_width" },
|
||||
"infill_before_walls": { "value": false },
|
||||
"infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" },
|
||||
"infill_overlap": { "value": "0" },
|
||||
"infill_pattern": { "value": "'triangles'" },
|
||||
"infill_wipe_dist": { "value": "0" },
|
||||
"initial_layer_line_width_factor": { "value": "120" },
|
||||
"jerk_enabled": { "value": "True" },
|
||||
"jerk_layer_0": { "value": "jerk_topbottom" },
|
||||
"jerk_prime_tower": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
|
||||
"jerk_print": { "value": "25" },
|
||||
"jerk_support": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
|
||||
"jerk_support_interface": { "value": "jerk_topbottom" },
|
||||
"jerk_topbottom": { "value": "max(math.ceil(jerk_print * 5 / 25), 20)" },
|
||||
"jerk_wall": { "value": "max(math.ceil(jerk_print * 10 / 25), 20" },
|
||||
"jerk_wall_0": { "value": "max(math.ceil(jerk_wall * 5 / 10), 20)" },
|
||||
"jerk_print": { "value": "20", "minimum_value_warning": 20 },
|
||||
"jerk_infill": {"minimum_value_warning": 20 },
|
||||
"jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||
"jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 },
|
||||
"jerk_roofing": {"minimum_value_warning": 20 },
|
||||
"jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||
"jerk_support": { "value": "jerk_print", "minimum_value_warning": 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_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'))" },
|
||||
|
@ -137,6 +144,7 @@
|
|||
"raft_margin": { "value": "10" },
|
||||
"raft_surface_layers": { "value": "1" },
|
||||
"retraction_amount": { "value": "6.5" },
|
||||
"retraction_combing": {"value": "'no_outer_surfaces'"},
|
||||
"retraction_count_max": { "value": "10" },
|
||||
"retraction_extrusion_window": { "value": "1" },
|
||||
"retraction_hop": { "value": "2" },
|
||||
|
@ -148,6 +156,7 @@
|
|||
"roofing_monotonic": { "value": "True" },
|
||||
"skin_overlap": { "value": "10" },
|
||||
"speed_equalize_flow_width_factor": { "value": "0.5" },
|
||||
"skin_monotonic" : { "value": true },
|
||||
"speed_layer_0": { "value": "20" },
|
||||
"speed_prime_tower": { "value": "speed_topbottom" },
|
||||
"speed_print": { "value": "35" },
|
||||
|
|
|
@ -89,23 +89,27 @@
|
|||
"cool_fan_speed": { "value": "50" },
|
||||
"cool_fan_speed_max": { "value": "100" },
|
||||
"cool_min_speed": { "value": "5" },
|
||||
"fill_outline_gaps": { "value": "True" },
|
||||
"min_feature_size": { "value": "wall_line_width_0 / 4" },
|
||||
"min_bead_width": { "value": "wall_line_width_0 / 2" },
|
||||
"infill_before_walls": { "value": "False" },
|
||||
"infill_before_walls": { "value": false },
|
||||
"infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" },
|
||||
"infill_overlap": { "value": "0" },
|
||||
"infill_pattern": { "value": "'triangles'" },
|
||||
"infill_wipe_dist": { "value": "0" },
|
||||
"jerk_enabled": { "value": "True" },
|
||||
"jerk_layer_0": { "value": "jerk_topbottom" },
|
||||
"jerk_prime_tower": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
|
||||
"jerk_print": { "value": "25" },
|
||||
"jerk_support": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
|
||||
"jerk_support_interface": { "value": "jerk_topbottom" },
|
||||
"jerk_topbottom": { "value": "max(math.ceil(jerk_print * 5 / 25), 20)" },
|
||||
"jerk_wall": { "value": "max(math.ceil(jerk_print * 10 / 25), 20)" },
|
||||
"jerk_wall_0": { "value": "max(math.ceil(jerk_wall * 5 / 10), 20)" },
|
||||
"jerk_print": { "value": "20", "minimum_value_warning": 20 },
|
||||
"jerk_infill": {"minimum_value_warning": 20 },
|
||||
"jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||
"jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 },
|
||||
"jerk_roofing": {"minimum_value_warning": 20 },
|
||||
"jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||
"jerk_support": { "value": "jerk_print", "minimum_value_warning": 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_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'))" },
|
||||
|
@ -114,6 +118,7 @@
|
|||
"default_material_print_temperature": { "value": "200" },
|
||||
"material_standby_temperature": { "value": "100" },
|
||||
"multiple_mesh_overlap": { "value": "0" },
|
||||
"optimize_wall_printing_order": { "value": "True" },
|
||||
"prime_tower_enable": { "value": "True" },
|
||||
"raft_airgap": { "value": "0" },
|
||||
"raft_base_speed": { "value": "20" },
|
||||
|
@ -127,6 +132,7 @@
|
|||
"raft_speed": { "value": "25" },
|
||||
"raft_surface_layers": { "value": "1" },
|
||||
"retraction_amount": { "value": "6.5" },
|
||||
"retraction_combing": { "value": "'no_outer_surfaces'"},
|
||||
"retraction_count_max": { "value": "10" },
|
||||
"retraction_extrusion_window": { "value": "1" },
|
||||
"retraction_hop": { "value": "2" },
|
||||
|
@ -134,8 +140,7 @@
|
|||
"retraction_hop_only_when_collides": { "value": "True" },
|
||||
"retraction_min_travel": { "value": "5" },
|
||||
"retraction_prime_speed": { "value": "15" },
|
||||
"roofing_layer_count": { "value": "1" },
|
||||
"roofing_monotonic": { "value": "True" },
|
||||
"skin_monotonic" : { "value": true },
|
||||
"skin_overlap": { "value": "10" },
|
||||
"speed_equalize_flow_width_factor": { "value": "0.5" },
|
||||
"speed_layer_0": { "value": "20" },
|
||||
|
@ -166,7 +171,6 @@
|
|||
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
||||
"meshfix_maximum_extrusion_area_deviation": { "value": "50000" },
|
||||
"optimize_wall_printing_order": { "value": "True" },
|
||||
"retraction_combing": { "default_value": "all" },
|
||||
"initial_layer_line_width_factor": { "value": "120" },
|
||||
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" }
|
||||
}
|
||||
|
|
|
@ -91,20 +91,27 @@
|
|||
"cool_fan_speed": { "value": "50" },
|
||||
"cool_fan_speed_max": { "value": "100" },
|
||||
"cool_min_speed": { "value": "5" },
|
||||
"infill_before_walls": { "value": "False" },
|
||||
"infill_line_width": { "value": "line_width" },
|
||||
"infill_before_walls": { "value": false },
|
||||
"infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" },
|
||||
"infill_overlap": { "value": "0" },
|
||||
"infill_pattern": { "value": "'triangles'" },
|
||||
"infill_wipe_dist": { "value": "0" },
|
||||
"jerk_enabled": { "value": "True" },
|
||||
"jerk_layer_0": { "value": "jerk_topbottom" },
|
||||
"jerk_prime_tower": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
|
||||
"jerk_print": { "value": "25" },
|
||||
"jerk_support": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" },
|
||||
"jerk_support_interface": { "value": "jerk_topbottom" },
|
||||
"jerk_topbottom": { "value": "max(math.ceil(jerk_print * 5 / 25), 20)" },
|
||||
"jerk_wall": { "value": "max(math.ceil(jerk_print * 10 / 25), 20)" },
|
||||
"jerk_wall_0": { "value": "max(math.ceil(jerk_wall * 5 / 10), 20)" },
|
||||
"jerk_print": { "value": "20", "minimum_value_warning": 20 },
|
||||
"jerk_infill": {"minimum_value_warning": 20 },
|
||||
"jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||
"jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 },
|
||||
"jerk_roofing": {"minimum_value_warning": 20 },
|
||||
"jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 },
|
||||
"jerk_support": { "value": "jerk_print", "minimum_value_warning": 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_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'))" },
|
||||
|
@ -129,6 +136,7 @@
|
|||
"raft_speed": { "value": "25" },
|
||||
"raft_surface_layers": { "value": "1" },
|
||||
"retraction_amount": { "value": "6.5" },
|
||||
"retraction_combing": { "value": "'no_outer_surfaces'"},
|
||||
"retraction_count_max": { "value": "10" },
|
||||
"retraction_extrusion_window": { "value": "1" },
|
||||
"retraction_hop": { "value": "2" },
|
||||
|
@ -136,8 +144,7 @@
|
|||
"retraction_hop_only_when_collides": { "value": "True" },
|
||||
"retraction_min_travel": { "value": "5" },
|
||||
"retraction_prime_speed": { "value": "15" },
|
||||
"roofing_layer_count": { "value": "1" },
|
||||
"roofing_monotonic": { "value": "True" },
|
||||
"skin_monotonic" : { "value": true },
|
||||
"skin_overlap": { "value": "10" },
|
||||
"speed_equalize_flow_width_factor": { "value": "0.5" },
|
||||
"speed_layer_0": { "value": "20" },
|
||||
|
@ -168,7 +175,6 @@
|
|||
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
||||
"meshfix_maximum_extrusion_area_deviation": { "value": "50000" },
|
||||
"optimize_wall_printing_order": { "value": "True" },
|
||||
"retraction_combing": { "default_value": "all" },
|
||||
"initial_layer_line_width_factor": { "value": "120" },
|
||||
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" },
|
||||
"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_hop_enabled": { "default_value": true },
|
||||
"retraction_hop": { "default_value": 0.2 },
|
||||
"retraction_combing": { "default_value": "noskin" },
|
||||
"retraction_combing": { "value": "'noskin'" },
|
||||
"retraction_combing_max_distance": { "default_value": 10 },
|
||||
"travel_avoid_other_parts": { "default_value": false },
|
||||
"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" }
|
||||
}
|
||||
}
|
27
resources/extruders/arjunpro_extruder_1.def.json
Normal file
27
resources/extruders/arjunpro_extruder_1.def.json
Normal file
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"version": 2,
|
||||
"name": "Right Extruder",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "arjunpro300",
|
||||
"position": "1"
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"extruder_nr": {
|
||||
"default_value": 1,
|
||||
"maximum_value": "1"
|
||||
},
|
||||
"machine_nozzle_size": { "default_value": 0.4 },
|
||||
"material_diameter": { "default_value": 1.75 },
|
||||
"machine_nozzle_offset_x": { "default_value": 0.0 },
|
||||
"machine_nozzle_offset_y": { "default_value": 0.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": 257 },
|
||||
"machine_extruder_end_pos_y": { "value": "prime_tower_position_y" },
|
||||
"machine_extruder_start_code": { "default_value": "T1" }
|
||||
}
|
||||
}
|
20
resources/extruders/arjunpro_mm_extruder.def.json
Normal file
20
resources/extruders/arjunpro_mm_extruder.def.json
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"version": 2,
|
||||
"name": "Mirror Extruder",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "arjunpro_mirrored",
|
||||
"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 }
|
||||
}
|
||||
}
|
15
resources/extruders/creasee_cs50spro_extruder.def.json
Normal file
15
resources/extruders/creasee_cs50spro_extruder.def.json
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"version": 2,
|
||||
"name": "Extruder 1",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "creasee_cs50spro",
|
||||
"position": "0"
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"extruder_nr": { "default_value": 0 },
|
||||
"machine_nozzle_size": { "default_value": 0.4 },
|
||||
"material_diameter": { "default_value": 1.75 }
|
||||
}
|
||||
}
|
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