Merge branch 'main' into PP-393-ASA-PA12-CF-SR30-Profiles

This commit is contained in:
Casper Lamboo 2024-02-22 10:39:41 +01:00 committed by GitHub
commit fa01ac419a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
647 changed files with 748 additions and 659 deletions

View File

@ -4,7 +4,7 @@ labels: ["Type: Bug", "Status: Triage", "Slicing Error :collision:"]
body:
- type: markdown
attributes:
value: |
value: |
### 💥 Slicing Crash Analysis Tool 💥
We are taking steps to analyze an increase in reported crashes more systematically. We'll need some help with that. 😇
Before filling out the report below, we want you to try a special Cura 5.7 Alpha.

View File

@ -55,7 +55,7 @@ jobs:
needs: [ conan-recipe-version ]
with:
recipe_id_full: ${{ needs.conan-recipe-version.outputs.recipe_id_full }}
conan_extra_args: '-g VirtualPythonEnv -o cura:devtools=True -c tools.build:skip_test=False'
conan_extra_args: '-g VirtualPythonEnv -o cura:devtools=True -c tools.build:skip_test=False --options "*:enable_sentry=False"'
unit_test_cmd: 'pytest --junitxml=junit_cura.xml'
unit_test_dir: 'tests'
conan_generator_dir: './venv/bin'

View File

@ -350,6 +350,7 @@ class CuraConan(ConanFile):
self.requires("cpython/3.10.4@ultimaker/stable")
self.requires("clipper/6.4.2@ultimaker/stable")
self.requires("openssl/3.2.0")
self.requires("protobuf/3.21.12")
self.requires("boost/1.82.0")
self.requires("spdlog/1.12.0")
self.requires("fmt/10.1.1")

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_enable", "value"):
if self._global_container_stack.getProperty("prime_tower_mode", "value") != 'none':
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_enable", "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_mode", "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

@ -1082,6 +1082,10 @@ 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)
def getCuraFormulaFunctions(self, *args) -> "CuraFormulaFunctions":
if self._cura_formula_functions is None:
self._cura_formula_functions = CuraFormulaFunctions(self)

View File

@ -16,6 +16,7 @@ from UM.TaskManagement.HttpRequestManager import HttpRequestManager # To downlo
catalog = i18nCatalog("cura")
TOKEN_TIMESTAMP_FORMAT = "%Y-%m-%d %H:%M:%S"
REQUEST_TIMEOUT = 5 # Seconds
class AuthorizationHelpers:
@ -53,7 +54,8 @@ class AuthorizationHelpers:
data = urllib.parse.urlencode(data).encode("UTF-8"),
headers_dict = headers,
callback = lambda response: self.parseTokenResponse(response, callback),
error_callback = lambda response, _: self.parseTokenResponse(response, callback)
error_callback = lambda response, _: self.parseTokenResponse(response, callback),
timeout = REQUEST_TIMEOUT
)
def getAccessTokenUsingRefreshToken(self, refresh_token: str, callback: Callable[[AuthenticationResponse], None]) -> None:
@ -77,7 +79,9 @@ class AuthorizationHelpers:
data = urllib.parse.urlencode(data).encode("UTF-8"),
headers_dict = headers,
callback = lambda response: self.parseTokenResponse(response, callback),
error_callback = lambda response, _: self.parseTokenResponse(response, callback)
error_callback = lambda response, _: self.parseTokenResponse(response, callback),
urgent = True,
timeout = REQUEST_TIMEOUT
)
def parseTokenResponse(self, token_response: QNetworkReply, callback: Callable[[AuthenticationResponse], None]) -> None:
@ -122,7 +126,8 @@ class AuthorizationHelpers:
check_token_url,
headers_dict = headers,
callback = lambda reply: self._parseUserProfile(reply, success_callback, failed_callback),
error_callback = lambda _, _2: failed_callback() if failed_callback is not None else None
error_callback = lambda _, _2: failed_callback() if failed_callback is not None else None,
timeout = REQUEST_TIMEOUT
)
def _parseUserProfile(self, reply: QNetworkReply, success_callback: Optional[Callable[[UserProfile], None]], failed_callback: Optional[Callable[[], None]] = None) -> None:

View File

@ -1,4 +1,4 @@
# Copyright (c) 2021 Ultimaker B.V.
# Copyright (c) 2024 UltiMaker
# Cura is released under the terms of the LGPLv3 or higher.
import json
@ -6,13 +6,14 @@ from datetime import datetime, timedelta
from typing import Callable, Dict, Optional, TYPE_CHECKING, Union
from urllib.parse import urlencode, quote_plus
from PyQt6.QtCore import QUrl
from PyQt6.QtCore import QUrl, QTimer
from PyQt6.QtGui import QDesktopServices
from UM.Logger import Logger
from UM.Message import Message
from UM.Signal import Signal
from UM.i18n import i18nCatalog
from UM.TaskManagement.HttpRequestManager import HttpRequestManager # To download log-in tokens.
from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers, TOKEN_TIMESTAMP_FORMAT
from cura.OAuth2.LocalAuthorizationServer import LocalAuthorizationServer
from cura.OAuth2.Models import AuthenticationResponse, BaseModel
@ -25,6 +26,8 @@ if TYPE_CHECKING:
MYCLOUD_LOGOFF_URL = "https://account.ultimaker.com/logoff?utm_source=cura&utm_medium=software&utm_campaign=change-account-before-adding-printers"
REFRESH_TOKEN_MAX_RETRIES = 15
REFRESH_TOKEN_RETRY_INTERVAL = 1000
class AuthorizationService:
"""The authorization service is responsible for handling the login flow, storing user credentials and providing
@ -57,6 +60,12 @@ class AuthorizationService:
self.onAuthStateChanged.connect(self._authChanged)
self._refresh_token_retries = 0
self._refresh_token_retry_timer = QTimer()
self._refresh_token_retry_timer.setInterval(REFRESH_TOKEN_RETRY_INTERVAL)
self._refresh_token_retry_timer.setSingleShot(True)
self._refresh_token_retry_timer.timeout.connect(self.refreshAccessToken)
def _authChanged(self, logged_in):
if logged_in and self._unable_to_get_data_message is not None:
self._unable_to_get_data_message.hide()
@ -167,16 +176,29 @@ class AuthorizationService:
return
def process_auth_data(response: AuthenticationResponse) -> None:
self._currently_refreshing_token = False
if response.success:
self._refresh_token_retries = 0
self._storeAuthData(response)
HttpRequestManager.getInstance().setDelayRequests(False)
self.onAuthStateChanged.emit(logged_in = True)
else:
Logger.warning("Failed to get a new access token from the server.")
self.onAuthStateChanged.emit(logged_in = False)
if self._refresh_token_retries >= REFRESH_TOKEN_MAX_RETRIES:
self._refresh_token_retries = 0
Logger.warning("Failed to get a new access token from the server, giving up.")
HttpRequestManager.getInstance().setDelayRequests(False)
self.onAuthStateChanged.emit(logged_in = False)
else:
# Retry a bit later, network may be offline right now and will hopefully be back soon
Logger.warning("Failed to get a new access token from the server, retrying later.")
self._refresh_token_retries += 1
self._refresh_token_retry_timer.start()
if self._currently_refreshing_token:
Logger.debug("Was already busy refreshing token. Do not start a new request.")
return
HttpRequestManager.getInstance().setDelayRequests(True)
self._currently_refreshing_token = True
self._auth_helpers.getAccessTokenUsingRefreshToken(self._auth_data.refresh_token, process_auth_data)

View File

@ -38,7 +38,14 @@ 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", True)
Application.getInstance().getPreferences().addPreference("physics/automatic_drop_down", False)
self._app_per_model_drop = Application.getInstance().getPreferences().getValue("physics/automatic_drop_down")
def getAppPerModelDropDown(self):
return self._app_per_model_drop
def setAppPerModelDropDown(self, drop_to_buildplate):
self._app_per_model_drop = drop_to_buildplate
def _onSceneChanged(self, source):
if not source.callDecoration("isSliceable"):
@ -71,6 +78,7 @@ 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
@ -80,7 +88,10 @@ class PlatformPhysics:
# Move it downwards if bottom is above platform
move_vector = Vector()
if node.getSetting(SceneNodeSettings.AutoDropDown, app_automatic_drop_down) 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 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
z_offset = node.callDecoration("getZOffset") if node.getDecorator(ZOffsetDecorator.ZOffsetDecorator) else 0
move_vector = move_vector.set(y = -bbox.bottom + z_offset)
@ -168,6 +179,8 @@ class PlatformPhysics:
op = PlatformPhysicsOperation.PlatformPhysicsOperation(node, move_vector)
op.push()
# setting this drop to model same as app_automatic_drop_down
self._app_per_model_drop = app_automatic_drop_down
# After moving, we have to evaluate the boundary checks for nodes
build_volume.updateNodeBoundaryCheck()

View File

@ -61,7 +61,7 @@ class PrintOrderManager(QObject):
is_enabled = stack and \
stack.getProperty("print_sequence", "value") == "one_at_a_time" and \
stack.getProperty("user_defined_print_order_enabled", "value")
return is_enabled
return bool(is_enabled)
@staticmethod
def initializePrintOrders(nodes: List[CuraSceneNode]) -> None:

View File

@ -299,6 +299,11 @@ 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

@ -300,6 +300,25 @@ 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
@ -422,6 +441,7 @@ UM.Dialog
materialSection.reloadValues()
profileSection.reloadValues()
printerSection.reloadValues()
dropToBuildPlate.reloadValue()
}
}
}

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_enable": "wipe_tower",
"prime_tower_mode": "\"normal\" if wipe_tower else \"none\"",
"prime_tower_size": "math.sqrt(float(wipe_tower_volume) / float(layer_height))",
"ooze_shield_enabled": "ooze_shield",
"skin_overlap": "fill_overlap"

View File

@ -263,7 +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
print_settings["infill_sparse_density"] = global_stack.getProperty("infill_sparse_density", "value")

View File

@ -579,8 +579,9 @@ class XmlMaterialProfile(InstanceContainer):
meta_data[tag_name] = entry.text
if tag_name in self.__material_metadata_setting_map:
common_setting_values[self.__material_metadata_setting_map[tag_name]] = entry.text
for tag_name, value in meta_data.items():
if tag_name in self.__material_metadata_setting_map:
common_setting_values[self.__material_metadata_setting_map[tag_name]] = value
if "description" not in meta_data:
meta_data["description"] = ""
@ -1222,7 +1223,9 @@ class XmlMaterialProfile(InstanceContainer):
"diameter": "material_diameter"
}
__material_metadata_setting_map = {
"GUID": "material_guid"
"GUID": "material_guid",
"material": "material_type",
"brand": "material_brand",
}
# Map of recognised namespaces with a proper prefix.

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_enable": { "value": "True" },
"prime_tower_mode": { "value": "'normal'" },
"retraction_amount": { "value": "1" },
"retraction_combing": { "value": "'noskin'" },
"retraction_combing_max_distance": { "value": "10" },

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": "1" },
"prime_tower_min_volume": { "value": "50" },
"prime_tower_mode": { "value": "'normal'" },
"switch_extruder_retraction_amount": { "value": "0" }
}
}

View File

@ -5,7 +5,6 @@
"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\"" },
"prime_tower_enable": { "default_value": true }
"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\"" }
}
}

View File

@ -55,7 +55,6 @@
"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

@ -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_enable": { "resolve": "extruders_enabled_count > 1" },
"prime_tower_mode": { "resolve": "'normal' if extruders_enabled_count > 1 else 'none'" },
"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,7 +112,6 @@
"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

@ -149,7 +149,6 @@
"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 },

View File

@ -103,7 +103,7 @@
"default_value": false,
"enabled": true
},
"prime_tower_enable": { "value": "True" },
"prime_tower_mode": { "value": "'normal'" },
"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_enable": { "value": "True" },
"prime_tower_mode": { "value": "'normal'" },
"retraction_amount": { "value": "6.5" },
"retraction_combing": { "value": "'no_outer_surfaces'" },
"retraction_hop": { "value": "2" },

View File

@ -0,0 +1,16 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata":
{
"machine": "geeetech_A20",
"position": "0"
},
"overrides":
{
"extruder_nr": { "default_value": 0 },
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 }
}
}

View File

@ -509,11 +509,14 @@ UM.PreferencesPage
id: dropDownCheckbox
text: catalog.i18nc("@option:check", "Automatically drop models to the build plate")
checked: boolCheck(UM.Preferences.getValue("physics/automatic_drop_down"))
onCheckedChanged: UM.Preferences.setValue("physics/automatic_drop_down", checked)
onCheckedChanged:
{
UM.Preferences.setValue("physics/automatic_drop_down", checked)
CuraApplication.getWorkplaceDropToBuildplate(checked)
}
}
}
UM.TooltipArea
{
width: childrenRect.width;

View File

@ -222,7 +222,7 @@ Item
UM.Label
{
id: toolHint
text: UM.Controller.properties.getValue("ToolHint") != undefined ? UM.ActiveTool.properties.getValue("ToolHint") : ""
text: UM.Controller.properties.getValue("ToolHint") != undefined ? UM.Controller.properties.getValue("ToolHint") : ""
color: UM.Theme.getColor("tooltip_text")
anchors.horizontalCenter: parent.horizontalCenter
}

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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = True
prime_tower_mode = normal
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_enable = True
prime_tower_mode = normal
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_enable = True
prime_tower_mode = normal
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = True
prime_tower_mode = normal
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_enable = True
prime_tower_mode = normal
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_enable = True
prime_tower_mode = normal
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_enable = True
prime_tower_mode = normal
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
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_enable = False
prime_tower_mode = none
prime_tower_size = 16
prime_tower_wipe_enabled = True
retraction_count_max = 12

View File

@ -26,7 +26,7 @@ material_final_print_temperature = =max(-273.15, material_print_temperature - 15
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = =default_material_print_temperature + 10
material_standby_temperature = 100
prime_tower_enable = True
prime_tower_mode = normal
retract_at_layer_change = False
speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45)

View File

@ -26,7 +26,7 @@ material_final_print_temperature = =max(-273.15, material_print_temperature - 15
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = =default_material_print_temperature + 10
material_standby_temperature = 100
prime_tower_enable = True
prime_tower_mode = normal
retract_at_layer_change = False
speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45)

View File

@ -26,7 +26,7 @@ material_final_print_temperature = =max(-273.15, material_print_temperature - 15
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = =default_material_print_temperature + 10
material_standby_temperature = 100
prime_tower_enable = True
prime_tower_mode = normal
retract_at_layer_change = False
speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45)

View File

@ -26,7 +26,7 @@ material_final_print_temperature = =max(-273.15, material_print_temperature - 15
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = =default_material_print_temperature + 10
material_standby_temperature = 100
prime_tower_enable = True
prime_tower_mode = normal
retract_at_layer_change = False
speed_print = 45
speed_topbottom = =math.ceil(speed_print * 35 / 45)

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