Merge remote-tracking branch 'origin/master'

This commit is contained in:
Nino van Hooff 2020-05-18 11:59:53 +02:00
commit 9344bb8494
189 changed files with 3115 additions and 645 deletions

View File

@ -36,10 +36,10 @@ class CuraPackageManager(PackageManager):
machine_with_qualities = [] machine_with_qualities = []
for container_id in ids: for container_id in ids:
for global_stack in global_stacks: for global_stack in global_stacks:
for extruder_nr, extruder_stack in global_stack.extruders.items(): for extruder_nr, extruder_stack in enumerate(global_stack.extruderList):
if container_id in (extruder_stack.material.getId(), extruder_stack.material.getMetaData().get("base_file")): if container_id in (extruder_stack.material.getId(), extruder_stack.material.getMetaData().get("base_file")):
machine_with_materials.append((global_stack, extruder_nr, container_id)) machine_with_materials.append((global_stack, str(extruder_nr), container_id))
if container_id == extruder_stack.quality.getId(): if container_id == extruder_stack.quality.getId():
machine_with_qualities.append((global_stack, extruder_nr, container_id)) machine_with_qualities.append((global_stack, str(extruder_nr), container_id))
return machine_with_materials, machine_with_qualities return machine_with_materials, machine_with_qualities

View File

@ -150,9 +150,10 @@ class BaseMaterialsModel(ListModel):
global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack() global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack()
if not global_stack.hasMaterials: if not global_stack.hasMaterials:
return # There are no materials for this machine, so nothing to do. return # There are no materials for this machine, so nothing to do.
extruder_stack = global_stack.extruders.get(str(self._extruder_position)) extruder_list = global_stack.extruderList
if not extruder_stack: if self._extruder_position > len(extruder_list):
return return
extruder_stack = extruder_list[self._extruder_position]
nozzle_name = extruder_stack.variant.getName() nozzle_name = extruder_stack.variant.getName()
machine_node = ContainerTree.getInstance().machines[global_stack.definition.getId()] machine_node = ContainerTree.getInstance().machines[global_stack.definition.getId()]
if nozzle_name not in machine_node.variants: if nozzle_name not in machine_node.variants:

View File

@ -152,7 +152,7 @@ class QualitySettingsModel(ListModel):
if self._selected_position == self.GLOBAL_STACK_POSITION: if self._selected_position == self.GLOBAL_STACK_POSITION:
user_value = global_container_stack.userChanges.getProperty(definition.key, "value") user_value = global_container_stack.userChanges.getProperty(definition.key, "value")
else: else:
extruder_stack = global_container_stack.extruders[str(self._selected_position)] extruder_stack = global_container_stack.extruderList[self._selected_position]
user_value = extruder_stack.userChanges.getProperty(definition.key, "value") user_value = extruder_stack.userChanges.getProperty(definition.key, "value")
if profile_value is None and user_value is None: if profile_value is None and user_value is None:

View File

@ -180,9 +180,7 @@ class CuraContainerRegistry(ContainerRegistry):
return {"status": "error", "message": catalog.i18nc("@info:status Don't translate the XML tags <filename>!", "Can't import profile from <filename>{0}</filename> before a printer is added.", file_name)} return {"status": "error", "message": catalog.i18nc("@info:status Don't translate the XML tags <filename>!", "Can't import profile from <filename>{0}</filename> before a printer is added.", file_name)}
container_tree = ContainerTree.getInstance() container_tree = ContainerTree.getInstance()
machine_extruders = [] machine_extruders = global_stack.extruderList
for position in sorted(global_stack.extruders):
machine_extruders.append(global_stack.extruders[position])
plugin_registry = PluginRegistry.getInstance() plugin_registry = PluginRegistry.getInstance()
extension = file_name.split(".")[-1] extension = file_name.split(".")[-1]
@ -263,7 +261,7 @@ class CuraContainerRegistry(ContainerRegistry):
if len(profile_or_list) == 1: if len(profile_or_list) == 1:
global_profile = profile_or_list[0] global_profile = profile_or_list[0]
extruder_profiles = [] extruder_profiles = []
for idx, extruder in enumerate(global_stack.extruders.values()): for idx, extruder in enumerate(global_stack.extruderList):
profile_id = ContainerRegistry.getInstance().uniqueName(global_stack.getId() + "_extruder_" + str(idx + 1)) profile_id = ContainerRegistry.getInstance().uniqueName(global_stack.getId() + "_extruder_" + str(idx + 1))
profile = InstanceContainer(profile_id) profile = InstanceContainer(profile_id)
profile.setName(quality_name) profile.setName(quality_name)

View File

@ -62,7 +62,7 @@ class CuraStackBuilder:
except IndexError: except IndexError:
return None return None
for new_extruder in new_global_stack.extruders.values(): # Only register the extruders if we're sure that all of them are correct. for new_extruder in new_global_stack.extruderList: # Only register the extruders if we're sure that all of them are correct.
registry.addContainer(new_extruder) registry.addContainer(new_extruder)
# Register the global stack after the extruder stacks are created. This prevents the registry from adding another # Register the global stack after the extruder stacks are created. This prevents the registry from adding another

View File

@ -143,25 +143,6 @@ class ExtruderManager(QObject):
return self._extruder_trains[global_container_stack.getId()][str(index)] return self._extruder_trains[global_container_stack.getId()][str(index)]
return None return None
def registerExtruder(self, extruder_train: "ExtruderStack", machine_id: str) -> None:
changed = False
if machine_id not in self._extruder_trains:
self._extruder_trains[machine_id] = {}
changed = True
# do not register if an extruder has already been registered at the position on this machine
if any(item.getId() == extruder_train.getId() for item in self._extruder_trains[machine_id].values()):
Logger.log("w", "Extruder [%s] has already been registered on machine [%s], not doing anything",
extruder_train.getId(), machine_id)
return
if extruder_train:
self._extruder_trains[machine_id][extruder_train.getMetaDataEntry("position")] = extruder_train
changed = True
if changed:
self.extrudersChanged.emit(machine_id)
## Gets a property of a setting for all extruders. ## Gets a property of a setting for all extruders.
# #
# \param setting_key \type{str} The setting to get the property of. # \param setting_key \type{str} The setting to get the property of.

View File

@ -44,9 +44,6 @@ class ExtruderStack(CuraContainerStack):
stack.addExtruder(self) stack.addExtruder(self)
self.setMetaDataEntry("machine", stack.id) self.setMetaDataEntry("machine", stack.id)
# For backward compatibility: Register the extruder with the Extruder Manager
ExtruderManager.getInstance().registerExtruder(self, stack.id)
@override(ContainerStack) @override(ContainerStack)
def getNextStack(self) -> Optional["GlobalStack"]: def getNextStack(self) -> Optional["GlobalStack"]:
return super().getNextStack() return super().getNextStack()

View File

@ -915,7 +915,7 @@ class MachineManager(QObject):
@pyqtSlot(int, bool) @pyqtSlot(int, bool)
def setExtruderEnabled(self, position: int, enabled: bool) -> None: def setExtruderEnabled(self, position: int, enabled: bool) -> None:
if self._global_container_stack is None or str(position) not in self._global_container_stack.extruders: if self._global_container_stack is None or position >= len(self._global_container_stack.extruderList):
Logger.log("w", "Could not find extruder on position %s.", position) Logger.log("w", "Could not find extruder on position %s.", position)
return return
extruder = self._global_container_stack.extruderList[position] extruder = self._global_container_stack.extruderList[position]
@ -1073,14 +1073,14 @@ class MachineManager(QObject):
self._global_container_stack.quality = quality_container self._global_container_stack.quality = quality_container
self._global_container_stack.qualityChanges = quality_changes_container self._global_container_stack.qualityChanges = quality_changes_container
for position, extruder in self._global_container_stack.extruders.items(): for position, extruder in enumerate(self._global_container_stack.extruderList):
quality_node = None quality_node = None
if quality_group is not None: if quality_group is not None:
quality_node = quality_group.nodes_for_extruders.get(int(position)) quality_node = quality_group.nodes_for_extruders.get(position)
quality_changes_container = empty_quality_changes_container quality_changes_container = empty_quality_changes_container
quality_container = empty_quality_container quality_container = empty_quality_container
quality_changes_metadata = quality_changes_group.metadata_per_extruder.get(int(position)) quality_changes_metadata = quality_changes_group.metadata_per_extruder.get(position)
if quality_changes_metadata: if quality_changes_metadata:
containers = container_registry.findContainers(id = quality_changes_metadata["id"]) containers = container_registry.findContainers(id = quality_changes_metadata["id"])
if containers: if containers:
@ -1099,7 +1099,7 @@ class MachineManager(QObject):
def _setVariantNode(self, position: str, variant_node: "VariantNode") -> None: def _setVariantNode(self, position: str, variant_node: "VariantNode") -> None:
if self._global_container_stack is None: if self._global_container_stack is None:
return return
self._global_container_stack.extruders[position].variant = variant_node.container self._global_container_stack.extruderList[int(position)].variant = variant_node.container
self.activeVariantChanged.emit() self.activeVariantChanged.emit()
def _setGlobalVariant(self, container_node: "ContainerNode") -> None: def _setGlobalVariant(self, container_node: "ContainerNode") -> None:
@ -1114,7 +1114,7 @@ class MachineManager(QObject):
return return
if material_node and material_node.container: if material_node and material_node.container:
material_container = material_node.container material_container = material_node.container
self._global_container_stack.extruders[position].material = material_container self._global_container_stack.extruderList[int(position)].material = material_container
root_material_id = material_container.getMetaDataEntry("base_file", None) root_material_id = material_container.getMetaDataEntry("base_file", None)
else: else:
self._global_container_stack.extruderList[int(position)].material = empty_material_container self._global_container_stack.extruderList[int(position)].material = empty_material_container
@ -1214,7 +1214,7 @@ class MachineManager(QObject):
if self._global_container_stack is None: if self._global_container_stack is None:
return return
if position is None: if position is None:
position_list = list(self._global_container_stack.extruders.keys()) position_list = [str(position) for position in range(len(self._global_container_stack.extruderList))]
else: else:
position_list = [position] position_list = [position]
@ -1286,17 +1286,15 @@ class MachineManager(QObject):
# Keep a temporary copy of the global and per-extruder user changes and transfer them to the user changes # Keep a temporary copy of the global and per-extruder user changes and transfer them to the user changes
# of the new machine after the new_machine becomes active. # of the new machine after the new_machine becomes active.
global_user_changes = self._global_container_stack.userChanges global_user_changes = self._global_container_stack.userChanges
per_extruder_user_changes = {} per_extruder_user_changes = [extruder_stack.userChanges for extruder_stack in self._global_container_stack.extruderList]
for extruder_name, extruder_stack in self._global_container_stack.extruders.items():
per_extruder_user_changes[extruder_name] = extruder_stack.userChanges
self.setActiveMachine(new_machine.getId()) self.setActiveMachine(new_machine.getId())
# Apply the global and per-extruder userChanges to the new_machine (which is of different type than the # Apply the global and per-extruder userChanges to the new_machine (which is of different type than the
# previous one). # previous one).
self._global_container_stack.setUserChanges(global_user_changes) self._global_container_stack.setUserChanges(global_user_changes)
for extruder_name in self._global_container_stack.extruders.keys(): for i, user_changes in enumerate(per_extruder_user_changes):
self._global_container_stack.extruders[extruder_name].setUserChanges(per_extruder_user_changes[extruder_name]) self._global_container_stack.extruderList[i].setUserChanges(per_extruder_user_changes[i])
@pyqtSlot(QObject) @pyqtSlot(QObject)
def applyRemoteConfiguration(self, configuration: PrinterConfigurationModel) -> None: def applyRemoteConfiguration(self, configuration: PrinterConfigurationModel) -> None:
@ -1354,7 +1352,7 @@ class MachineManager(QObject):
material_container_node = variant_node.materials.get(base_file, material_container_node) material_container_node = variant_node.materials.get(base_file, material_container_node)
self._setMaterial(position, material_container_node) self._setMaterial(position, material_container_node)
self._global_container_stack.extruders[position].setEnabled(True) self._global_container_stack.extruderList[int(position)].setEnabled(True)
self.updateMaterialWithVariant(position) self.updateMaterialWithVariant(position)
self.updateDefaultExtruder() self.updateDefaultExtruder()
@ -1405,7 +1403,7 @@ class MachineManager(QObject):
@pyqtSlot(str, "QVariant") @pyqtSlot(str, "QVariant")
def setMaterial(self, position: str, container_node, global_stack: Optional["GlobalStack"] = None) -> None: def setMaterial(self, position: str, container_node, global_stack: Optional["GlobalStack"] = None) -> None:
if global_stack is not None and global_stack != self._global_container_stack: if global_stack is not None and global_stack != self._global_container_stack:
global_stack.extruders[position].material = container_node.container global_stack.extruderList[int(position)].material = container_node.container
return return
position = str(position) position = str(position)
self.blurSettings.emit() self.blurSettings.emit()
@ -1590,7 +1588,7 @@ class MachineManager(QObject):
return return
with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue): with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue):
self._setQualityGroup(self.activeQualityGroup()) self._setQualityGroup(self.activeQualityGroup())
for stack in [self._global_container_stack] + list(self._global_container_stack.extruders.values()): for stack in [self._global_container_stack] + self._global_container_stack.extruderList:
stack.userChanges.clear() stack.userChanges.clear()
@pyqtProperty(QObject, fset = setQualityChangesGroup, notify = activeQualityChangesGroupChanged) @pyqtProperty(QObject, fset = setQualityChangesGroup, notify = activeQualityChangesGroupChanged)

View File

@ -63,14 +63,17 @@ if with_sentry_sdk:
# Errors to be ignored by Sentry # Errors to be ignored by Sentry
ignore_errors = [KeyboardInterrupt, MemoryError] ignore_errors = [KeyboardInterrupt, MemoryError]
sentry_sdk.init("https://5034bf0054fb4b889f82896326e79b13@sentry.io/1821564", try:
before_send = CrashHandler.sentryBeforeSend, sentry_sdk.init("https://5034bf0054fb4b889f82896326e79b13@sentry.io/1821564",
environment = sentry_env, before_send = CrashHandler.sentryBeforeSend,
release = "cura%s" % ApplicationMetadata.CuraVersion, environment = sentry_env,
default_integrations = False, release = "cura%s" % ApplicationMetadata.CuraVersion,
max_breadcrumbs = 300, default_integrations = False,
server_name = "cura", max_breadcrumbs = 300,
ignore_errors = ignore_errors) server_name = "cura",
ignore_errors = ignore_errors)
except Exception:
with_sentry_sdk = False
if not known_args["debug"]: if not known_args["debug"]:
def get_cura_dir_path(): def get_cura_dir_path():

View File

@ -623,8 +623,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
machine_name = self._container_registry.uniqueName(self._machine_info.name) machine_name = self._container_registry.uniqueName(self._machine_info.name)
global_stack = CuraStackBuilder.createMachine(machine_name, self._machine_info.definition_id) global_stack = CuraStackBuilder.createMachine(machine_name, self._machine_info.definition_id)
if global_stack: #Only switch if creating the machine was successful. if global_stack: # Only switch if creating the machine was successful.
extruder_stack_dict = global_stack.extruders extruder_stack_dict = {str(position): extruder for position, extruder in enumerate(global_stack.extruderList)}
self._container_registry.addContainer(global_stack) self._container_registry.addContainer(global_stack)
else: else:

View File

@ -251,7 +251,7 @@ class StartSliceJob(Job):
global_stack = CuraApplication.getInstance().getGlobalContainerStack() global_stack = CuraApplication.getInstance().getGlobalContainerStack()
if not global_stack: if not global_stack:
return return
extruders_enabled = {position: stack.isEnabled for position, stack in global_stack.extruders.items()} extruders_enabled = [stack.isEnabled for stack in global_stack.extruderList]
filtered_object_groups = [] filtered_object_groups = []
has_model_with_disabled_extruders = False has_model_with_disabled_extruders = False
associated_disabled_extruders = set() associated_disabled_extruders = set()
@ -261,7 +261,7 @@ class StartSliceJob(Job):
for node in group: for node in group:
# Only check if the printing extruder is enabled for printing meshes # Only check if the printing extruder is enabled for printing meshes
is_non_printing_mesh = node.callDecoration("evaluateIsNonPrintingMesh") is_non_printing_mesh = node.callDecoration("evaluateIsNonPrintingMesh")
extruder_position = node.callDecoration("getActiveExtruderPosition") extruder_position = int(node.callDecoration("getActiveExtruderPosition"))
if not is_non_printing_mesh and not extruders_enabled[extruder_position]: if not is_non_printing_mesh and not extruders_enabled[extruder_position]:
skip_group = True skip_group = True
has_model_with_disabled_extruders = True has_model_with_disabled_extruders = True
@ -271,8 +271,8 @@ class StartSliceJob(Job):
if has_model_with_disabled_extruders: if has_model_with_disabled_extruders:
self.setResult(StartJobResult.ObjectsWithDisabledExtruder) self.setResult(StartJobResult.ObjectsWithDisabledExtruder)
associated_disabled_extruders = {str(c) for c in sorted([int(p) + 1 for p in associated_disabled_extruders])} associated_disabled_extruders = {p + 1 for p in associated_disabled_extruders}
self.setMessage(", ".join(associated_disabled_extruders)) self.setMessage(", ".join(map(str, sorted(associated_disabled_extruders))))
return return
# There are cases when there is nothing to slice. This can happen due to one at a time slicing not being # There are cases when there is nothing to slice. This can happen due to one at a time slicing not being

View File

@ -60,16 +60,12 @@ UM.Dialog
CheckBox CheckBox
{ {
id: toggleShowAll id: toggleShowAll
anchors anchors
{ {
top: parent.top top: parent.top
right: parent.right right: parent.right
} }
text: catalog.i18nc("@label:checkbox", "Show all") text: catalog.i18nc("@label:checkbox", "Show all")
checked: listview.model.showAll
onClicked: listview.model.showAll = checked
} }
ScrollView ScrollView
@ -85,7 +81,7 @@ UM.Dialog
} }
ListView ListView
{ {
id:listview id: listview
model: UM.SettingDefinitionsModel model: UM.SettingDefinitionsModel
{ {
id: definitionsModel id: definitionsModel
@ -98,6 +94,7 @@ UM.Dialog
excluded_settings = excluded_settings.concat(settingPickDialog.additional_excluded_settings) excluded_settings = excluded_settings.concat(settingPickDialog.additional_excluded_settings)
return excluded_settings return excluded_settings
} }
showAll: toggleShowAll.checked || filterInput.text !== ""
} }
delegate:Loader delegate:Loader
{ {

View File

@ -2,11 +2,44 @@
# Cura is released under the terms of the LGPLv3 or higher. # Cura is released under the terms of the LGPLv3 or higher.
import configparser import configparser
import copy # To split up files.
from typing import Tuple, List from typing import Tuple, List
import io import io
from UM.VersionUpgrade import VersionUpgrade from UM.VersionUpgrade import VersionUpgrade
renamed_nozzles = {
"deltacomb_025_e3d": "deltacomb_dc20_fbe025",
"deltacomb_040_e3d": "deltacomb_dc20_fbe040",
"deltacomb_080_e3d": "deltacomb_dc20_vfbe080"
}
default_qualities_per_nozzle_and_material = {
# Can't define defaults for user-defined materials, since we only have the material ID. Those will get reset to empty quality :(
"deltacomb_dc20_fbe025": {
"generic_pla_175": "deltacomb_FBE0.25_PLA_C",
"generic_abs_175": "deltacomb_FBE0.25_ABS_C"
},
"deltacomb_dc20_fbe040": {
"generic_pla_175": "deltacomb_FBE0.40_PLA_C",
"generic_abs_175": "deltacomb_FBE0.40_ABS_C",
"generic_petg_175": "deltacomb_FBE0.40_PETG_C",
"generic_tpu_175": "deltacomb_FBE0.40_TPU_C"
},
"deltacomb_dc20_vfbe080": {
"generic_pla_175": "deltacomb_VFBE0.80_PLA_D",
"generic_abs_175": "deltacomb_VFBE0.80_ABS_D"
}
}
class VersionUpgrade460to462(VersionUpgrade): class VersionUpgrade460to462(VersionUpgrade):
def getCfgVersion(self, serialised: str) -> int:
parser = configparser.ConfigParser(interpolation = None)
parser.read_string(serialised)
format_version = int(parser.get("general", "version")) # Explicitly give an exception when this fails. That means that the file format is not recognised.
setting_version = int(parser.get("metadata", "setting_version", fallback = "0"))
return format_version * 1000000 + setting_version
def upgradePreferences(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: def upgradePreferences(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
""" """
Upgrades preferences to have the new version number. Upgrades preferences to have the new version number.
@ -25,6 +58,66 @@ class VersionUpgrade460to462(VersionUpgrade):
parser.write(result) parser.write(result)
return [filename], [result.getvalue()] return [filename], [result.getvalue()]
def upgradeExtruderInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
"""
Upgrades per-extruder instance containers to the new version number.
This applies all of the changes that are applied in other instance
containers as well.
In the case of Deltacomb printers, it splits the 2 extruders into 4 and
changes the definition.
:param serialized: The original contents of the instance container.
:param filename: The original file name of the instance container.
:return: A list of new file names, and a list of the new contents for
those files.
"""
parser = configparser.ConfigParser(interpolation = None, comment_prefixes = ())
parser.read_string(serialized)
results = [(parser, filename)]
if "general" in parser and "definition" in parser["general"]:
if parser["general"]["definition"] == "deltacomb_extruder_0":
parser["general"]["definition"] = "deltacomb_base_extruder_0"
elif parser["general"]["definition"] == "deltacomb_extruder_1": # Split up the second Deltacomb extruder into 3, creating an extra two extruders.
parser_e2 = configparser.ConfigParser(interpolation = None)
parser_e3 = configparser.ConfigParser(interpolation = None)
parser_e2.read_dict(parser)
parser_e3.read_dict(parser)
parser["general"]["definition"] = "deltacomb_base_extruder_1"
parser_e2["general"]["definition"] = "deltacomb_base_extruder_2"
parser_e3["general"]["definition"] = "deltacomb_base_extruder_3"
results.append((parser_e2, filename + "_e2_upgrade")) # Hopefully not already taken.
results.append((parser_e3, filename + "_e3_upgrade"))
elif parser["general"]["definition"] == "deltacomb": # On the global stack, the per-extruder user container OR the per-extruder quality changes container.
parser["general"]["definition"] = "deltacomb_dc20"
if "metadata" in parser and ("extruder" in parser["metadata"] or "position" in parser["metadata"]): # Per-extruder user container or quality changes container.
parser_e2 = configparser.ConfigParser(interpolation = None)
parser_e3 = configparser.ConfigParser(interpolation = None)
parser_e2.read_dict(parser)
parser_e3.read_dict(parser)
if "extruder" in parser["metadata"]:
parser_e2["metadata"]["extruder"] += "_e2_upgrade"
parser_e3["metadata"]["extruder"] += "_e3_upgrade"
results.append((parser_e2, filename + "_e2_upgrade"))
results.append((parser_e3, filename + "_e3_upgrade"))
# Now go upgrade with the generic instance container method.
final_serialized = [] # type: List[str]
final_filenames = [] # type: List[str]
for result_parser, result_filename in results:
result_ss = io.StringIO()
result_parser.write(result_ss)
result_serialized = result_ss.getvalue()
# The upgrade function itself might also return multiple files, so we need to append all of those into the final list.
this_filenames_upgraded, this_serialized_upgraded = self.upgradeInstanceContainer(result_serialized, result_filename)
final_serialized += this_serialized_upgraded
final_filenames += this_filenames_upgraded
return final_filenames, final_serialized
def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
""" """
Upgrades instance containers to have the new version number. Upgrades instance containers to have the new version number.
@ -62,6 +155,9 @@ class VersionUpgrade460to462(VersionUpgrade):
def upgradeStack(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: def upgradeStack(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]:
""" """
Upgrades stacks to have the new version number. Upgrades stacks to have the new version number.
This upgrades Deltacomb printers to their new profile structure, and
gives them 4 extruders.
:param serialized: The original contents of the stack. :param serialized: The original contents of the stack.
:param filename: The original file name of the stack. :param filename: The original file name of the stack.
:return: A list of new file names, and a list of the new contents for :return: A list of new file names, and a list of the new contents for
@ -69,12 +165,56 @@ class VersionUpgrade460to462(VersionUpgrade):
""" """
parser = configparser.ConfigParser(interpolation = None) parser = configparser.ConfigParser(interpolation = None)
parser.read_string(serialized) parser.read_string(serialized)
results = [(parser, filename)]
# Update version number. # Update version number.
if "metadata" not in parser: if "metadata" not in parser:
parser["metadata"] = {} parser["metadata"] = {}
parser["metadata"]["setting_version"] = "14" parser["metadata"]["setting_version"] = "14"
result = io.StringIO() if "containers" in parser and "7" in parser["containers"]:
parser.write(result) if parser["containers"]["7"] == "deltacomb_extruder_0" or parser["containers"]["7"] == "deltacomb_extruder_1": # Extruder stack.
return [filename], [result.getvalue()] if "5" in parser["containers"]:
parser["containers"]["5"] = renamed_nozzles.get(parser["containers"]["5"], parser["containers"]["5"])
if "3" in parser["containers"] and "4" in parser["containers"] and parser["containers"]["3"] == "empty_quality":
parser["containers"]["3"] = default_qualities_per_nozzle_and_material[parser["containers"]["5"]].get(parser["containers"]["4"], "empty_quality")
if parser["containers"]["7"] == "deltacomb_extruder_0":
parser["containers"]["7"] = "deltacomb_base_extruder_0"
else:
parser["containers"]["7"] = "deltacomb_base_extruder_1"
# Copy this extruder to extruder 3 and 4.
extruder3 = configparser.ConfigParser(interpolation=None)
extruder4 = configparser.ConfigParser(interpolation=None)
extruder3.read_dict(parser)
extruder4.read_dict(parser)
extruder3["general"]["id"] += "_e2_upgrade"
extruder3["metadata"]["position"] = "2"
extruder3["containers"]["0"] += "_e2_upgrade"
if extruder3["containers"]["1"] != "empty_quality_changes":
extruder3["containers"]["1"] += "_e2_upgrade"
extruder3["containers"]["6"] += "_e2_upgrade"
extruder3["containers"]["7"] = "deltacomb_base_extruder_2"
results.append((extruder3, filename + "_e2_upgrade"))
extruder4["general"]["id"] += "_e3_upgrade"
extruder4["metadata"]["position"] = "3"
extruder4["containers"]["0"] += "_e3_upgrade"
if extruder4["containers"]["1"] != "empty_quality_changes":
extruder4["containers"]["1"] += "_e3_upgrade"
extruder4["containers"]["6"] += "_e3_upgrade"
extruder4["containers"]["7"] = "deltacomb_base_extruder_3"
results.append((extruder4, filename + "_e3_upgrade"))
elif parser["containers"]["7"] == "deltacomb": # Global stack.
parser["containers"]["7"] = "deltacomb_dc20"
parser["containers"]["3"] = "deltacomb_global_C"
result_serialized = []
result_filenames = []
for result_parser, result_filename in results:
result_ss = io.StringIO()
result_parser.write(result_ss)
result_serialized.append(result_ss.getvalue())
result_filenames.append(result_filename)
return result_filenames, result_serialized

View File

@ -17,10 +17,10 @@ def getMetaData() -> Dict[str, Any]:
("preferences", 6000013): ("preferences", 6000014, upgrade.upgradePreferences), ("preferences", 6000013): ("preferences", 6000014, upgrade.upgradePreferences),
("machine_stack", 4000013): ("machine_stack", 4000014, upgrade.upgradeStack), ("machine_stack", 4000013): ("machine_stack", 4000014, upgrade.upgradeStack),
("extruder_train", 4000013): ("extruder_train", 4000014, upgrade.upgradeStack), ("extruder_train", 4000013): ("extruder_train", 4000014, upgrade.upgradeStack),
("definition_changes", 4000013): ("definition_changes", 4000014, upgrade.upgradeInstanceContainer), ("definition_changes", 4000013): ("definition_changes", 4000014, upgrade.upgradeExtruderInstanceContainer),
("quality_changes", 4000013): ("quality_changes", 4000014, upgrade.upgradeInstanceContainer), ("quality_changes", 4000013): ("quality_changes", 4000014, upgrade.upgradeExtruderInstanceContainer),
("quality", 4000013): ("quality", 4000014, upgrade.upgradeInstanceContainer), ("quality", 4000013): ("quality", 4000014, upgrade.upgradeExtruderInstanceContainer),
("user", 4000013): ("user", 4000014, upgrade.upgradeInstanceContainer), ("user", 4000013): ("user", 4000014, upgrade.upgradeExtruderInstanceContainer),
}, },
"sources": { "sources": {
"preferences": { "preferences": {

View File

@ -1,66 +0,0 @@
{
"version": 2,
"name": "Deltacomb 3D",
"inherits": "fdmprinter",
"metadata": {
"author": "Gabriele Rossetti",
"visible": true,
"manufacturer": "Deltacomb 3D",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker2",
"platform": "deltacomb.3mf",
"has_machine_quality": true,
"has_materials": true,
"has_variants": true,
"variants_name": "Head",
"preferred_variant_name": "E3D 0.40mm",
"preferred_material": "generic_pla",
"preferred_quality_type": "normal",
"machine_extruder_trains": { "0": "deltacomb_extruder_0", "1": "deltacomb_extruder_1" }
},
"overrides": {
"machine_extruder_count": { "default_value": 1 },
"machine_heated_bed": { "default_value": true },
"machine_width": { "default_value": 190 },
"machine_height": { "default_value": 250 },
"machine_depth": { "default_value": 190 },
"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 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" },
"retraction_hop_enabled": { "default_value": true },
"retraction_hop": { "default_value": 1 },
"retraction_amount" : { "default_value": 3.5 },
"retraction_speed" : { "default_value": 30 },
"retraction_combing" : { "default_value": "noskin" },
"travel_avoid_distance": { "value": "1" },
"speed_print" : { "default_value": 80 },
"speed_infill": { "value": "round(speed_print * 1.05, 0)" },
"speed_topbottom": { "value": "round(speed_print * 0.95, 0)" },
"speed_wall": { "value": "speed_print" },
"speed_wall_0": { "value": "30" },
"speed_wall_x": { "value": "speed_wall" },
"speed_layer_0": { "value": "min(round(speed_print * 0.75, 0), 45.0)" },
"speed_travel": { "value": 150 },
"speed_travel_layer_0": { "value": "round(speed_travel * 0.7, 0)" },
"skirt_brim_speed": { "value": "speed_layer_0" },
"skirt_line_count": { "default_value": 3 },
"skirt_brim_minimal_length": { "default_value": 150 },
"infill_sparse_density": { "default_value": 30 },
"infill_pattern": { "value": "'cubic'" },
"infill_before_walls" : { "default_value": false },
"top_bottom_thickness": { "default_value": 0.8 },
"support_z_distance": { "value": "layer_height * 2" },
"support_bottom_distance": { "value": "layer_height" },
"support_use_towers" : { "default_value": false },
"jerk_enabled": { "value": "True" },
"jerk_infill" : { "value": "5" },
"jerk_support" : { "value": "5" },
"acceleration_enabled": { "value": "1" },
"acceleration_travel" : { "value": 5000 },
"machine_max_feedrate_z" : { "default_value": 300 }
}
}

View File

@ -0,0 +1,92 @@
{
"version": 2,
"name": "Deltacomb Base Printer",
"inherits": "fdmprinter",
"metadata": {
"author": "Gabriele Rossetti",
"visible": false,
"manufacturer": "Deltacomb 3D Printers",
"file_formats": "text/x-gcode",
"has_machine_quality": true,
"has_materials": true,
"has_variants": true,
"variants_name": "Head",
"preferred_quality_type": "d",
"preferred_material": "generic_pla",
"machine_extruder_trains": {
"0": "deltacomb_base_extruder_0",
"1": "deltacomb_base_extruder_1",
"2": "deltacomb_base_extruder_2",
"3": "deltacomb_base_extruder_3"
}
},
"overrides": {
"machine_extruder_count": { "default_value": 1, "maximum_value": "4" },
"machine_heated_bed": { "default_value": true },
"machine_center_is_zero": { "default_value": true },
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": { "default_value": ";---------------------------------------\n;Deltacomb start script\n;---------------------------------------\nG21 ;metric values\nG90 ;absolute positioning\nM107 ;start with the fan off\nG28 ;Home all axes (max endstops)\nG92 E0 ;zero the extruded length\nG1 Z15.0 F9000 ;move to the platform down 15mm\nG1 F9000\n\n;Put printing message on LCD screen\nM117 Printing...\n;---------------------------------------"},
"machine_end_gcode": { "default_value": ";---------------------------------------\n;Deltacomb end script\n;---------------------------------------\nG91 ;relative positioning\nG1 F15000 X8.0 E-4.5 ;Wipe filament+material retraction\nG1 F15000 E4.0 Z1 ;Retraction compensation\nG28 ;Home all axes (max endstops)\nM84 ;steppers off\n" },
"machine_shape": { "default_value": "elliptic" },
"machine_max_feedrate_z" : { "default_value": 300 },
"speed_print" : { "default_value": 80 },
"speed_topbottom": { "value": "speed_print * 0.90" },
"speed_wall_0": { "value": "35 if speed_print > 35 else speed_print" },
"speed_layer_0": { "value": "speed_print * 0.55" },
"speed_travel": { "value": "170" },
"speed_travel_layer_0": { "value": "speed_travel * 0.70" },
"speed_z_hop": { "value": "speed_travel" },
"acceleration_enabled": { "value": "True" },
"acceleration_travel" : { "value": "9000" },
"acceleration_print": { "value": "4000" },
"acceleration_wall": { "value": "acceleration_print * 0.5" },
"acceleration_wall_0": { "value": "acceleration_wall * 0.5" },
"acceleration_topbottom": { "value": "acceleration_wall_0" },
"acceleration_layer_0": { "value": "acceleration_wall_0" },
"acceleration_prime_tower": { "value": "acceleration_wall" },
"acceleration_support": { "value": "acceleration_wall" },
"acceleration_support_interface": { "value": "acceleration_wall_0" },
"jerk_enabled": { "value": "True" },
"jerk_print": { "value": "25" },
"jerk_infill": { "value": "10" },
"jerk_travel": { "value": "10" },
"retraction_hop_enabled": { "default_value": true },
"retraction_hop": { "default_value": 0.5 },
"retraction_amount" : { "default_value": 3.5 },
"retraction_speed" : { "default_value": 70 },
"retraction_combing" : { "default_value": "noskin" },
"travel_avoid_distance": { "value": "1" },
"top_bottom_thickness": { "default_value": 0.8 },
"roofing_layer_count": { "value": "1" },
"roofing_line_width": { "value": "line_width * 0.75" },
"infill_sparse_density": { "default_value": 30 },
"infill_pattern": { "value": "'cubic'" },
"infill_before_walls": { "default_value": false },
"support_z_distance": { "value": "layer_height * 2" },
"support_bottom_distance": { "value": "layer_height" },
"support_use_towers" : { "default_value": false },
"support_bottom_enable" : { "value": "0" },
"skirt_brim_speed": { "value": "speed_layer_0" },
"skirt_line_count": { "default_value": 3 },
"skirt_brim_minimal_length": { "default_value": 150 },
"brim_width": { "value": "3" },
"prime_tower_size": { "value": "math.sqrt(extruders_enabled_count * prime_tower_min_volume / layer_height / math.pi) * 2"},
"prime_tower_position_x": { "value": "prime_tower_size - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' or (prime_tower_brim_enable and adhesion_type != 'raft') 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)" },
"prime_tower_position_y": { "value": "machine_depth / 2 - prime_tower_size - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' or (prime_tower_brim_enable and adhesion_type != 'raft') 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" }
}
}

View File

@ -0,0 +1,20 @@
{
"version": 2,
"name": "Deltacomb DC-20",
"inherits": "deltacomb_base",
"metadata": {
"visible": true,
"platform": "deltacomb_dc20.stl",
"quality_definition": "deltacomb_base",
"preferred_variant_name": "FBE 0.40mm"
},
"overrides": {
"machine_name": { "default_value": "Deltacomb DC-20" },
"machine_width": { "default_value": 190 },
"machine_depth": { "default_value": 190 },
"machine_height": { "default_value": 250 },
"machine_extruder_count": { "default_value": 1, "maximum_value": "4" }
}
}

View File

@ -0,0 +1,24 @@
{
"version": 2,
"name": "Deltacomb DC-20 DUAL",
"inherits": "deltacomb_base",
"metadata": {
"visible": true,
"platform": "deltacomb_dc20.stl",
"quality_definition": "deltacomb_base",
"preferred_variant_name": "DBE 0.40mm",
"machine_extruder_trains": {
"0": "deltacomb_dc20dual_extruder_0",
"1": "deltacomb_dc20dual_extruder_1"
}
},
"overrides": {
"machine_name": { "default_value": "Deltacomb DC-20 DUAL" },
"machine_extruder_count": { "default_value": 2, "maximum_value": "2" },
"machine_width": { "default_value": 190 },
"machine_depth": { "default_value": 190 },
"machine_height": { "default_value": 250 }
}
}

View File

@ -0,0 +1,29 @@
{
"version": 2,
"name": "Deltacomb DC-20 FLUX",
"inherits": "deltacomb_base",
"metadata": {
"visible": true,
"platform": "deltacomb_dc20.stl",
"quality_definition": "deltacomb_base",
"preferred_variant_name": "FBE 0.40mm",
"machine_extruder_trains": {
"0": "deltacomb_dc20flux_extruder_0",
"1": "deltacomb_dc20flux_extruder_1",
"2": "deltacomb_dc20flux_extruder_2",
"3": "deltacomb_dc20flux_extruder_3"
}
},
"overrides": {
"machine_name": { "default_value": "Deltacomb DC-20 FLUX" },
"machine_width": { "default_value": 190 },
"machine_depth": { "default_value": 190 },
"machine_height": { "default_value": 250 },
"machine_extruder_count": { "default_value": 2, "maximum_value": "4" },
"switch_extruder_retraction_amount": { "value": "0" },
"prime_tower_min_volume": { "value": "45" },
"prime_tower_enable": { "value": "1" }
}
}

View File

@ -0,0 +1,20 @@
{
"version": 2,
"name": "Deltacomb DC-21",
"inherits": "deltacomb_base",
"metadata": {
"visible": true,
"platform": "deltacomb_dc20.stl",
"quality_definition": "deltacomb_base",
"preferred_variant_name": "FBE 0.40mm"
},
"overrides": {
"machine_name": { "default_value": "Deltacomb DC-21" },
"machine_width": { "default_value": 190 },
"machine_depth": { "default_value": 190 },
"machine_height": { "default_value": 400 },
"machine_extruder_count": { "default_value": 1, "maximum_value": "4" }
}
}

View File

@ -0,0 +1,24 @@
{
"version": 2,
"name": "Deltacomb DC-21 DUAL",
"inherits": "deltacomb_base",
"metadata": {
"visible": true,
"platform": "deltacomb_dc20.stl",
"quality_definition": "deltacomb_base",
"preferred_variant_name": "DBE 0.40mm",
"machine_extruder_trains": {
"0": "deltacomb_dc20dual_extruder_0",
"1": "deltacomb_dc20dual_extruder_1"
}
},
"overrides": {
"machine_name": { "default_value": "Deltacomb DC-20 DUAL" },
"machine_extruder_count": { "default_value": 2, "maximum_value": "2" },
"machine_width": { "default_value": 190 },
"machine_depth": { "default_value": 190 },
"machine_height": { "default_value": 400 }
}
}

View File

@ -0,0 +1,29 @@
{
"version": 2,
"name": "Deltacomb DC-21 FLUX",
"inherits": "deltacomb_base",
"metadata": {
"visible": true,
"platform": "deltacomb_dc20.stl",
"quality_definition": "deltacomb_base",
"preferred_variant_name": "FBE 0.40mm",
"machine_extruder_trains": {
"0": "deltacomb_dc20flux_extruder_0",
"1": "deltacomb_dc20flux_extruder_1",
"2": "deltacomb_dc20flux_extruder_2",
"3": "deltacomb_dc20flux_extruder_3"
}
},
"overrides": {
"machine_name": { "default_value": "Deltacomb DC-20 FLUX" },
"machine_width": { "default_value": 190 },
"machine_depth": { "default_value": 190 },
"machine_height": { "default_value": 400 },
"machine_extruder_count": { "default_value": 2, "maximum_value": "4" },
"switch_extruder_retraction_amount": { "value": "0" },
"prime_tower_min_volume": { "value": "45" },
"prime_tower_enable": { "value": "1" }
}
}

View File

@ -0,0 +1,20 @@
{
"version": 2,
"name": "Deltacomb DC-30",
"inherits": "deltacomb_base",
"metadata": {
"visible": true,
"platform": "deltacomb_dc30.stl",
"quality_definition": "deltacomb_base",
"preferred_variant_name": "FBE 0.40mm"
},
"overrides": {
"machine_name": { "default_value": "Deltacomb DC-30" },
"machine_width": { "default_value": 290 },
"machine_depth": { "default_value": 290 },
"machine_height": { "default_value": 300 },
"machine_extruder_count": { "default_value": 1, "maximum_value": "4" }
}
}

View File

@ -0,0 +1,24 @@
{
"version": 2,
"name": "Deltacomb DC-30 DUAL",
"inherits": "deltacomb_base",
"metadata": {
"visible": true,
"platform": "deltacomb_dc30.stl",
"quality_definition": "deltacomb_base",
"preferred_variant_name": "DBE 0.40mm",
"machine_extruder_trains": {
"0": "deltacomb_dc30dual_extruder_0",
"1": "deltacomb_dc30dual_extruder_1"
}
},
"overrides": {
"machine_name": { "default_value": "Deltacomb DC-30 DUAL" },
"machine_width": { "default_value": 290 },
"machine_depth": { "default_value": 290 },
"machine_height": { "default_value": 300 },
"machine_extruder_count": { "default_value": 2, "maximum_value": "2" }
}
}

View File

@ -0,0 +1,29 @@
{
"version": 2,
"name": "Deltacomb DC-30 FLUX",
"inherits": "deltacomb_base",
"metadata": {
"visible": true,
"platform": "deltacomb_dc30.stl",
"quality_definition": "deltacomb_base",
"preferred_variant_name": "FBE 0.40mm",
"machine_extruder_trains": {
"0": "deltacomb_dc30flux_extruder_0",
"1": "deltacomb_dc30flux_extruder_1",
"2": "deltacomb_dc30flux_extruder_2",
"3": "deltacomb_dc30flux_extruder_3"
}
},
"overrides": {
"machine_name": { "default_value": "Deltacomb DC-30 FLUX" },
"machine_width": { "default_value": 290 },
"machine_depth": { "default_value": 290 },
"machine_height": { "default_value": 300 },
"machine_extruder_count": { "default_value": 2, "maximum_value": "4" },
"switch_extruder_retraction_amount": { "value": "0" },
"prime_tower_min_volume": { "value": "45" },
"prime_tower_enable": { "value": "1" }
}
}

View File

@ -0,0 +1,19 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_base",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0, "maximum_value": "3" },
"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_code": { "default_value": ";Deltacomb Extruder 1\n;Put your custom code here"},
"machine_extruder_end_code": { "default_value": ";Deltacomb Extruder 1\n;Put your custom code here"}
}
}

View File

@ -0,0 +1,19 @@
{
"version": 2,
"name": "Extruder 2",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_base",
"position": "1"
},
"overrides": {
"extruder_nr": { "default_value": 1, "maximum_value": "3" },
"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_code": { "default_value": ";Deltacomb Extruder 2\n;Put your custom code here"},
"machine_extruder_end_code": { "default_value": ";Deltacomb Extruder 2\n;Put your custom code here"}
}
}

View File

@ -0,0 +1,19 @@
{
"version": 2,
"name": "Extruder 3",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_base",
"position": "2"
},
"overrides": {
"extruder_nr": { "default_value": 2, "maximum_value": "3" },
"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_code": { "default_value": ";Deltacomb Extruder 3\n;Put your custom code here"},
"machine_extruder_end_code": { "default_value": ";Deltacomb Extruder 3\n;Put your custom code here"}
}
}

View File

@ -0,0 +1,19 @@
{
"version": 2,
"name": "Extruder 4",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_base",
"position": "3"
},
"overrides": {
"extruder_nr": { "default_value": 3, "maximum_value": "3" },
"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_code": { "default_value": ";Deltacomb Extruder 4\n;Put your custom code here"},
"machine_extruder_end_code": { "default_value": ";Deltacomb Extruder 4\n;Put your custom code here"}
}
}

View File

@ -0,0 +1,19 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_dc20dual",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"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_code": { "default_value": ";DC20 Dual Extruder 1\n;Put your custom code here"},
"machine_extruder_end_code": { "default_value": ";DC20 Dual Extruder 1\n;Put your custom code here"}
}
}

View File

@ -0,0 +1,19 @@
{
"version": 2,
"name": "Extruder 2",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_dc20dual",
"position": "1"
},
"overrides": {
"extruder_nr": { "default_value": 1 },
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 },
"machine_nozzle_offset_x": { "default_value": 19 },
"machine_nozzle_offset_y": { "default_value": 0 },
"machine_extruder_start_code": { "default_value": ";DC20 Dual Extruder 2\n;Put your custom code here"},
"machine_extruder_end_code": { "default_value": ";DC20 Dual Extruder 2\n;Put your custom code here"}
}
}

View File

@ -0,0 +1,20 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_dc20flux",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"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_code": { "default_value": ";---------------------------------------\n;DC20 Flux Extruder 1 Start\n;---------------------------------------\nG92 E0 ;zero the extruded length\nG91 ;use relative coordinates\nG1 E68 F10000 ; fast insert\nG92 E0 ;zero the extruded length\nG90 ;absolute positioning\n;---------------------------------------\n;---------------------------------------"},
"machine_extruder_end_code": { "default_value": ";---------------------------------------\n;DC20 Flux Extruder 1 End\n;---------------------------------------\nG91 ;use relative coordinates\nG0 E-15 F10000\nG1 Z2 ;lift head\nG4 P3000\nG0 E14.7 F10000\nG1 E-69.7 F10000\nG90 ;absolute positioning\nG92 E0 ;zero the extruded length\n;---------------------------------------\n;---------------------------------------"}
}
}

View File

@ -0,0 +1,21 @@
{
"version": 2,
"name": "Extruder 2",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_dc20flux",
"position": "1"
},
"overrides": {
"extruder_nr": { "default_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_code": { "default_value": ";---------------------------------------\n;DC20 Flux Extruder 2 Start\n;---------------------------------------\nG92 E0 ;zero the extruded length\nG91 ;use relative coordinates\nG1 E68 F10000 ; fast insert\nG92 E0 ;zero the extruded length\nG90 ;absolute positioning\n;---------------------------------------\n;---------------------------------------"},
"machine_extruder_end_code": { "default_value": ";---------------------------------------\n;DC20 Flux Extruder 2 End\n;---------------------------------------\nG91 ;use relative coordinates\nG0 E-15 F10000\nG1 Z2 ;lift head\nG4 P3000\nG0 E14.7 F10000\nG1 E-69.7 F10000\nG90 ;absolute positioning\nG92 E0 ;zero the extruded length\n;---------------------------------------\n;---------------------------------------"},
"prime_tower_flow": { "value": "200" }
}
}

View File

@ -0,0 +1,21 @@
{
"version": 2,
"name": "Extruder 3",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_dc20flux",
"position": "2"
},
"overrides": {
"extruder_nr": { "default_value": 2 },
"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_code": { "default_value": ";---------------------------------------\n;DC20 Flux Extruder 3 Start\n;---------------------------------------\nG92 E0 ;zero the extruded length\nG91 ;use relative coordinates\nG1 E68 F10000 ; fast insert\nG92 E0 ;zero the extruded length\nG90 ;absolute positioning\n;---------------------------------------\n;---------------------------------------"},
"machine_extruder_end_code": { "default_value": ";---------------------------------------\n;DC20 Flux Extruder 3 End\n;---------------------------------------\nG91 ;use relative coordinates\nG0 E-15 F10000\nG1 Z2 ;lift head\nG4 P3000\nG0 E14.7 F10000\nG1 E-69.7 F10000\nG90 ;absolute positioning\nG92 E0 ;zero the extruded length\n;---------------------------------------\n;---------------------------------------"},
"prime_tower_flow": { "value": "200" }
}
}

View File

@ -0,0 +1,21 @@
{
"version": 2,
"name": "Extruder 4",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_dc20flux",
"position": "3"
},
"overrides": {
"extruder_nr": { "default_value": 3 },
"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_code": { "default_value": ";---------------------------------------\n;DC20 Flux Extruder 4 Start\n;---------------------------------------\nG92 E0 ;zero the extruded length\nG91 ;use relative coordinates\nG1 E68 F10000 ; fast insert\nG92 E0 ;zero the extruded length\nG90 ;absolute positioning\n;---------------------------------------\n;---------------------------------------"},
"machine_extruder_end_code": { "default_value": ";---------------------------------------\n;DC20 Flux Extruder 4 End\n;---------------------------------------\nG91 ;use relative coordinates\nG0 E-15 F10000\nG1 Z2 ;lift head\nG4 P3000\nG0 E14.7 F10000\nG1 E-69.7 F10000\nG90 ;absolute positioning\nG92 E0 ;zero the extruded length\n;---------------------------------------\n;---------------------------------------"},
"prime_tower_flow": { "value": "200" }
}
}

View File

@ -0,0 +1,19 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_dc30dual",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"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_code": { "default_value": ";DC30 Dual Extruder 1\n;Put your custom code here"},
"machine_extruder_end_code": { "default_value": ";DC30 Dual Extruder 1\n;Put your custom code here"}
}
}

View File

@ -0,0 +1,19 @@
{
"version": 2,
"name": "Extruder 2",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_dc30dual",
"position": "1"
},
"overrides": {
"extruder_nr": { "default_value": 1 },
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 },
"machine_nozzle_offset_x": { "default_value": 19 },
"machine_nozzle_offset_y": { "default_value": 0 },
"machine_extruder_start_code": { "default_value": ";DC30 Dual Extruder 2\n;Put your custom code here"},
"machine_extruder_end_code": { "default_value": ";DC30 Dual Extruder 2\n;Put your custom code here"}
}
}

View File

@ -0,0 +1,19 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_dc30flux",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"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_code": { "default_value": ";---------------------------------------\n;DC30 Flux Extruder 1 Start\n;---------------------------------------\nG92 E0 ;zero the extruded length\nG91 ;use relative coordinates\nG1 E68 F10000 ; fast insert\nG92 E0 ;zero the extruded length\nG90 ;absolute positioning\n;---------------------------------------\n;---------------------------------------"},
"machine_extruder_end_code": { "default_value": ";---------------------------------------\n;DC30 Flux Extruder 1 End\n;---------------------------------------\nG91 ;use relative coordinates\nG0 E-15 F10000\nG1 Z2 ;lift head\nG4 P3000\nG0 E14.7 F10000\nG1 E-69.7 F10000\nG90 ;absolute positioning\nG92 E0 ;zero the extruded length\n;---------------------------------------\n;---------------------------------------"}
}
}

View File

@ -0,0 +1,20 @@
{
"version": 2,
"name": "Extruder 2",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_dc30flux",
"position": "1"
},
"overrides": {
"extruder_nr": { "default_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_code": { "default_value": ";---------------------------------------\n;DC30 Flux Extruder 2 Start\n;---------------------------------------\nG92 E0 ;zero the extruded length\nG91 ;use relative coordinates\nG1 E68 F10000 ; fast insert\nG92 E0 ;zero the extruded length\nG90 ;absolute positioning\n;---------------------------------------\n;---------------------------------------"},
"machine_extruder_end_code": { "default_value": ";---------------------------------------\n;DC30 Flux Extruder 2 End\n;---------------------------------------\nG91 ;use relative coordinates\nG0 E-15 F10000\nG1 Z2 ;lift head\nG4 P3000\nG0 E14.7 F10000\nG1 E-69.7 F10000\nG90 ;absolute positioning\nG92 E0 ;zero the extruded length\n;---------------------------------------\n;---------------------------------------"},
"prime_tower_flow": { "value": "200" }
}
}

View File

@ -0,0 +1,20 @@
{
"version": 2,
"name": "Extruder 3",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_dc30flux",
"position": "2"
},
"overrides": {
"extruder_nr": { "default_value": 2 },
"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_code": { "default_value": ";---------------------------------------\n;DC30 Flux Extruder 3 Start\n;---------------------------------------\nG92 E0 ;zero the extruded length\nG91 ;use relative coordinates\nG1 E68 F10000 ; fast insert\nG92 E0 ;zero the extruded length\nG90 ;absolute positioning\n;---------------------------------------\n;---------------------------------------"},
"machine_extruder_end_code": { "default_value": ";---------------------------------------\n;DC30 Flux Extruder 3 End\n;---------------------------------------\nG91 ;use relative coordinates\nG0 E-15 F10000\nG1 Z2 ;lift head\nG4 P3000\nG0 E14.7 F10000\nG1 E-69.7 F10000\nG90 ;absolute positioning\nG92 E0 ;zero the extruded length\n;---------------------------------------\n;---------------------------------------"},
"prime_tower_flow": { "value": "200" }
}
}

View File

@ -0,0 +1,20 @@
{
"version": 2,
"name": "Extruder 4",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb_dc30flux",
"position": "3"
},
"overrides": {
"extruder_nr": { "default_value": 3 },
"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_code": { "default_value": ";---------------------------------------\n;DC30 Flux Extruder 4 Start\n;---------------------------------------\nG92 E0 ;zero the extruded length\nG91 ;use relative coordinates\nG1 E68 F10000 ; fast insert\nG92 E0 ;zero the extruded length\nG90 ;absolute positioning\n;---------------------------------------\n;---------------------------------------"},
"machine_extruder_end_code": { "default_value": ";---------------------------------------\n;DC30 Flux Extruder 4 End\n;---------------------------------------\nG91 ;use relative coordinates\nG0 E-15 F10000\nG1 Z2 ;lift head\nG4 P3000\nG0 E14.7 F10000\nG1 E-69.7 F10000\nG90 ;absolute positioning\nG92 E0 ;zero the extruded length\n;---------------------------------------\n;---------------------------------------"},
"prime_tower_flow": { "value": "200" }
}
}

View File

@ -1,17 +0,0 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"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 }
}
}

View File

@ -1,17 +0,0 @@
{
"version": 2,
"name": "Extruder 2",
"inherits": "fdmextruder",
"metadata": {
"machine": "deltacomb",
"position": "1"
},
"overrides": {
"extruder_nr": { "default_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 }
}
}

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = A
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = a
material = generic_abs
variant = DBE 0.25mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 0.5
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 80

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = B
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = b
material = generic_abs
variant = DBE 0.25mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 0.5
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 55

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = C
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = c
material = generic_abs
variant = DBE 0.25mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 0.5
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 32

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = A
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = a
material = generic_abs
variant = DBE 0.40mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = B
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = b
material = generic_abs
variant = DBE 0.40mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = C
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = c
material = generic_abs
variant = DBE 0.40mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = D
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = d
material = generic_abs
variant = FBE 0.40mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = E
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = e
material = generic_abs
variant = DBE 0.40mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = C
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = c
material = generic_abs
variant = DBE 0.60mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = D
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = d
material = generic_abs
variant = FBE 0.60mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = E
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = e
material = generic_abs
variant = DBE 0.60mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 65

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = A
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = f
material = generic_abs
variant = DBE 0.60mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 45

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = A
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = a
material = generic_abs
variant = FBE 0.25mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 0.5
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 80

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = B
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = b
material = generic_abs
variant = FBE 0.25mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 0.5
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 55

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = C
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = c
material = generic_abs
variant = FBE 0.25mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 0.5
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 32

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = A
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = a
material = generic_abs
variant = FBE 0.40mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = B
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = b
material = generic_abs
variant = FBE 0.40mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = C
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = c
material = generic_abs
variant = FBE 0.40mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = D
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = d
material = generic_abs
variant = FBE 0.40mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = E
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = e
material = generic_abs
variant = FBE 0.40mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = C
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = c
material = generic_abs
variant = FBE 0.60mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,21 @@
[general]
version = 4
name = D
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = d
material = generic_abs
variant = FBE 0.60mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = E
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = e
material = generic_abs
variant = FBE 0.60mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 65

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = A
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = f
material = generic_abs
variant = FBE 0.60mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 45

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = D
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = d
material = generic_abs
variant = V-FBE 0.80mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 150

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = E
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = e
material = generic_abs
variant = V-DBE 0.80mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 110

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = A
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = f
material = generic_abs
variant = V-DBE 0.80mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 75

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = C
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = c
material = generic_abs
variant = V-DBE 0.80mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 55

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = D
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = d
material = generic_abs
variant = V-FBE 0.80mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 150

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = E
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = e
material = generic_abs
variant = V-FBE 0.80mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 110

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = A
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = f
material = generic_abs
variant = V-FBE 0.80mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 75

View File

@ -0,0 +1,22 @@
[general]
version = 4
name = C
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = g
material = generic_abs
variant = V-FBE 0.80mm
[values]
adhesion_type = raft
cool_fan_full_at_height = 1
cool_fan_speed = 50
cool_fan_speed_max = 50
cool_fan_speed_min = 0
material_bed_temperature = 100
material_bed_temperature_layer_0 = 80
material_print_temperature = 240
speed_print = 55

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = A
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = a
material = generic_petg
variant = DBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = B
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = b
material = generic_petg
variant = DBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = C
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = c
material = generic_petg
variant = DBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = D
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = d
material = generic_petg
variant = DBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = E
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = e
material = generic_petg
variant = DBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = C
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = c
material = generic_petg
variant = DBE 0.60mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = D
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = d
material = generic_petg
variant = DBE 0.60mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = E
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = e
material = generic_petg
variant = DBE 0.60mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 40
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.7
speed_roofing = =speed_print * 0.7
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = F
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = f
material = generic_petg
variant = DBE 0.60mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 26
speed_infill = =speed_print
speed_wall_0 = =speed_print
speed_roofing = =speed_print
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = A
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = a
material = generic_petg
variant = FBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = B
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = b
material = generic_petg
variant = FBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = C
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = c
material = generic_petg
variant = FBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = D
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = d
material = generic_petg
variant = FBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = E
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = e
material = generic_petg
variant = FBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = C
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = c
material = generic_petg
variant = FBE 0.60mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = D
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = d
material = generic_petg
variant = FBE 0.60mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 50
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.5
speed_roofing = =speed_print * 0.5
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = E
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = e
material = generic_petg
variant = FBE 0.60mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 40
speed_infill = =speed_print
speed_wall_0 = =speed_print * 0.7
speed_roofing = =speed_print * 0.7
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,30 @@
[general]
version = 4
name = F
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = f
material = generic_petg
variant = FBE 0.60mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = 1
cool_fan_speed = 60
cool_fan_speed_max = 100
cool_fan_speed_min = 60
speed_print = 26
speed_infill = =speed_print
speed_wall_0 = =speed_print
speed_roofing = =speed_print
default_material_print_temperature = 235
material_bed_temperature = 60
material_bed_temperature_layer_0 = 45
initial_layer_line_width_factor = 120
retraction_speed = 40
coasting_enable = True
coasting_volume = 0.256
retraction_combing_max_distance = 5

View File

@ -0,0 +1,18 @@
[general]
version = 4
name = A
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = a
material = generic_pla
variant = DBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = =layer_height * 4
cool_fan_speed = 100
cool_fan_speed_max = 100
cool_fan_speed_min = 100

View File

@ -1,22 +1,19 @@
[general] [general]
version = 4 version = 4
name = Fast name = B
definition = deltacomb definition = deltacomb_base
[metadata] [metadata]
setting_version = 15 setting_version = 15
type = quality type = quality
quality_type = draft quality_type = b
weight = -2
material = generic_pla material = generic_pla
variant = DBE 0.40mm
[values] [values]
adhesion_type = skirt adhesion_type = skirt
cool_fan_enabled = True
cool_fan_full_at_height = =layer_height * 4 cool_fan_full_at_height = =layer_height * 4
cool_fan_speed = 100 cool_fan_speed = 100
cool_fan_speed_max = 100 cool_fan_speed_max = 100
cool_fan_speed_min = 100 cool_fan_speed_min = 100
cool_min_layer_time = 5 speed_print = 55
cool_min_speed = 20
material_print_temperature_layer_0 = =default_material_print_temperature + 5

View File

@ -1,22 +1,19 @@
[general] [general]
version = 4 version = 4
name = Fine name = C
definition = deltacomb definition = deltacomb_base
[metadata] [metadata]
setting_version = 15 setting_version = 15
type = quality type = quality
quality_type = normal quality_type = c
weight = 0
material = generic_pla material = generic_pla
variant = DBE 0.40mm
[values] [values]
adhesion_type = skirt adhesion_type = skirt
cool_fan_enabled = True
cool_fan_full_at_height = =layer_height * 4 cool_fan_full_at_height = =layer_height * 4
cool_fan_speed = 100 cool_fan_speed = 100
cool_fan_speed_max = 100 cool_fan_speed_max = 100
cool_fan_speed_min = 100 cool_fan_speed_min = 100
cool_min_layer_time = 5 speed_print = 32
cool_min_speed = 20
material_print_temperature_layer_0 = =default_material_print_temperature + 5

View File

@ -0,0 +1,18 @@
[general]
version = 4
name = A
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = a
material = generic_pla
variant = DBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = =layer_height * 4
cool_fan_speed = 100
cool_fan_speed_max = 100
cool_fan_speed_min = 100

View File

@ -0,0 +1,18 @@
[general]
version = 4
name = B
definition = deltacomb_base
[metadata]
setting_version = 15
type = quality
quality_type = b
material = generic_pla
variant = DBE 0.40mm
[values]
adhesion_type = skirt
cool_fan_full_at_height = =layer_height * 4
cool_fan_speed = 100
cool_fan_speed_max = 100
cool_fan_speed_min = 100

Some files were not shown because too many files have changed in this diff Show More