Merge remote-tracking branch 'origin/main' into CURA-9838_brim_location

This commit is contained in:
Erwan MATHIEU 2024-02-29 11:23:21 +01:00
commit 9a254d0755
650 changed files with 720 additions and 710 deletions

View file

@ -880,7 +880,7 @@ class BuildVolume(SceneNode):
result[extruder.getId()] = []
# 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")
machine_width = self._global_container_stack.getProperty("machine_width", "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"]
_extra_z_settings = ["retraction_hop_enabled", "retraction_hop"]
_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"]
_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.

View file

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

View file

@ -1085,9 +1085,9 @@ class CuraApplication(QtApplication):
def getTextManager(self, *args) -> "TextManager":
return self._text_manager
@pyqtSlot(bool)
def getWorkplaceDropToBuildplate(self, drop_to_build_plate: bool) ->None:
return self._physics.setAppPerModelDropDown(drop_to_build_plate)
@pyqtSlot()
def setWorkplaceDropToBuildplate(self):
return self._physics.setAppAllModelDropDown()
def getCuraFormulaFunctions(self, *args) -> "CuraFormulaFunctions":
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
Application.getInstance().getPreferences().addPreference("physics/automatic_push_free", False)
Application.getInstance().getPreferences().addPreference("physics/automatic_drop_down", False)
self._app_per_model_drop = Application.getInstance().getPreferences().getValue("physics/automatic_drop_down")
Application.getInstance().getPreferences().addPreference("physics/automatic_drop_down", True)
self._app_all_model_drop = False
def getAppPerModelDropDown(self):
return self._app_per_model_drop
def setAppPerModelDropDown(self, drop_to_buildplate):
self._app_per_model_drop = drop_to_buildplate
def setAppAllModelDropDown(self):
self._app_all_model_drop = True
self._onChangeTimerFinished()
def _onSceneChanged(self, source):
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.
# By shuffling the order of the nodes, this might happen a few times, but at some point it will resolve.
random.shuffle(nodes)
for node in nodes:
if node is root or not isinstance(node, SceneNode) or node.getBoundingBox() is None:
continue
@ -88,12 +85,9 @@ class PlatformPhysics:
# Move it downwards if bottom is above platform
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 (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
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():
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 not node.getDecorator(ConvexHullDecorator) and not node.callDecoration("isNonPrintingMesh") and node.callDecoration("getLayerData") is None:
@ -180,7 +174,7 @@ class PlatformPhysics:
op.push()
# 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
build_volume.updateNodeBoundaryCheck()

View file

@ -116,6 +116,9 @@ class PrintOrderManager(QObject):
) -> (Optional[CuraSceneNode], Optional[CuraSceneNode], Optional[CuraSceneNode]):
nodes = self._get_nodes()
ordered_nodes = sorted(nodes, key=lambda n: n.printOrder)
for i, node in enumerate(ordered_nodes, 1):
node.printOrder = i
selected_node = PrintOrderManager._getSingleSelectedNode()
if selected_node and selected_node in ordered_nodes:
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.
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.SettingOverrideDecorator import SettingOverrideDecorator # For per-object settings.
@ -41,6 +42,10 @@ class CuraSceneNode(SceneNode):
def isOutsideBuildArea(self) -> bool:
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:
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.Scene.GroupDecorator import GroupDecorator
from UM.Scene.SceneNode import SceneNode # For typing.
from UM.Scene.SceneNodeSettings import SceneNodeSettings
from cura.CuraApplication import CuraApplication
from cura.Machines.ContainerTree import ContainerTree
from cura.Scene.BuildPlateDecorator import BuildPlateDecorator
@ -180,6 +181,9 @@ class ThreeMFReader(MeshReader):
if key == "print_order":
um_node.printOrder = int(setting_value)
continue
if key =="drop_to_buildplate":
um_node.setSetting(SceneNodeSettings.AutoDropDown, eval(setting_value))
continue
if key in known_setting_keys:
setting_container.setProperty(key, "value", setting_value)
else:

View file

@ -353,11 +353,6 @@ class WorkspaceDialog(QObject):
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:
if 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
{
id: clearBuildPlateWarning
@ -492,7 +473,6 @@ UM.Dialog
materialSection.reloadValues()
profileSection.reloadValues()
printerSection.reloadValues()
dropToBuildPlate.reloadValue()
}
}
}

View file

@ -118,7 +118,7 @@ class SettingsExportModel(QObject):
setting_type = settings_stack.getProperty(setting_to_export, "type")
if setting_type is not None:
# This is not very good looking, but will do for now
value = SettingDefinition.settingValueToString(setting_type, value) + " " + unit
value = f"{str(SettingDefinition.settingValueToString(setting_type, value))} {unit}"
else:
value = str(value)

View file

@ -155,6 +155,7 @@ class ThreeMFWriter(MeshWriter):
if isinstance(um_node, CuraSceneNode):
savitar_node.setSetting("cura:print_order", str(um_node.printOrder))
savitar_node.setSetting("cura:drop_to_buildplate", str(um_node.isDropDownEnabled))
# Store the metadata.
for key, value in um_node.metadata.items():
@ -174,9 +175,9 @@ class ThreeMFWriter(MeshWriter):
def getArchive(self):
return self._archive
def _addShareLogoToThumbnail(self, primary_image):
def _addLogoToThumbnail(self, primary_image, logo_name):
# 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
new_width = int(primary_image.width() / 4)
@ -216,7 +217,9 @@ class ThreeMFWriter(MeshWriter):
snapshot = self._createSnapshot()
if snapshot:
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.open(QBuffer.OpenModeFlag.ReadWrite)
snapshot.save(thumbnail_buffer, "PNG")
@ -271,7 +274,8 @@ class ThreeMFWriter(MeshWriter):
transformation_matrix.preMultiply(translation_matrix)
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:
if node == root_node:
for root_child in node.getChildren():

View file

@ -68,7 +68,7 @@
"meshfix_keep_open_polygons": "fix_horrible_use_open_bits",
"magic_mesh_surface_mode": "\"surface\" if simple_mode else \"normal\"",
"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))",
"ooze_shield_enabled": "ooze_shield",
"skin_overlap": "fill_overlap"

View file

@ -263,6 +263,7 @@ class SliceInfo(QObject, Extension):
print_settings["retraction_enable"] = global_stack.getProperty("retraction_enable", "value")
# 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")
# Infill settings

View file

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

View file

@ -45,7 +45,7 @@
"machine_max_feedrate_y": { "value": 500 },
"machine_max_feedrate_z": { "value": 30 },
"machine_name": { "default_value": "Creality Ender-3 V3 SE" },
"machine_start_gcode": { "default_value": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\n\nM420 S1; Enable mesh leveling\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S[material_print_temperature_layer_0]\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800 \n" },
"machine_start_gcode": { "default_value": "M220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\n\nM420 S1; Use saved mesh leveling data\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM190 S{material_bed_temperature_layer_0} ; Set bed temperature and wait\nM109 S{material_print_temperature_layer_0} ; Set hotend temperature and wait\nG1 X10.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y145.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 E-1.0000 F1800 ;Retract a bit\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 E0.0000 F1800 \n" },
"machine_width": { "default_value": 220 },
"retraction_amount": { "value": 0.8 },
"retraction_speed": { "default_value": 40 },

View file

@ -31,8 +31,8 @@
"material_final_print_temperature": { "value": "material_print_temperature" },
"material_initial_print_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_mode": { "value": "'normal'" },
"switch_extruder_retraction_amount": { "value": "0" }
}
}

View file

@ -31,8 +31,8 @@
"material_final_print_temperature": { "value": "material_print_temperature" },
"material_initial_print_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_mode": { "value": "'normal'" },
"switch_extruder_retraction_amount": { "value": "0" }
}
}

View file

@ -31,8 +31,8 @@
"material_final_print_temperature": { "value": "material_print_temperature" },
"material_initial_print_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_mode": { "value": "'normal'" },
"switch_extruder_retraction_amount": { "value": "0" }
}
}

View file

@ -5,6 +5,7 @@
"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_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
},
"prime_blob_enable": { "default_value": false },
"prime_tower_enable": { "default_value": true },
"prime_tower_min_volume": { "default_value": 90 },
"prime_tower_size": { "default_value": 30 },
"raft_airgap": { "default_value": 0.25 },

View file

@ -979,7 +979,7 @@
"description": "Width of a single prime tower line.",
"type": "float",
"unit": "mm",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'",
"enabled": "prime_tower_enable",
"default_value": 0.4,
"value": "line_width",
"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.",
"type": "float",
"unit": "mm/s",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'",
"enabled": "prime_tower_enable",
"default_value": 60,
"value": "speed_print",
"minimum_value": "0.1",
@ -3741,7 +3741,7 @@
"maximum_value_warning": "10000",
"default_value": 3000,
"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
}
}
@ -4060,7 +4060,7 @@
"maximum_value_warning": "50",
"default_value": 20,
"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
}
}
@ -6801,20 +6801,30 @@
"description": "Settings used for printing with multiple extruders.",
"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":
{
"label": "Prime Tower",
"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>",
"label": "Prime Tower Type",
"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",
"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":
{
"none": "None",
"normal": "Normal",
"interleaved": "Interleaved"
},
"default_value": "none",
"enabled": "extruders_enabled_count > 1",
"default_value": "normal",
"enabled": "prime_tower_enable",
"settable_per_mesh": false,
"settable_per_extruder": false
},
@ -6824,7 +6834,7 @@
"description": "The width of the prime tower.",
"type": "float",
"unit": "mm",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'",
"enabled": "prime_tower_enable",
"default_value": 20,
"resolve": "max(extruderValues('prime_tower_size'))",
"minimum_value": "0",
@ -6843,7 +6853,7 @@
"default_value": 6,
"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",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'",
"enabled": "prime_tower_enable",
"settable_per_mesh": false,
"settable_per_extruder": true
},
@ -6856,7 +6866,7 @@
"default_value": 5,
"minimum_value": "line_width",
"maximum_value_warning": "10.0",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'",
"enabled": "prime_tower_enable",
"settable_per_mesh": false,
"settable_per_extruder": true
},
@ -6866,7 +6876,7 @@
"description": "The x coordinate of the position of the prime tower.",
"type": "float",
"unit": "mm",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'",
"enabled": "prime_tower_enable",
"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)",
"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)",
@ -6880,7 +6890,7 @@
"description": "The y coordinate of the position of the prime tower.",
"type": "float",
"unit": "mm",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'",
"enabled": "prime_tower_enable",
"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)",
"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)",
@ -6893,7 +6903,7 @@
"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.",
"type": "bool",
"enabled": "resolveOrValue('prime_tower_mode') != 'none'",
"enabled": "prime_tower_enable",
"default_value": true,
"settable_per_mesh": false,
"settable_per_extruder": true
@ -6904,7 +6914,7 @@
"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.",
"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,
"settable_per_mesh": false,
"settable_per_extruder": false
@ -6916,7 +6926,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.",
"type": "float",
"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,
"minimum_value": "0",
"maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)",
@ -6930,7 +6940,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.",
"type": "float",
"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,
"minimum_value": "0",
"maximum_value": "machine_height",
@ -6942,7 +6952,7 @@
"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.",
"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,
"minimum_value": "0",
"maximum_value": "10",
@ -6960,7 +6970,7 @@
"minimum_value": "0",
"minimum_value_warning": "raft_base_line_width",
"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_extruder": true,
"limit_to_extruder": "raft_base_extruder_nr"

View file

@ -80,7 +80,7 @@
"material_final_print_temperature": { "value": "default_material_print_temperature" },
"material_initial_print_temperature": { "value": "default_material_print_temperature" },
"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_combing": { "value": "'all'" },
"skirt_line_count": { "default_value": 3 },

View file

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

View file

@ -112,6 +112,7 @@
"machine_use_extruder_offset_to_offset_coords": { "default_value": false },
"machine_width": { "default_value": 420 },
"material_diameter": { "default_value": 1.75 },
"prime_tower_enable": { "default_value": true },
"prime_tower_min_volume": { "default_value": 35.6 },
"raft_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_speed": { "value": 15 },
"raft_surface_fan_speed": { "value": "cool_fan_speed_min" },
"raft_surface_monotonic": { "value": true },
"raft_surface_speed": { "value": "speed_topbottom" },
"relative_extrusion":
{
"enabled": false,
"value": false
},
"relative_extrusion": { "enabled": false },
"retraction_combing": { "value": "'no_outer_surfaces'" },
"retraction_combing_max_distance": { "value": 15 },
"retraction_count_max": { "value": 25 },

View file

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

View file

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

View file

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

View file

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

View file

@ -39,7 +39,7 @@ Item
property alias printObjectAfterNext: printObjectAfterNextAction
property alias multiplyObject: multiplyObjectAction
property alias dropAll: dropAllAction
property alias selectAll: selectAllAction
property alias deleteAll: deleteAllAction
property alias reloadAll: reloadAllAction
@ -490,6 +490,14 @@ Item
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
{
id: resetAllTranslationAction

View file

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

View file

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

View file

@ -47,6 +47,11 @@ Cura.Menu
enabled: UM.WorkspaceFileHandler.enabled && saveProjectMenu.model.count == 1
onTriggered:
{
const args = {
"filter_by_machine": false,
"file_type": "workspace",
"preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml",
};
if (UM.Preferences.getValue("cura/dialog_on_project_save"))
{
saveWorkspaceDialog.args = args
@ -54,11 +59,6 @@ Cura.Menu
}
else
{
const args = {
"filter_by_machine": false,
"file_type": "workspace",
"preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml",
};
UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args)
}
}

View file

@ -513,7 +513,6 @@ UM.PreferencesPage
onCheckedChanged:
{
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
optimize_wall_printing_order = True
prime_tower_brim_enable = True
prime_tower_enable = True
prime_tower_min_volume = 6
prime_tower_mode = normal
prime_tower_size = 20
prime_tower_wipe_enabled = True
retract_at_layer_change = False

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -20,7 +20,7 @@ infill_sparse_density = 15
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature + 10
prime_tower_mode = none
prime_tower_enable = False
raft_airgap = 0.25
retraction_prime_speed = =retraction_speed
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_heat_up_speed = 1.6
material_print_temperature = =default_material_print_temperature + 10
prime_tower_mode = normal
prime_tower_enable = True
speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 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_heat_up_speed = 1.6
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_print = 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_heat_up_speed = 1.6
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_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45)

View file

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

View file

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

View file

@ -12,7 +12,7 @@ variant = 0.40mm_Elegoo_Nozzle
[values]
infill_sparse_density = 15
prime_tower_mode = none
prime_tower_enable = False
raft_airgap = 0.25
skin_overlap = 20
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_sparse_density = 15
material_print_temperature = =default_material_print_temperature + 5
prime_tower_mode = none
prime_tower_enable = False
raft_airgap = 0.25
skin_overlap = 20
top_bottom_thickness = 0.9

View file

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

View file

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

View file

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

View file

@ -29,7 +29,7 @@ material_standby_temperature = =material_print_temperature - 10
ooze_shield_angle = 20
ooze_shield_dist = 4
ooze_shield_enabled = True
prime_tower_mode = none
prime_tower_enable = False
retraction_amount = 0.75
retraction_combing = off
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_initial_print_temperature = =material_print_temperature - 15
material_print_temperature = =default_material_print_temperature + 20
prime_tower_mode = none
prime_tower_enable = False
skin_overlap = 20
speed_infill = =math.ceil(speed_print * 50 / 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_initial_print_temperature = =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_layer_0 = =math.ceil(speed_print * 20 / 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_initial_print_temperature = =material_print_temperature - 15
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_layer_0 = =math.ceil(speed_print * 20 / 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_initial_print_temperature = =material_print_temperature - 15
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_layer_0 = =math.ceil(speed_print * 20 / 55)
speed_print = 55

View file

@ -36,7 +36,7 @@ material_print_temperature = =default_material_print_temperature + 10
material_standby_temperature = 100
multiple_mesh_overlap = 0
ooze_shield_angle = 40
prime_tower_mode = normal
prime_tower_enable = True
prime_tower_wipe_enabled = True
raft_airgap = 0.25
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
multiple_mesh_overlap = 0
ooze_shield_angle = 40
prime_tower_mode = normal
prime_tower_enable = True
prime_tower_wipe_enabled = True
raft_airgap = 0.25
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
multiple_mesh_overlap = 0
ooze_shield_angle = 40
prime_tower_mode = normal
prime_tower_enable = True
prime_tower_wipe_enabled = True
raft_airgap = 0.25
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
multiple_mesh_overlap = 0
ooze_shield_angle = 40
prime_tower_mode = normal
prime_tower_enable = True
prime_tower_wipe_enabled = True
raft_airgap = 0.25
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
material_print_temperature = =default_material_print_temperature + 5
material_standby_temperature = 100
prime_tower_mode = none
prime_tower_enable = False
skin_overlap = 20
speed_layer_0 = =math.ceil(speed_print * 20 / 70)
speed_print = 70

View file

@ -20,7 +20,7 @@ layer_height_0 = 0.2
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
material_standby_temperature = 100
prime_tower_mode = none
prime_tower_enable = False
speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_print = 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
material_print_temperature = =default_material_print_temperature - 5
material_standby_temperature = 100
prime_tower_mode = none
prime_tower_enable = False
skin_overlap = 10
speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_print = 50

View file

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

View file

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

View file

@ -20,7 +20,7 @@ layer_height_0 = 0.2
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
material_standby_temperature = 100
prime_tower_mode = none
prime_tower_enable = False
speed_layer_0 = =math.ceil(speed_print * 20 / 60)
speed_print = 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
material_print_temperature = =default_material_print_temperature - 5
material_standby_temperature = 100
prime_tower_mode = none
prime_tower_enable = False
skin_overlap = 10
speed_layer_0 = =math.ceil(speed_print * 20 / 50)
speed_print = 50

View file

@ -21,7 +21,7 @@ layer_height_0 = 0.2
machine_nozzle_cool_down_speed = 0.75
machine_nozzle_heat_up_speed = 1.6
material_standby_temperature = 100
prime_tower_mode = none
prime_tower_enable = False
skin_overlap = 10
speed_layer_0 = =math.ceil(speed_print * 20 / 70)
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_standby_temperature = 100
multiple_mesh_overlap = 0
prime_tower_mode = none
prime_tower_enable = False
prime_tower_size = 16
prime_tower_wipe_enabled = True
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_standby_temperature = 100
multiple_mesh_overlap = 0
prime_tower_mode = none
prime_tower_enable = False
prime_tower_size = 16
prime_tower_wipe_enabled = True
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_standby_temperature = 100
multiple_mesh_overlap = 0
prime_tower_mode = none
prime_tower_enable = False
prime_tower_size = 16
prime_tower_wipe_enabled = True
retraction_count_max = 12

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