Merge branch 'main' into main

This commit is contained in:
Saumya Jain 2024-03-01 10:17:36 +01:00 committed by GitHub
commit 145ba4174c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
650 changed files with 719 additions and 706 deletions

View File

@ -880,7 +880,7 @@ class BuildVolume(SceneNode):
result[extruder.getId()] = [] result[extruder.getId()] = []
# Currently, the only normally printed object is the prime tower. # Currently, the only normally printed object is the prime tower.
if self._global_container_stack.getProperty("prime_tower_mode", "value") != 'none': if self._global_container_stack.getProperty("prime_tower_enable", "value"):
prime_tower_size = self._global_container_stack.getProperty("prime_tower_size", "value") prime_tower_size = self._global_container_stack.getProperty("prime_tower_size", "value")
machine_width = self._global_container_stack.getProperty("machine_width", "value") machine_width = self._global_container_stack.getProperty("machine_width", "value")
machine_depth = self._global_container_stack.getProperty("machine_depth", "value") machine_depth = self._global_container_stack.getProperty("machine_depth", "value")
@ -1208,7 +1208,7 @@ class BuildVolume(SceneNode):
_raft_settings = ["adhesion_type", "raft_base_thickness", "raft_interface_layers", "raft_interface_thickness", "raft_surface_layers", "raft_surface_thickness", "raft_airgap", "layer_0_z_overlap"] _raft_settings = ["adhesion_type", "raft_base_thickness", "raft_interface_layers", "raft_interface_thickness", "raft_surface_layers", "raft_surface_thickness", "raft_airgap", "layer_0_z_overlap"]
_extra_z_settings = ["retraction_hop_enabled", "retraction_hop"] _extra_z_settings = ["retraction_hop_enabled", "retraction_hop"]
_prime_settings = ["extruder_prime_pos_x", "extruder_prime_pos_y", "prime_blob_enable"] _prime_settings = ["extruder_prime_pos_x", "extruder_prime_pos_y", "prime_blob_enable"]
_tower_settings = ["prime_tower_mode", "prime_tower_size", "prime_tower_position_x", "prime_tower_position_y", "prime_tower_brim_enable", "prime_tower_base_size", "prime_tower_base_height"] _tower_settings = ["prime_tower_enable", "prime_tower_size", "prime_tower_position_x", "prime_tower_position_y", "prime_tower_brim_enable", "prime_tower_base_size", "prime_tower_base_height"]
_ooze_shield_settings = ["ooze_shield_enabled", "ooze_shield_dist"] _ooze_shield_settings = ["ooze_shield_enabled", "ooze_shield_dist"]
_distance_settings = ["infill_wipe_dist", "travel_avoid_distance", "support_offset", "support_enable", "travel_avoid_other_parts", "travel_avoid_supports", "wall_line_count", "wall_line_width_0", "wall_line_width_x"] _distance_settings = ["infill_wipe_dist", "travel_avoid_distance", "support_offset", "support_enable", "travel_avoid_other_parts", "travel_avoid_supports", "wall_line_count", "wall_line_width_0", "wall_line_width_x"]
_extruder_settings = ["support_enable", "support_bottom_enable", "support_roof_enable", "support_infill_extruder_nr", "support_extruder_nr_layer_0", "support_bottom_extruder_nr", "support_roof_extruder_nr", "brim_line_count", "skirt_brim_extruder_nr", "raft_base_extruder_nr", "raft_interface_extruder_nr", "raft_surface_extruder_nr", "adhesion_type"] #Settings that can affect which extruders are used. _extruder_settings = ["support_enable", "support_bottom_enable", "support_roof_enable", "support_infill_extruder_nr", "support_extruder_nr_layer_0", "support_bottom_extruder_nr", "support_roof_extruder_nr", "brim_line_count", "skirt_brim_extruder_nr", "raft_base_extruder_nr", "raft_interface_extruder_nr", "raft_surface_extruder_nr", "adhesion_type"] #Settings that can affect which extruders are used.

View File

@ -273,7 +273,11 @@ class CuraActions(QObject):
# deselect currently selected nodes, and select the new nodes # deselect currently selected nodes, and select the new nodes
for node in Selection.getAllSelectedObjects(): for node in Selection.getAllSelectedObjects():
Selection.remove(node) Selection.remove(node)
numberOfFixedNodes = len(fixed_nodes)
for node in nodes: for node in nodes:
numberOfFixedNodes += 1
node.printOrder = numberOfFixedNodes
Selection.add(node) Selection.add(node)
def _openUrl(self, url: QUrl) -> None: def _openUrl(self, url: QUrl) -> None:

View File

@ -1085,9 +1085,9 @@ class CuraApplication(QtApplication):
def getTextManager(self, *args) -> "TextManager": def getTextManager(self, *args) -> "TextManager":
return self._text_manager return self._text_manager
@pyqtSlot(bool) @pyqtSlot()
def getWorkplaceDropToBuildplate(self, drop_to_build_plate: bool) ->None: def setWorkplaceDropToBuildplate(self):
return self._physics.setAppPerModelDropDown(drop_to_build_plate) return self._physics.setAppAllModelDropDown()
def getCuraFormulaFunctions(self, *args) -> "CuraFormulaFunctions": def getCuraFormulaFunctions(self, *args) -> "CuraFormulaFunctions":
if self._cura_formula_functions is None: if self._cura_formula_functions is None:

View File

@ -38,14 +38,12 @@ class PlatformPhysics:
self._minimum_gap = 2 # It is a minimum distance (in mm) between two models, applicable for small models self._minimum_gap = 2 # It is a minimum distance (in mm) between two models, applicable for small models
Application.getInstance().getPreferences().addPreference("physics/automatic_push_free", False) Application.getInstance().getPreferences().addPreference("physics/automatic_push_free", False)
Application.getInstance().getPreferences().addPreference("physics/automatic_drop_down", False) Application.getInstance().getPreferences().addPreference("physics/automatic_drop_down", True)
self._app_per_model_drop = Application.getInstance().getPreferences().getValue("physics/automatic_drop_down") self._app_all_model_drop = False
def getAppPerModelDropDown(self): def setAppAllModelDropDown(self):
return self._app_per_model_drop self._app_all_model_drop = True
self._onChangeTimerFinished()
def setAppPerModelDropDown(self, drop_to_buildplate):
self._app_per_model_drop = drop_to_buildplate
def _onSceneChanged(self, source): def _onSceneChanged(self, source):
if not source.callDecoration("isSliceable"): if not source.callDecoration("isSliceable"):
@ -78,7 +76,6 @@ class PlatformPhysics:
# We try to shuffle all the nodes to prevent "locked" situations, where iteration B inverts iteration A. # We try to shuffle all the nodes to prevent "locked" situations, where iteration B inverts iteration A.
# By shuffling the order of the nodes, this might happen a few times, but at some point it will resolve. # By shuffling the order of the nodes, this might happen a few times, but at some point it will resolve.
random.shuffle(nodes) random.shuffle(nodes)
for node in nodes: for node in nodes:
if node is root or not isinstance(node, SceneNode) or node.getBoundingBox() is None: if node is root or not isinstance(node, SceneNode) or node.getBoundingBox() is None:
continue continue
@ -88,12 +85,9 @@ class PlatformPhysics:
# Move it downwards if bottom is above platform # Move it downwards if bottom is above platform
move_vector = Vector() move_vector = Vector()
# if per model drop is different then app_automatic_drop, in case of 3mf loading when user changes this setting for that model if (node.getSetting(SceneNodeSettings.AutoDropDown, app_automatic_drop_down) or self._app_all_model_drop) and not (node.getParent() and node.getParent().callDecoration("isGroup") or node.getParent() != root) and node.isEnabled():
if (self._app_per_model_drop != app_automatic_drop_down):
node.setSetting(SceneNodeSettings.AutoDropDown, self._app_per_model_drop)
if node.getSetting(SceneNodeSettings.AutoDropDown, self._app_per_model_drop) and not (node.getParent() and node.getParent().callDecoration("isGroup") or node.getParent() != root) and node.isEnabled(): #If an object is grouped, don't move it down
z_offset = node.callDecoration("getZOffset") if node.getDecorator(ZOffsetDecorator.ZOffsetDecorator) else 0 z_offset = node.callDecoration("getZOffset") if node.getDecorator(ZOffsetDecorator.ZOffsetDecorator) else 0
move_vector = move_vector.set(y = -bbox.bottom + z_offset) move_vector = move_vector.set(y=-bbox.bottom + z_offset)
# If there is no convex hull for the node, start calculating it and continue. # If there is no convex hull for the node, start calculating it and continue.
if not node.getDecorator(ConvexHullDecorator) and not node.callDecoration("isNonPrintingMesh") and node.callDecoration("getLayerData") is None: if not node.getDecorator(ConvexHullDecorator) and not node.callDecoration("isNonPrintingMesh") and node.callDecoration("getLayerData") is None:
@ -180,7 +174,7 @@ class PlatformPhysics:
op.push() op.push()
# setting this drop to model same as app_automatic_drop_down # setting this drop to model same as app_automatic_drop_down
self._app_per_model_drop = app_automatic_drop_down self._app_all_model_drop = False
# After moving, we have to evaluate the boundary checks for nodes # After moving, we have to evaluate the boundary checks for nodes
build_volume.updateNodeBoundaryCheck() build_volume.updateNodeBoundaryCheck()

View File

@ -116,6 +116,9 @@ class PrintOrderManager(QObject):
) -> (Optional[CuraSceneNode], Optional[CuraSceneNode], Optional[CuraSceneNode]): ) -> (Optional[CuraSceneNode], Optional[CuraSceneNode], Optional[CuraSceneNode]):
nodes = self._get_nodes() nodes = self._get_nodes()
ordered_nodes = sorted(nodes, key=lambda n: n.printOrder) ordered_nodes = sorted(nodes, key=lambda n: n.printOrder)
for i, node in enumerate(ordered_nodes, 1):
node.printOrder = i
selected_node = PrintOrderManager._getSingleSelectedNode() selected_node = PrintOrderManager._getSingleSelectedNode()
if selected_node and selected_node in ordered_nodes: if selected_node and selected_node in ordered_nodes:
selected_node_index = ordered_nodes.index(selected_node) selected_node_index = ordered_nodes.index(selected_node)

View File

@ -11,6 +11,7 @@ from UM.Scene.SceneNode import SceneNode
from UM.Scene.SceneNodeDecorator import SceneNodeDecorator # To cast the deepcopy of every decorator back to SceneNodeDecorator. from UM.Scene.SceneNodeDecorator import SceneNodeDecorator # To cast the deepcopy of every decorator back to SceneNodeDecorator.
import cura.CuraApplication # To get the build plate. import cura.CuraApplication # To get the build plate.
from UM.Scene.SceneNodeSettings import SceneNodeSettings
from cura.Settings.ExtruderStack import ExtruderStack # For typing. from cura.Settings.ExtruderStack import ExtruderStack # For typing.
from cura.Settings.SettingOverrideDecorator import SettingOverrideDecorator # For per-object settings. from cura.Settings.SettingOverrideDecorator import SettingOverrideDecorator # For per-object settings.
@ -41,6 +42,10 @@ class CuraSceneNode(SceneNode):
def isOutsideBuildArea(self) -> bool: def isOutsideBuildArea(self) -> bool:
return self._outside_buildarea or self.callDecoration("getBuildPlateNumber") < 0 return self._outside_buildarea or self.callDecoration("getBuildPlateNumber") < 0
@property
def isDropDownEnabled(self) ->bool:
return self.getSetting(SceneNodeSettings.AutoDropDown, Application.getInstance().getPreferences().getValue("physics/automatic_drop_down"))
def isVisible(self) -> bool: def isVisible(self) -> bool:
return super().isVisible() and self.callDecoration("getBuildPlateNumber") == cura.CuraApplication.CuraApplication.getInstance().getMultiBuildPlateModel().activeBuildPlate return super().isVisible() and self.callDecoration("getBuildPlateNumber") == cura.CuraApplication.CuraApplication.getInstance().getMultiBuildPlateModel().activeBuildPlate

View File

@ -16,6 +16,7 @@ from UM.Mesh.MeshReader import MeshReader
from UM.MimeTypeDatabase import MimeTypeDatabase, MimeType from UM.MimeTypeDatabase import MimeTypeDatabase, MimeType
from UM.Scene.GroupDecorator import GroupDecorator from UM.Scene.GroupDecorator import GroupDecorator
from UM.Scene.SceneNode import SceneNode # For typing. from UM.Scene.SceneNode import SceneNode # For typing.
from UM.Scene.SceneNodeSettings import SceneNodeSettings
from cura.CuraApplication import CuraApplication from cura.CuraApplication import CuraApplication
from cura.Machines.ContainerTree import ContainerTree from cura.Machines.ContainerTree import ContainerTree
from cura.Scene.BuildPlateDecorator import BuildPlateDecorator from cura.Scene.BuildPlateDecorator import BuildPlateDecorator
@ -180,6 +181,9 @@ class ThreeMFReader(MeshReader):
if key == "print_order": if key == "print_order":
um_node.printOrder = int(setting_value) um_node.printOrder = int(setting_value)
continue continue
if key =="drop_to_buildplate":
um_node.setSetting(SceneNodeSettings.AutoDropDown, eval(setting_value))
continue
if key in known_setting_keys: if key in known_setting_keys:
setting_container.setProperty(key, "value", setting_value) setting_container.setProperty(key, "value", setting_value)
else: else:

View File

@ -353,11 +353,6 @@ class WorkspaceDialog(QObject):
Application.getInstance().getBackend().close() Application.getInstance().getBackend().close()
@pyqtSlot(bool)
def setDropToBuildPlateForModel(self, drop_to_buildplate: bool) -> None:
CuraApplication.getInstance().getWorkplaceDropToBuildplate(drop_to_buildplate)
def setMaterialConflict(self, material_conflict: bool) -> None: def setMaterialConflict(self, material_conflict: bool) -> None:
if self._has_material_conflict != material_conflict: if self._has_material_conflict != material_conflict:
self._has_material_conflict = material_conflict self._has_material_conflict = material_conflict

View File

@ -351,25 +351,6 @@ UM.Dialog
} }
} }
Row
{
id: dropToBuildPlate
width: parent.width
height: childrenRect.height
spacing: UM.Theme.getSize("default_margin").width
UM.CheckBox
{
id: checkDropModels
text: catalog.i18nc("@text:window", "Drop models to buildplate")
checked: UM.Preferences.getValue("physics/automatic_drop_down")
onCheckedChanged: manager.setDropToBuildPlateForModel(checked)
}
function reloadValue()
{
checkDropModels.checked = UM.Preferences.getValue("physics/automatic_drop_down")
}
}
Row Row
{ {
id: clearBuildPlateWarning id: clearBuildPlateWarning
@ -492,7 +473,6 @@ UM.Dialog
materialSection.reloadValues() materialSection.reloadValues()
profileSection.reloadValues() profileSection.reloadValues()
printerSection.reloadValues() printerSection.reloadValues()
dropToBuildPlate.reloadValue()
} }
} }
} }

View File

@ -155,6 +155,7 @@ class ThreeMFWriter(MeshWriter):
if isinstance(um_node, CuraSceneNode): if isinstance(um_node, CuraSceneNode):
savitar_node.setSetting("cura:print_order", str(um_node.printOrder)) savitar_node.setSetting("cura:print_order", str(um_node.printOrder))
savitar_node.setSetting("cura:drop_to_buildplate", str(um_node.isDropDownEnabled))
# Store the metadata. # Store the metadata.
for key, value in um_node.metadata.items(): for key, value in um_node.metadata.items():
@ -174,9 +175,9 @@ class ThreeMFWriter(MeshWriter):
def getArchive(self): def getArchive(self):
return self._archive return self._archive
def _addShareLogoToThumbnail(self, primary_image): def _addLogoToThumbnail(self, primary_image, logo_name):
# Load the icon png image # Load the icon png image
icon_image = QImage(Resources.getPath(Resources.Images, "cura-share.png")) icon_image = QImage(Resources.getPath(Resources.Images, logo_name))
# Resize icon_image to be 1/4 of primary_image size # Resize icon_image to be 1/4 of primary_image size
new_width = int(primary_image.width() / 4) new_width = int(primary_image.width() / 4)
@ -216,7 +217,9 @@ class ThreeMFWriter(MeshWriter):
snapshot = self._createSnapshot() snapshot = self._createSnapshot()
if snapshot: if snapshot:
if export_settings_model != None: if export_settings_model != None:
self._addShareLogoToThumbnail(snapshot) self._addLogoToThumbnail(snapshot, "cura-share.png")
elif export_settings_model == None and self._store_archive:
self._addLogoToThumbnail(snapshot, "cura-icon.png")
thumbnail_buffer = QBuffer() thumbnail_buffer = QBuffer()
thumbnail_buffer.open(QBuffer.OpenModeFlag.ReadWrite) thumbnail_buffer.open(QBuffer.OpenModeFlag.ReadWrite)
snapshot.save(thumbnail_buffer, "PNG") snapshot.save(thumbnail_buffer, "PNG")
@ -271,7 +274,8 @@ class ThreeMFWriter(MeshWriter):
transformation_matrix.preMultiply(translation_matrix) transformation_matrix.preMultiply(translation_matrix)
root_node = UM.Application.Application.getInstance().getController().getScene().getRoot() root_node = UM.Application.Application.getInstance().getController().getScene().getRoot()
exported_model_settings = ThreeMFWriter._extractModelExportedSettings(export_settings_model) exported_model_settings = ThreeMFWriter._extractModelExportedSettings(export_settings_model) if export_settings_model != None else None
for node in nodes: for node in nodes:
if node == root_node: if node == root_node:
for root_child in node.getChildren(): for root_child in node.getChildren():

View File

@ -181,7 +181,10 @@ class CuraEngineBackend(QObject, Backend):
application.getPreferences().preferenceChanged.connect(self._onPreferencesChanged) application.getPreferences().preferenceChanged.connect(self._onPreferencesChanged)
self._slicing_error_message = Message( self._slicing_error_message = Message(
text = catalog.i18nc("@message", "Slicing failed with an unexpected error. Please consider reporting a bug on our issue tracker."), text = catalog.i18nc("@message", "Oops! We encountered an unexpected error during your slicing process. "
"Rest assured, we've automatically received the crash logs for analysis, "
"if you have not disabled data sharing in your preferences. To assist us "
"further, consider sharing your project details on our issue tracker."),
title = catalog.i18nc("@message:title", "Slicing failed"), title = catalog.i18nc("@message:title", "Slicing failed"),
message_type = Message.MessageType.ERROR message_type = Message.MessageType.ERROR
) )

View File

@ -68,7 +68,7 @@
"meshfix_keep_open_polygons": "fix_horrible_use_open_bits", "meshfix_keep_open_polygons": "fix_horrible_use_open_bits",
"magic_mesh_surface_mode": "\"surface\" if simple_mode else \"normal\"", "magic_mesh_surface_mode": "\"surface\" if simple_mode else \"normal\"",
"magic_spiralize": "spiralize", "magic_spiralize": "spiralize",
"prime_tower_mode": "\"normal\" if wipe_tower else \"none\"", "prime_tower_enable": "wipe_tower",
"prime_tower_size": "math.sqrt(float(wipe_tower_volume) / float(layer_height))", "prime_tower_size": "math.sqrt(float(wipe_tower_volume) / float(layer_height))",
"ooze_shield_enabled": "ooze_shield", "ooze_shield_enabled": "ooze_shield",
"skin_overlap": "fill_overlap" "skin_overlap": "fill_overlap"

View File

@ -263,6 +263,7 @@ class SliceInfo(QObject, Extension):
print_settings["retraction_enable"] = global_stack.getProperty("retraction_enable", "value") print_settings["retraction_enable"] = global_stack.getProperty("retraction_enable", "value")
# Prime tower settings # Prime tower settings
print_settings["prime_tower_enable"] = global_stack.getProperty("prime_tower_enable", "value")
print_settings["prime_tower_mode"] = global_stack.getProperty("prime_tower_mode", "value") print_settings["prime_tower_mode"] = global_stack.getProperty("prime_tower_mode", "value")
# Infill settings # Infill settings

View File

@ -110,7 +110,7 @@
"min_infill_area": { "value": "5.0" }, "min_infill_area": { "value": "5.0" },
"minimum_polygon_circumference": { "value": "0.2" }, "minimum_polygon_circumference": { "value": "0.2" },
"optimize_wall_printing_order": { "value": "True" }, "optimize_wall_printing_order": { "value": "True" },
"prime_tower_mode": { "value": "'normal'" }, "prime_tower_enable": { "value": "True" },
"retraction_amount": { "value": "1" }, "retraction_amount": { "value": "1" },
"retraction_combing": { "value": "'noskin'" }, "retraction_combing": { "value": "'noskin'" },
"retraction_combing_max_distance": { "value": "10" }, "retraction_combing_max_distance": { "value": "10" },

View File

@ -31,8 +31,8 @@
"material_final_print_temperature": { "value": "material_print_temperature" }, "material_final_print_temperature": { "value": "material_print_temperature" },
"material_initial_print_temperature": { "value": "material_print_temperature" }, "material_initial_print_temperature": { "value": "material_print_temperature" },
"material_standby_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" },
"prime_tower_enable": { "value": true },
"prime_tower_min_volume": { "value": "50" }, "prime_tower_min_volume": { "value": "50" },
"prime_tower_mode": { "value": "'normal'" },
"switch_extruder_retraction_amount": { "value": "0" } "switch_extruder_retraction_amount": { "value": "0" }
} }
} }

View File

@ -31,8 +31,8 @@
"material_final_print_temperature": { "value": "material_print_temperature" }, "material_final_print_temperature": { "value": "material_print_temperature" },
"material_initial_print_temperature": { "value": "material_print_temperature" }, "material_initial_print_temperature": { "value": "material_print_temperature" },
"material_standby_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" },
"prime_tower_enable": { "value": true },
"prime_tower_min_volume": { "value": "50" }, "prime_tower_min_volume": { "value": "50" },
"prime_tower_mode": { "value": "'normal'" },
"switch_extruder_retraction_amount": { "value": "0" } "switch_extruder_retraction_amount": { "value": "0" }
} }
} }

View File

@ -31,8 +31,8 @@
"material_final_print_temperature": { "value": "material_print_temperature" }, "material_final_print_temperature": { "value": "material_print_temperature" },
"material_initial_print_temperature": { "value": "material_print_temperature" }, "material_initial_print_temperature": { "value": "material_print_temperature" },
"material_standby_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" },
"prime_tower_enable": { "value": "True" },
"prime_tower_min_volume": { "value": "50" }, "prime_tower_min_volume": { "value": "50" },
"prime_tower_mode": { "value": "'normal'" },
"switch_extruder_retraction_amount": { "value": "0" } "switch_extruder_retraction_amount": { "value": "0" }
} }
} }

View File

@ -5,6 +5,7 @@
"overrides": "overrides":
{ {
"machine_end_gcode": { "value": "\"\" if machine_gcode_flavor == \"UltiGCode\" else \"G90 ;absolute positioning\\nM104 S0 T0 ;extruder heater off\\nM104 S0 T1\\nM140 S0 ;turn off bed\\nT0 ; move to the first head\\nM107 ;fan off\"" }, "machine_end_gcode": { "value": "\"\" if machine_gcode_flavor == \"UltiGCode\" else \"G90 ;absolute positioning\\nM104 S0 T0 ;extruder heater off\\nM104 S0 T1\\nM140 S0 ;turn off bed\\nT0 ; move to the first head\\nM107 ;fan off\"" },
"machine_start_gcode": { "value": "\"\" if machine_gcode_flavor == \"UltiGCode\" else \";material_bed_temperature={material_bed_temperature} material_print_temperature={material_print_temperature} material_print_temperature_layer_0={material_print_temperature_layer_0}\\nM190 S{material_bed_temperature_layer_0}\\nM104 T0 S{material_standby_temperature, 0}\\nM104 T0 S{material_print_temperature_layer_0, 0}\\nG21 ;metric values\\nG90 ;absolute positioning\\nM82 ;set extruder to absolute mode\\nM107 ;start with the fan off\\nM200 D0 T0 ;reset filament diameter\\nM200 D0 T1\\nG28 ;home all\\nT1 ; move to the nozzle 2\\nG0 Z20 F2400 ;move the platform to 30mm\\nM109 T1 S{material_print_temperature_layer_0, 1}\\nG0 X210 Y20 F7200\\nG92 E0\\nG92 E-7.0 ;prime distance\\nG1 E0 F45 ;purge nozzle\\nG1 E-6.5 F1500 ; retract\\nT0 ; move to the nozzle 1\\nM104 T1 S{material_standby_temperature, 1}\\nG0 Z20 F2400\\nM109 T0 S{material_print_temperature_layer_0, 0}\\nG0 X210 Y20 F7200\\nG92 E0\\nG92 E-7.0\\nG1 E0 F45 ;purge nozzle\\nG1 E-6.5 F1500\\nM104 T0 S{material_standby_temperature, 0}\\nT{initial_extruder_nr} ;switch to the first nozzle used for print\\nM109 T{initial_extruder_nr} S{material_print_temperature_layer_0, initial_extruder_nr}\\nM400 ;finish all moves\\nG1 E0 F1500\\nG92 E0\\n;end of startup sequence\\n\"" } "machine_start_gcode": { "value": "\"\" if machine_gcode_flavor == \"UltiGCode\" else \";material_bed_temperature={material_bed_temperature} material_print_temperature={material_print_temperature} material_print_temperature_layer_0={material_print_temperature_layer_0}\\nM190 S{material_bed_temperature_layer_0}\\nM104 T0 S{material_standby_temperature, 0}\\nM104 T0 S{material_print_temperature_layer_0, 0}\\nG21 ;metric values\\nG90 ;absolute positioning\\nM82 ;set extruder to absolute mode\\nM107 ;start with the fan off\\nM200 D0 T0 ;reset filament diameter\\nM200 D0 T1\\nG28 ;home all\\nT1 ; move to the nozzle 2\\nG0 Z20 F2400 ;move the platform to 30mm\\nM109 T1 S{material_print_temperature_layer_0, 1}\\nG0 X210 Y20 F7200\\nG92 E0\\nG92 E-7.0 ;prime distance\\nG1 E0 F45 ;purge nozzle\\nG1 E-6.5 F1500 ; retract\\nT0 ; move to the nozzle 1\\nM104 T1 S{material_standby_temperature, 1}\\nG0 Z20 F2400\\nM109 T0 S{material_print_temperature_layer_0, 0}\\nG0 X210 Y20 F7200\\nG92 E0\\nG92 E-7.0\\nG1 E0 F45 ;purge nozzle\\nG1 E-6.5 F1500\\nM104 T0 S{material_standby_temperature, 0}\\nT{initial_extruder_nr} ;switch to the first nozzle used for print\\nM109 T{initial_extruder_nr} S{material_print_temperature_layer_0, initial_extruder_nr}\\nM400 ;finish all moves\\nG1 E0 F1500\\nG92 E0\\n;end of startup sequence\\n\"" },
"prime_tower_enable": { "default_value": true }
} }
} }

View File

@ -55,6 +55,7 @@
"settable_per_extruder": false "settable_per_extruder": false
}, },
"prime_blob_enable": { "default_value": false }, "prime_blob_enable": { "default_value": false },
"prime_tower_enable": { "default_value": true },
"prime_tower_min_volume": { "default_value": 90 }, "prime_tower_min_volume": { "default_value": 90 },
"prime_tower_size": { "default_value": 30 }, "prime_tower_size": { "default_value": 30 },
"raft_airgap": { "default_value": 0.25 }, "raft_airgap": { "default_value": 0.25 },

View File

@ -979,7 +979,7 @@
"description": "Width of a single prime tower line.", "description": "Width of a single prime tower line.",
"type": "float", "type": "float",
"unit": "mm", "unit": "mm",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'", "enabled": "prime_tower_enable",
"default_value": 0.4, "default_value": 0.4,
"value": "line_width", "value": "line_width",
"minimum_value": "0.001", "minimum_value": "0.001",
@ -3363,7 +3363,7 @@
"description": "The speed at which the prime tower is printed. Printing the prime tower slower can make it more stable when the adhesion between the different filaments is suboptimal.", "description": "The speed at which the prime tower is printed. Printing the prime tower slower can make it more stable when the adhesion between the different filaments is suboptimal.",
"type": "float", "type": "float",
"unit": "mm/s", "unit": "mm/s",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'", "enabled": "prime_tower_enable",
"default_value": 60, "default_value": 60,
"value": "speed_print", "value": "speed_print",
"minimum_value": "0.1", "minimum_value": "0.1",
@ -3741,7 +3741,7 @@
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"default_value": 3000, "default_value": 3000,
"value": "acceleration_print", "value": "acceleration_print",
"enabled": "resolveOrValue('prime_tower_mode') != 'none' and resolveOrValue('acceleration_enabled')", "enabled": "prime_tower_enable and resolveOrValue('acceleration_enabled')",
"settable_per_mesh": false "settable_per_mesh": false
} }
} }
@ -4060,7 +4060,7 @@
"maximum_value_warning": "50", "maximum_value_warning": "50",
"default_value": 20, "default_value": 20,
"value": "jerk_print", "value": "jerk_print",
"enabled": "resolveOrValue('prime_tower_mode') != 'none' and resolveOrValue('jerk_enabled')", "enabled": "prime_tower_enable and resolveOrValue('jerk_enabled')",
"settable_per_mesh": false "settable_per_mesh": false
} }
} }
@ -6794,20 +6794,30 @@
"description": "Settings used for printing with multiple extruders.", "description": "Settings used for printing with multiple extruders.",
"children": "children":
{ {
"prime_tower_enable":
{
"label": "Enable Prime Tower",
"description": "Print a tower next to the print which serves to prime the material after each nozzle switch.",
"type": "bool",
"enabled": "extruders_enabled_count > 1",
"default_value": false,
"resolve": "(extruders_enabled_count > 1) and any(extruderValues('prime_tower_enable'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"prime_tower_mode": "prime_tower_mode":
{ {
"label": "Prime Tower", "label": "Prime Tower Type",
"description": "<html>Print a tower next to the model, which serves to prime the material after each nozzle switch.<ul><li><b>None:</b> do not generate a prime tower</li><li><b>Normal:</b> generate a bucket in which secondary materials are primed</li><li><b>Interleaved:</b> generate a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.</li></ul></html>", "description": "<html>How to generate the prime tower:<ul><li><b>Normal:</b> create a bucket in which secondary materials are primed</li><li><b>Interleaved:</b> create a prime tower as sparse as possible. This will save time and filament, but is only possible if the used materials adhere to each other.</li></ul></html>",
"type": "enum", "type": "enum",
"value": "'none' if (extruders_enabled_count < 2) else ('interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal')", "value": "'interleaved' if (all(material_type_var == extruderValues('material_type')[0] for material_type_var in extruderValues('material_type')) and all(material_brand_var == extruderValues('material_brand')[0] for material_brand_var in extruderValues('material_brand'))) else 'normal'",
"options": "options":
{ {
"none": "None",
"normal": "Normal", "normal": "Normal",
"interleaved": "Interleaved" "interleaved": "Interleaved"
}, },
"default_value": "none", "default_value": "normal",
"enabled": "extruders_enabled_count > 1", "enabled": "prime_tower_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": false "settable_per_extruder": false
}, },
@ -6817,7 +6827,7 @@
"description": "The width of the prime tower.", "description": "The width of the prime tower.",
"type": "float", "type": "float",
"unit": "mm", "unit": "mm",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'", "enabled": "prime_tower_enable",
"default_value": 20, "default_value": 20,
"resolve": "max(extruderValues('prime_tower_size'))", "resolve": "max(extruderValues('prime_tower_size'))",
"minimum_value": "0", "minimum_value": "0",
@ -6836,7 +6846,7 @@
"default_value": 6, "default_value": 6,
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "(resolveOrValue('prime_tower_size') * 0.5) ** 2 * 3.14159 * resolveOrValue('layer_height') - sum(extruderValues('prime_tower_min_volume')) + prime_tower_min_volume", "maximum_value_warning": "(resolveOrValue('prime_tower_size') * 0.5) ** 2 * 3.14159 * resolveOrValue('layer_height') - sum(extruderValues('prime_tower_min_volume')) + prime_tower_min_volume",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'", "enabled": "prime_tower_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -6849,7 +6859,7 @@
"default_value": 5, "default_value": 5,
"minimum_value": "line_width", "minimum_value": "line_width",
"maximum_value_warning": "10.0", "maximum_value_warning": "10.0",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'", "enabled": "prime_tower_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -6859,7 +6869,7 @@
"description": "The x coordinate of the position of the prime tower.", "description": "The x coordinate of the position of the prime tower.",
"type": "float", "type": "float",
"unit": "mm", "unit": "mm",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'", "enabled": "prime_tower_enable",
"default_value": 200, "default_value": 200,
"value": "(resolveOrValue('machine_width') / 2 + resolveOrValue('prime_tower_size') / 2) if resolveOrValue('machine_shape') == 'elliptic' else (resolveOrValue('machine_width') - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('machine_nozzle_offset_x')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_x'))), 1)) - (resolveOrValue('machine_width') / 2 if resolveOrValue('machine_center_is_zero') else 0)", "value": "(resolveOrValue('machine_width') / 2 + resolveOrValue('prime_tower_size') / 2) if resolveOrValue('machine_shape') == 'elliptic' else (resolveOrValue('machine_width') - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('machine_nozzle_offset_x')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_x'))), 1)) - (resolveOrValue('machine_width') / 2 if resolveOrValue('machine_center_is_zero') else 0)",
"maximum_value": "(machine_width / 2 if machine_center_is_zero else machine_width) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)", "maximum_value": "(machine_width / 2 if machine_center_is_zero else machine_width) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)",
@ -6873,7 +6883,7 @@
"description": "The y coordinate of the position of the prime tower.", "description": "The y coordinate of the position of the prime tower.",
"type": "float", "type": "float",
"unit": "mm", "unit": "mm",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'", "enabled": "prime_tower_enable",
"default_value": 200, "default_value": 200,
"value": "machine_depth - prime_tower_size - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('machine_nozzle_offset_y')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_y'))), 1) - (resolveOrValue('machine_depth') / 2 if resolveOrValue('machine_center_is_zero') else 0)", "value": "machine_depth - prime_tower_size - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('machine_nozzle_offset_y')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_y'))), 1) - (resolveOrValue('machine_depth') / 2 if resolveOrValue('machine_center_is_zero') else 0)",
"maximum_value": "(machine_depth / 2 - resolveOrValue('prime_tower_size') if machine_center_is_zero else machine_depth - resolveOrValue('prime_tower_size')) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)", "maximum_value": "(machine_depth / 2 - resolveOrValue('prime_tower_size') if machine_center_is_zero else machine_depth - resolveOrValue('prime_tower_size')) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)",
@ -6886,7 +6896,7 @@
"label": "Wipe Inactive Nozzle on Prime Tower", "label": "Wipe Inactive Nozzle on Prime Tower",
"description": "After printing the prime tower with one nozzle, wipe the oozed material from the other nozzle off on the prime tower.", "description": "After printing the prime tower with one nozzle, wipe the oozed material from the other nozzle off on the prime tower.",
"type": "bool", "type": "bool",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'", "enabled": "prime_tower_enable",
"default_value": true, "default_value": true,
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -6897,7 +6907,7 @@
"label": "Prime Tower Base", "label": "Prime Tower Base",
"description": "By enabling this setting, your prime-tower will get a brim, even if the model doesn't. If you want a sturdier base for a high tower, you can increase the base height.", "description": "By enabling this setting, your prime-tower will get a brim, even if the model doesn't. If you want a sturdier base for a high tower, you can increase the base height.",
"type": "bool", "type": "bool",
"enabled": "resolveOrValue('prime_tower_mode') != 'none' and resolveOrValue('adhesion_type') != 'raft'", "enabled": "prime_tower_enable and resolveOrValue('adhesion_type') != 'raft'",
"default_value": false, "default_value": false,
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": false "settable_per_extruder": false
@ -6909,7 +6919,7 @@
"description": "The width of the prime tower brim/base. A larger base enhances adhesion to the build plate, but also reduces the effective print area.", "description": "The width of the prime tower brim/base. A larger base enhances adhesion to the build plate, but also reduces the effective print area.",
"type": "float", "type": "float",
"unit": "mm", "unit": "mm",
"enabled": "resolveOrValue('prime_tower_mode') != 'none' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", "enabled": "prime_tower_enable and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')",
"default_value": 1.2, "default_value": 1.2,
"minimum_value": "0", "minimum_value": "0",
"maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)", "maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)",
@ -6923,7 +6933,7 @@
"description": "The height of the prime tower base. Increasing this value will result in a more sturdy prime tower because the base will be wider. If this setting is too low, the prime tower will not have a sturdy base.", "description": "The height of the prime tower base. Increasing this value will result in a more sturdy prime tower because the base will be wider. If this setting is too low, the prime tower will not have a sturdy base.",
"type": "float", "type": "float",
"unit": "mm", "unit": "mm",
"enabled": "resolveOrValue('prime_tower_mode') != 'none' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", "enabled": "prime_tower_enable and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')",
"default_value": 0, "default_value": 0,
"minimum_value": "0", "minimum_value": "0",
"maximum_value": "machine_height", "maximum_value": "machine_height",
@ -6935,7 +6945,7 @@
"label": "Prime Tower Base Slope", "label": "Prime Tower Base Slope",
"description": "The magnitude factor used for the slope of the prime tower base. If you increase this value, the base will become slimmer. If you decrease it, the base will become thicker.", "description": "The magnitude factor used for the slope of the prime tower base. If you increase this value, the base will become slimmer. If you decrease it, the base will become thicker.",
"type": "float", "type": "float",
"enabled": "resolveOrValue('prime_tower_mode') != 'none' and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", "enabled": "prime_tower_enable and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')",
"default_value": 4, "default_value": 4,
"minimum_value": "0", "minimum_value": "0",
"maximum_value": "10", "maximum_value": "10",
@ -6953,7 +6963,7 @@
"minimum_value": "0", "minimum_value": "0",
"minimum_value_warning": "raft_base_line_width", "minimum_value_warning": "raft_base_line_width",
"maximum_value_warning": "100", "maximum_value_warning": "100",
"enabled": "resolveOrValue('prime_tower_mode') != 'none' and resolveOrValue('adhesion_type') == 'raft'", "enabled": "prime_tower_enable and resolveOrValue('adhesion_type') == 'raft'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "raft_base_extruder_nr" "limit_to_extruder": "raft_base_extruder_nr"

View File

@ -80,7 +80,7 @@
"material_final_print_temperature": { "value": "default_material_print_temperature" }, "material_final_print_temperature": { "value": "default_material_print_temperature" },
"material_initial_print_temperature": { "value": "default_material_print_temperature" }, "material_initial_print_temperature": { "value": "default_material_print_temperature" },
"material_standby_temperature": { "enabled": false }, "material_standby_temperature": { "enabled": false },
"prime_tower_mode": { "resolve": "'normal' if extruders_enabled_count > 1 else 'none'" }, "prime_tower_enable": { "resolve": "extruders_enabled_count > 1" },
"retraction_amount": { "default_value": 2 }, "retraction_amount": { "default_value": 2 },
"retraction_combing": { "value": "'all'" }, "retraction_combing": { "value": "'all'" },
"skirt_line_count": { "default_value": 3 }, "skirt_line_count": { "default_value": 3 },

View File

@ -44,8 +44,8 @@
"machine_width": { "default_value": 235 }, "machine_width": { "default_value": 235 },
"meshfix_maximum_resolution": { "value": 0.25 }, "meshfix_maximum_resolution": { "value": 0.25 },
"optimize_wall_printing_order": { "value": true }, "optimize_wall_printing_order": { "value": true },
"prime_tower_enable": { "value": true },
"prime_tower_min_volume": { "value": 30 }, "prime_tower_min_volume": { "value": 30 },
"prime_tower_mode": { "value": "'normal'" },
"retract_at_layer_change": { "value": false }, "retract_at_layer_change": { "value": false },
"retraction_amount": { "value": 4.5 }, "retraction_amount": { "value": 4.5 },
"roofing_layer_count": { "value": 1 }, "roofing_layer_count": { "value": 1 },

View File

@ -8,7 +8,7 @@
"platform": "ratrig_vcore3_200.stl", "platform": "ratrig_vcore3_200.stl",
"platform_offset": [ "platform_offset": [
0, 0,
5, 0,
0 0
], ],
"weight": 16 "weight": 16

View File

@ -11,7 +11,7 @@
"machine_extruder_trains": { "0": "ratrig_base_extruder_0" }, "machine_extruder_trains": { "0": "ratrig_base_extruder_0" },
"platform_offset": [ "platform_offset": [
0, 0,
5, 0,
0 0
], ],
"preferred_variant_name": "0.4mm Nozzle", "preferred_variant_name": "0.4mm Nozzle",

View File

@ -112,6 +112,7 @@
"machine_use_extruder_offset_to_offset_coords": { "default_value": false }, "machine_use_extruder_offset_to_offset_coords": { "default_value": false },
"machine_width": { "default_value": 420 }, "machine_width": { "default_value": 420 },
"material_diameter": { "default_value": 1.75 }, "material_diameter": { "default_value": 1.75 },
"prime_tower_enable": { "default_value": true },
"prime_tower_min_volume": { "default_value": 35.6 }, "prime_tower_min_volume": { "default_value": 35.6 },
"raft_acceleration": { "value": "machine_acceleration" }, "raft_acceleration": { "value": "machine_acceleration" },
"raft_base_acceleration": { "value": "machine_acceleration" }, "raft_base_acceleration": { "value": "machine_acceleration" },

View File

@ -96,12 +96,9 @@
"raft_interface_thickness": { "value": "(raft_base_thickness + raft_surface_thickness) / 2" }, "raft_interface_thickness": { "value": "(raft_base_thickness + raft_surface_thickness) / 2" },
"raft_speed": { "value": 15 }, "raft_speed": { "value": 15 },
"raft_surface_fan_speed": { "value": "cool_fan_speed_min" }, "raft_surface_fan_speed": { "value": "cool_fan_speed_min" },
"raft_surface_monotonic": { "value": true },
"raft_surface_speed": { "value": "speed_topbottom" }, "raft_surface_speed": { "value": "speed_topbottom" },
"relative_extrusion": "relative_extrusion": { "enabled": false },
{
"enabled": false,
"value": false
},
"retraction_combing": { "value": "'no_outer_surfaces'" }, "retraction_combing": { "value": "'no_outer_surfaces'" },
"retraction_combing_max_distance": { "value": 15 }, "retraction_combing_max_distance": { "value": 15 },
"retraction_count_max": { "value": 25 }, "retraction_count_max": { "value": 25 },

View File

@ -149,6 +149,7 @@
"enabled": true, "enabled": true,
"value": "resolveOrValue('print_sequence') != 'one_at_a_time'" "value": "resolveOrValue('print_sequence') != 'one_at_a_time'"
}, },
"prime_tower_enable": { "default_value": true },
"prime_tower_position_x": { "value": "185" }, "prime_tower_position_x": { "value": "185" },
"prime_tower_wipe_enabled": { "default_value": false }, "prime_tower_wipe_enabled": { "default_value": false },
"retraction_amount": { "value": "6.5" }, "retraction_amount": { "value": "6.5" },

View File

@ -345,9 +345,9 @@
"prime_tower_base_curve_magnitude": { "value": 2 }, "prime_tower_base_curve_magnitude": { "value": 2 },
"prime_tower_base_height": { "value": 6 }, "prime_tower_base_height": { "value": 6 },
"prime_tower_base_size": { "value": 10 }, "prime_tower_base_size": { "value": 10 },
"prime_tower_enable": { "value": false },
"prime_tower_flow": { "value": "material_flow" }, "prime_tower_flow": { "value": "material_flow" },
"prime_tower_line_width": { "value": 1 }, "prime_tower_line_width": { "value": 1 },
"prime_tower_mode": { "value": "none" },
"prime_tower_raft_base_line_spacing": { "value": "raft_base_line_width" }, "prime_tower_raft_base_line_spacing": { "value": "raft_base_line_width" },
"prime_tower_wipe_enabled": { "value": true }, "prime_tower_wipe_enabled": { "value": true },
"print_sequence": { "enabled": false }, "print_sequence": { "enabled": false },
@ -375,10 +375,8 @@
"retraction_prime_speed": { "value": "retraction_speed" }, "retraction_prime_speed": { "value": "retraction_speed" },
"retraction_speed": { "value": 5 }, "retraction_speed": { "value": 5 },
"roofing_layer_count": { "value": 2 }, "roofing_layer_count": { "value": 2 },
"roofing_material_flow": { "value": "material_flow" },
"roofing_monotonic": { "value": true }, "roofing_monotonic": { "value": true },
"skin_material_flow": { "value": "0.95*material_flow" }, "skin_material_flow": { "value": "0.95*material_flow" },
"skin_monotonic": { "value": true },
"skin_outline_count": { "value": 0 }, "skin_outline_count": { "value": 0 },
"skin_overlap": { "value": 0 }, "skin_overlap": { "value": 0 },
"skin_preshrink": { "value": 0 }, "skin_preshrink": { "value": 0 },

View File

@ -103,7 +103,7 @@
"default_value": false, "default_value": false,
"enabled": true "enabled": true
}, },
"prime_tower_mode": { "value": "'normal'" }, "prime_tower_enable": { "value": "True" },
"retraction_amount": { "value": "6.5" }, "retraction_amount": { "value": "6.5" },
"retraction_hop": { "value": "2" }, "retraction_hop": { "value": "2" },
"retraction_hop_enabled": { "value": "extruders_enabled_count > 1" }, "retraction_hop_enabled": { "value": "extruders_enabled_count > 1" },

View File

@ -104,7 +104,7 @@
"default_value": false, "default_value": false,
"enabled": true "enabled": true
}, },
"prime_tower_mode": { "value": "'normal'" }, "prime_tower_enable": { "value": "True" },
"retraction_amount": { "value": "6.5" }, "retraction_amount": { "value": "6.5" },
"retraction_combing": { "value": "'no_outer_surfaces'" }, "retraction_combing": { "value": "'no_outer_surfaces'" },
"retraction_hop": { "value": "2" }, "retraction_hop": { "value": "2" },

View File

@ -39,7 +39,7 @@ Item
property alias printObjectAfterNext: printObjectAfterNextAction property alias printObjectAfterNext: printObjectAfterNextAction
property alias multiplyObject: multiplyObjectAction property alias multiplyObject: multiplyObjectAction
property alias dropAll: dropAllAction
property alias selectAll: selectAllAction property alias selectAll: selectAllAction
property alias deleteAll: deleteAllAction property alias deleteAll: deleteAllAction
property alias reloadAll: reloadAllAction property alias reloadAll: reloadAllAction
@ -490,6 +490,14 @@ Item
shortcut: "Shift+Ctrl+R" shortcut: "Shift+Ctrl+R"
} }
Action
{
id: dropAllAction
text: catalog.i18nc("@action:inmenu menubar:edit","Drop All Models to buildplate")
shortcut: "Ctrl+B"
onTriggered: CuraApplication.setWorkplaceDropToBuildplate()
}
Action Action
{ {
id: resetAllTranslationAction id: resetAllTranslationAction

View File

@ -71,6 +71,7 @@ Cura.Menu
Cura.MenuItem { action: Cura.Actions.reloadAll } Cura.MenuItem { action: Cura.Actions.reloadAll }
Cura.MenuItem { action: Cura.Actions.resetAllTranslation } Cura.MenuItem { action: Cura.Actions.resetAllTranslation }
Cura.MenuItem { action: Cura.Actions.resetAll } Cura.MenuItem { action: Cura.Actions.resetAll }
Cura.MenuItem { action: Cura.Actions.dropAll }
// Group actions // Group actions
Cura.MenuSeparator {} Cura.MenuSeparator {}

View File

@ -21,6 +21,7 @@ Cura.Menu
Cura.MenuItem { action: Cura.Actions.deleteAll } Cura.MenuItem { action: Cura.Actions.deleteAll }
Cura.MenuItem { action: Cura.Actions.resetAllTranslation } Cura.MenuItem { action: Cura.Actions.resetAllTranslation }
Cura.MenuItem { action: Cura.Actions.resetAll } Cura.MenuItem { action: Cura.Actions.resetAll }
Cura.MenuItem { action: Cura.Actions.dropAll }
Cura.MenuSeparator { } Cura.MenuSeparator { }
Cura.MenuItem { action: Cura.Actions.groupObjects } Cura.MenuItem { action: Cura.Actions.groupObjects }
Cura.MenuItem { action: Cura.Actions.mergeObjects } Cura.MenuItem { action: Cura.Actions.mergeObjects }

View File

@ -513,7 +513,6 @@ UM.PreferencesPage
onCheckedChanged: onCheckedChanged:
{ {
UM.Preferences.setValue("physics/automatic_drop_down", checked) UM.Preferences.setValue("physics/automatic_drop_down", checked)
CuraApplication.getWorkplaceDropToBuildplate(checked)
} }
} }
} }

View File

@ -38,8 +38,8 @@ line_width = 0.4
min_infill_area = 0 min_infill_area = 0
optimize_wall_printing_order = True optimize_wall_printing_order = True
prime_tower_brim_enable = True prime_tower_brim_enable = True
prime_tower_enable = True
prime_tower_min_volume = 6 prime_tower_min_volume = 6
prime_tower_mode = normal
prime_tower_size = 20 prime_tower_size = 20
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
retract_at_layer_change = False retract_at_layer_change = False

View File

@ -38,8 +38,8 @@ line_width = 0.4
min_infill_area = 0 min_infill_area = 0
optimize_wall_printing_order = True optimize_wall_printing_order = True
prime_tower_brim_enable = True prime_tower_brim_enable = True
prime_tower_enable = True
prime_tower_min_volume = 6 prime_tower_min_volume = 6
prime_tower_mode = normal
prime_tower_size = 20 prime_tower_size = 20
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
retract_at_layer_change = False retract_at_layer_change = False

View File

@ -36,8 +36,8 @@ line_width = 0.4
min_infill_area = 0 min_infill_area = 0
optimize_wall_printing_order = True optimize_wall_printing_order = True
prime_tower_brim_enable = True prime_tower_brim_enable = True
prime_tower_enable = True
prime_tower_min_volume = 6 prime_tower_min_volume = 6
prime_tower_mode = normal
prime_tower_size = 20 prime_tower_size = 20
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
retract_at_layer_change = False retract_at_layer_change = False

View File

@ -36,8 +36,8 @@ line_width = 0.4
min_infill_area = 0 min_infill_area = 0
optimize_wall_printing_order = True optimize_wall_printing_order = True
prime_tower_brim_enable = True prime_tower_brim_enable = True
prime_tower_enable = True
prime_tower_min_volume = 6 prime_tower_min_volume = 6
prime_tower_mode = normal
prime_tower_size = 20 prime_tower_size = 20
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
retract_at_layer_change = False retract_at_layer_change = False

View File

@ -35,8 +35,8 @@ line_width = 0.4
min_infill_area = 0 min_infill_area = 0
optimize_wall_printing_order = True optimize_wall_printing_order = True
prime_tower_brim_enable = True prime_tower_brim_enable = True
prime_tower_enable = True
prime_tower_min_volume = 6 prime_tower_min_volume = 6
prime_tower_mode = normal
prime_tower_size = 20 prime_tower_size = 20
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
retract_at_layer_change = False retract_at_layer_change = False

View File

@ -35,8 +35,8 @@ line_width = 0.4
min_infill_area = 0 min_infill_area = 0
optimize_wall_printing_order = True optimize_wall_printing_order = True
prime_tower_brim_enable = True prime_tower_brim_enable = True
prime_tower_enable = True
prime_tower_min_volume = 6 prime_tower_min_volume = 6
prime_tower_mode = normal
prime_tower_size = 20 prime_tower_size = 20
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
retract_at_layer_change = False retract_at_layer_change = False

View File

@ -13,7 +13,7 @@ variant = DBE 0.40mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = DBE 0.40mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = DBE 0.40mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = DBE 0.40mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = DBE 0.40mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = DBE 0.60mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = DBE 0.60mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = DBE 0.60mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = DBE 0.60mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = FBE 0.40mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = FBE 0.40mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = FBE 0.40mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = FBE 0.40mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = FBE 0.40mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = FBE 0.60mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = FBE 0.60mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = FBE 0.60mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = FBE 0.60mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = V-DBE 0.80mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = V-DBE 0.80mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = V-DBE 0.80mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = V-DBE 0.80mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = V-FBE 0.80mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = V-FBE 0.60mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = V-FBE 0.80mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = V-FBE 0.80mm
[values] [values]
brim_replaces_support = False brim_replaces_support = False
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
support_bottom_distance = =support_z_distance support_bottom_distance = =support_z_distance
support_bottom_stair_step_height = 0 support_bottom_stair_step_height = 0
support_bottom_stair_step_width = 0 support_bottom_stair_step_width = 0

View File

@ -13,7 +13,7 @@ variant = 0.40mm_Elegoo_Nozzle
[values] [values]
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
prime_tower_mode = none prime_tower_enable = False
raft_airgap = 0.25 raft_airgap = 0.25
retraction_prime_speed = =retraction_speed retraction_prime_speed = =retraction_speed
skin_overlap = 10 skin_overlap = 10

View File

@ -13,7 +13,7 @@ variant = 0.40mm_Elegoo_Nozzle
[values] [values]
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
prime_tower_mode = none prime_tower_enable = False
raft_airgap = 0.25 raft_airgap = 0.25
retraction_prime_speed = =retraction_speed retraction_prime_speed = =retraction_speed
speed_print = 70 speed_print = 70

View File

@ -17,7 +17,7 @@ infill_sparse_density = 15
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
prime_tower_mode = none prime_tower_enable = False
raft_airgap = 0.25 raft_airgap = 0.25
retraction_prime_speed = =retraction_speed retraction_prime_speed = =retraction_speed
skin_overlap = 20 skin_overlap = 20

View File

@ -20,7 +20,7 @@ infill_sparse_density = 15
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
prime_tower_mode = none prime_tower_enable = False
raft_airgap = 0.25 raft_airgap = 0.25
retraction_prime_speed = =retraction_speed retraction_prime_speed = =retraction_speed
skin_overlap = 20 skin_overlap = 20

View File

@ -15,7 +15,7 @@ gradual_infill_step_height = =3 * layer_height
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
prime_tower_mode = normal prime_tower_enable = True
speed_print = 45 speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_topbottom = =math.ceil(speed_print * 35 / 45)
speed_wall = =math.ceil(speed_print * 40 / 45) speed_wall = =math.ceil(speed_print * 40 / 45)

View File

@ -15,7 +15,7 @@ gradual_infill_step_height = =3 * layer_height
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature + 15 material_print_temperature = =default_material_print_temperature + 15
prime_tower_mode = normal prime_tower_enable = True
speed_infill = =math.ceil(speed_print * 35 / 45) speed_infill = =math.ceil(speed_print * 35 / 45)
speed_print = 45 speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_topbottom = =math.ceil(speed_print * 35 / 45)

View File

@ -15,7 +15,7 @@ gradual_infill_step_height = =3 * layer_height
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature + 15 material_print_temperature = =default_material_print_temperature + 15
prime_tower_mode = normal prime_tower_enable = True
speed_infill = =math.ceil(speed_print * 35 / 45) speed_infill = =math.ceil(speed_print * 35 / 45)
speed_print = 45 speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45) speed_topbottom = =math.ceil(speed_print * 35 / 45)

View File

@ -11,7 +11,7 @@ type = quality
variant = 0.40mm_Elegoo_Nozzle variant = 0.40mm_Elegoo_Nozzle
[values] [values]
prime_tower_mode = none prime_tower_enable = False
raft_airgap = 0.25 raft_airgap = 0.25
skin_overlap = 10 skin_overlap = 10
speed_topbottom = =math.ceil(speed_print * 35 / 70) speed_topbottom = =math.ceil(speed_print * 35 / 70)

View File

@ -11,7 +11,7 @@ type = quality
variant = 0.40mm_Elegoo_Nozzle variant = 0.40mm_Elegoo_Nozzle
[values] [values]
prime_tower_mode = none prime_tower_enable = False
raft_airgap = 0.25 raft_airgap = 0.25
speed_topbottom = =math.ceil(speed_print * 35 / 70) speed_topbottom = =math.ceil(speed_print * 35 / 70)
speed_wall = =math.ceil(speed_print * 45 / 70) speed_wall = =math.ceil(speed_print * 45 / 70)

View File

@ -12,7 +12,7 @@ variant = 0.40mm_Elegoo_Nozzle
[values] [values]
infill_sparse_density = 15 infill_sparse_density = 15
prime_tower_mode = none prime_tower_enable = False
raft_airgap = 0.25 raft_airgap = 0.25
skin_overlap = 20 skin_overlap = 20
top_bottom_thickness = 0.8 top_bottom_thickness = 0.8

View File

@ -14,7 +14,7 @@ variant = 0.40mm_Elegoo_Nozzle
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles'
infill_sparse_density = 15 infill_sparse_density = 15
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
prime_tower_mode = none prime_tower_enable = False
raft_airgap = 0.25 raft_airgap = 0.25
skin_overlap = 20 skin_overlap = 20
top_bottom_thickness = 0.9 top_bottom_thickness = 0.9

View File

@ -30,7 +30,7 @@ material_standby_temperature = =material_print_temperature - 10
ooze_shield_angle = 20 ooze_shield_angle = 20
ooze_shield_dist = 4 ooze_shield_dist = 4
ooze_shield_enabled = True ooze_shield_enabled = True
prime_tower_mode = none prime_tower_enable = False
retraction_amount = 0.75 retraction_amount = 0.75
retraction_combing = off retraction_combing = off
retraction_speed = 70 retraction_speed = 70

View File

@ -30,7 +30,7 @@ material_standby_temperature = =material_print_temperature - 10
ooze_shield_angle = 20 ooze_shield_angle = 20
ooze_shield_dist = 4 ooze_shield_dist = 4
ooze_shield_enabled = True ooze_shield_enabled = True
prime_tower_mode = none prime_tower_enable = False
retraction_amount = 0.75 retraction_amount = 0.75
retraction_combing = off retraction_combing = off
retraction_speed = 70 retraction_speed = 70

View File

@ -30,7 +30,7 @@ material_standby_temperature = =material_print_temperature - 10
ooze_shield_angle = 20 ooze_shield_angle = 20
ooze_shield_dist = 4 ooze_shield_dist = 4
ooze_shield_enabled = True ooze_shield_enabled = True
prime_tower_mode = none prime_tower_enable = False
retraction_amount = 0.75 retraction_amount = 0.75
retraction_combing = off retraction_combing = off
retraction_speed = 70 retraction_speed = 70

View File

@ -29,7 +29,7 @@ material_standby_temperature = =material_print_temperature - 10
ooze_shield_angle = 20 ooze_shield_angle = 20
ooze_shield_dist = 4 ooze_shield_dist = 4
ooze_shield_enabled = True ooze_shield_enabled = True
prime_tower_mode = none prime_tower_enable = False
retraction_amount = 0.75 retraction_amount = 0.75
retraction_combing = off retraction_combing = off
retraction_speed = 70 retraction_speed = 70

View File

@ -18,7 +18,7 @@ machine_nozzle_heat_up_speed = 1.5
material_final_print_temperature = =material_print_temperature - 20 material_final_print_temperature = =material_print_temperature - 20
material_initial_print_temperature = =material_print_temperature - 15 material_initial_print_temperature = =material_print_temperature - 15
material_print_temperature = =default_material_print_temperature + 20 material_print_temperature = =default_material_print_temperature + 20
prime_tower_mode = none prime_tower_enable = False
skin_overlap = 20 skin_overlap = 20
speed_infill = =math.ceil(speed_print * 50 / 60) speed_infill = =math.ceil(speed_print * 50 / 60)
speed_layer_0 = =math.ceil(speed_print * 20 / 60) speed_layer_0 = =math.ceil(speed_print * 20 / 60)

View File

@ -19,7 +19,7 @@ machine_nozzle_heat_up_speed = 1.5
material_final_print_temperature = =material_print_temperature - 20 material_final_print_temperature = =material_print_temperature - 20
material_initial_print_temperature = =material_print_temperature - 15 material_initial_print_temperature = =material_print_temperature - 15
material_print_temperature = =default_material_print_temperature + 15 material_print_temperature = =default_material_print_temperature + 15
prime_tower_mode = none prime_tower_enable = False
speed_infill = =math.ceil(speed_print * 45 / 60) speed_infill = =math.ceil(speed_print * 45 / 60)
speed_layer_0 = =math.ceil(speed_print * 20 / 60) speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_print = 60 speed_print = 60

View File

@ -19,7 +19,7 @@ machine_nozzle_heat_up_speed = 1.5
material_final_print_temperature = =material_print_temperature - 20 material_final_print_temperature = =material_print_temperature - 20
material_initial_print_temperature = =material_print_temperature - 15 material_initial_print_temperature = =material_print_temperature - 15
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
prime_tower_mode = none prime_tower_enable = False
speed_infill = =math.ceil(speed_print * 40 / 50) speed_infill = =math.ceil(speed_print * 40 / 50)
speed_layer_0 = =math.ceil(speed_print * 20 / 50) speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_print = 50 speed_print = 50

View File

@ -18,7 +18,7 @@ machine_nozzle_heat_up_speed = 1.5
material_final_print_temperature = =material_print_temperature - 20 material_final_print_temperature = =material_print_temperature - 20
material_initial_print_temperature = =material_print_temperature - 15 material_initial_print_temperature = =material_print_temperature - 15
material_print_temperature = =default_material_print_temperature + 10 material_print_temperature = =default_material_print_temperature + 10
prime_tower_mode = none prime_tower_enable = False
speed_infill = =math.ceil(speed_print * 40 / 55) speed_infill = =math.ceil(speed_print * 40 / 55)
speed_layer_0 = =math.ceil(speed_print * 20 / 55) speed_layer_0 = =math.ceil(speed_print * 20 / 55)
speed_print = 55 speed_print = 55

View File

@ -36,7 +36,7 @@ material_print_temperature = =default_material_print_temperature + 10
material_standby_temperature = 100 material_standby_temperature = 100
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
ooze_shield_angle = 40 ooze_shield_angle = 40
prime_tower_mode = normal prime_tower_enable = True
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
raft_airgap = 0.25 raft_airgap = 0.25
raft_interface_thickness = =max(layer_height * 1.5, 0.225) raft_interface_thickness = =max(layer_height * 1.5, 0.225)

View File

@ -35,7 +35,7 @@ material_print_temperature = =default_material_print_temperature + 10
material_standby_temperature = 100 material_standby_temperature = 100
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
ooze_shield_angle = 40 ooze_shield_angle = 40
prime_tower_mode = normal prime_tower_enable = True
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
raft_airgap = 0.25 raft_airgap = 0.25
raft_interface_thickness = =max(layer_height * 1.5, 0.225) raft_interface_thickness = =max(layer_height * 1.5, 0.225)

View File

@ -36,7 +36,7 @@ material_print_temperature = =default_material_print_temperature - 10
material_standby_temperature = 100 material_standby_temperature = 100
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
ooze_shield_angle = 40 ooze_shield_angle = 40
prime_tower_mode = normal prime_tower_enable = True
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
raft_airgap = 0.25 raft_airgap = 0.25
raft_interface_thickness = =max(layer_height * 1.5, 0.225) raft_interface_thickness = =max(layer_height * 1.5, 0.225)

View File

@ -34,7 +34,7 @@ material_initial_print_temperature = =material_print_temperature - 5
material_standby_temperature = 100 material_standby_temperature = 100
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
ooze_shield_angle = 40 ooze_shield_angle = 40
prime_tower_mode = normal prime_tower_enable = True
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
raft_airgap = 0.25 raft_airgap = 0.25
raft_interface_thickness = =max(layer_height * 1.5, 0.225) raft_interface_thickness = =max(layer_height * 1.5, 0.225)

View File

@ -24,7 +24,7 @@ machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
skin_overlap = 20 skin_overlap = 20
speed_layer_0 = =math.ceil(speed_print * 20 / 70) speed_layer_0 = =math.ceil(speed_print * 20 / 70)
speed_print = 70 speed_print = 70

View File

@ -20,7 +20,7 @@ layer_height_0 = 0.2
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
speed_layer_0 = =math.ceil(speed_print * 20 / 60) speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_print = 60 speed_print = 60
speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_topbottom = =math.ceil(speed_print * 35 / 60)

View File

@ -22,7 +22,7 @@ machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature - 5 material_print_temperature = =default_material_print_temperature - 5
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
skin_overlap = 10 skin_overlap = 10
speed_layer_0 = =math.ceil(speed_print * 20 / 50) speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_print = 50 speed_print = 50

View File

@ -21,7 +21,7 @@ layer_height_0 = 0.2
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
skin_overlap = 10 skin_overlap = 10
speed_layer_0 = =math.ceil(speed_print * 20 / 70) speed_layer_0 = =math.ceil(speed_print * 20 / 70)
top_bottom_thickness = 1 top_bottom_thickness = 1

View File

@ -24,7 +24,7 @@ machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature + 5 material_print_temperature = =default_material_print_temperature + 5
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
skin_overlap = 20 skin_overlap = 20
speed_layer_0 = =math.ceil(speed_print * 20 / 70) speed_layer_0 = =math.ceil(speed_print * 20 / 70)
speed_print = 70 speed_print = 70

View File

@ -20,7 +20,7 @@ layer_height_0 = 0.2
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
speed_layer_0 = =math.ceil(speed_print * 20 / 60) speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_print = 60 speed_print = 60
speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_topbottom = =math.ceil(speed_print * 35 / 60)

View File

@ -22,7 +22,7 @@ machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature - 5 material_print_temperature = =default_material_print_temperature - 5
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
skin_overlap = 10 skin_overlap = 10
speed_layer_0 = =math.ceil(speed_print * 20 / 50) speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_print = 50 speed_print = 50

View File

@ -21,7 +21,7 @@ layer_height_0 = 0.2
machine_nozzle_cool_down_speed = 0.75 machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6 machine_nozzle_heat_up_speed = 1.6
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_mode = none prime_tower_enable = False
skin_overlap = 10 skin_overlap = 10
speed_layer_0 = =math.ceil(speed_print * 20 / 70) speed_layer_0 = =math.ceil(speed_print * 20 / 70)
top_bottom_thickness = 1 top_bottom_thickness = 1

View File

@ -36,7 +36,7 @@ material_print_temperature = =default_material_print_temperature - 5
material_print_temperature_layer_0 = =material_print_temperature + 5 material_print_temperature_layer_0 = =material_print_temperature + 5
material_standby_temperature = 100 material_standby_temperature = 100
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_mode = none prime_tower_enable = False
prime_tower_size = 16 prime_tower_size = 16
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
retraction_count_max = 12 retraction_count_max = 12

View File

@ -36,7 +36,7 @@ material_print_temperature = =default_material_print_temperature - 13
material_print_temperature_layer_0 = =material_print_temperature + 3 material_print_temperature_layer_0 = =material_print_temperature + 3
material_standby_temperature = 100 material_standby_temperature = 100
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_mode = none prime_tower_enable = False
prime_tower_size = 16 prime_tower_size = 16
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
retraction_count_max = 12 retraction_count_max = 12

View File

@ -36,7 +36,7 @@ material_print_temperature = =default_material_print_temperature - 15
material_print_temperature_layer_0 = =material_print_temperature + 3 material_print_temperature_layer_0 = =material_print_temperature + 3
material_standby_temperature = 100 material_standby_temperature = 100
multiple_mesh_overlap = 0 multiple_mesh_overlap = 0
prime_tower_mode = none prime_tower_enable = False
prime_tower_size = 16 prime_tower_size = 16
prime_tower_wipe_enabled = True prime_tower_wipe_enabled = True
retraction_count_max = 12 retraction_count_max = 12

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