mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 21:48:58 +08:00
Merge branch 'main' into PP-393-ASA-PA12-CF-SR30-Profiles
This commit is contained in:
commit
fa01ac419a
2
.github/ISSUE_TEMPLATE/SlicingCrash.yaml
vendored
2
.github/ISSUE_TEMPLATE/SlicingCrash.yaml
vendored
@ -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.
|
||||
|
2
.github/workflows/unit-test.yml
vendored
2
.github/workflows/unit-test.yml
vendored
@ -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'
|
||||
|
@ -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")
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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:
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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()
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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"
|
||||
|
@ -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")
|
||||
|
@ -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.
|
||||
|
@ -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" },
|
||||
|
@ -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" }
|
||||
}
|
||||
}
|
@ -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" }
|
||||
}
|
||||
}
|
@ -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" }
|
||||
}
|
||||
}
|
@ -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\"" }
|
||||
}
|
||||
}
|
@ -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 },
|
||||
|
@ -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 },
|
||||
|
@ -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 },
|
||||
|
@ -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" },
|
||||
|
@ -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" },
|
||||
|
@ -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 },
|
||||
|
@ -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" },
|
||||
|
@ -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" },
|
||||
|
16
resources/extruders/geeetech_A20_1.def.json
Normal file
16
resources/extruders/geeetech_A20_1.def.json
Normal 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 }
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user