diff --git a/.github/ISSUE_TEMPLATE/SlicingCrash.yaml b/.github/ISSUE_TEMPLATE/SlicingCrash.yaml index 2fe0a2f63b..37a70354c6 100644 --- a/.github/ISSUE_TEMPLATE/SlicingCrash.yaml +++ b/.github/ISSUE_TEMPLATE/SlicingCrash.yaml @@ -5,6 +5,13 @@ body: - type: markdown attributes: 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. + This version of Cura has an updated slicing engine that will automatically send a report to the Cura Team for analysis. + #### [You can find the downloads here](https://github.com/Ultimaker/Cura/discussions/18080) #### + If you still encounter a crash you are still welcome to report the issue so we can use your model as a test case, you can find instructions on how to do that below. + ### Project File **⚠️ Before you continue, we need your project file to troubleshoot a slicing crash.** It contains the printer and settings we need for troubleshooting. @@ -68,4 +75,3 @@ body: description: You can add the zip file and additional information that is relevant to the issue in the comments below. validations: required: true - diff --git a/UltiMaker-Cura.spec.jinja b/UltiMaker-Cura.spec.jinja index cd939cf736..2dce96282e 100644 --- a/UltiMaker-Cura.spec.jinja +++ b/UltiMaker-Cura.spec.jinja @@ -55,7 +55,8 @@ exe = EXE( target_arch={{ target_arch }}, codesign_identity=os.getenv('CODESIGN_IDENTITY', None), entitlements_file={{ entitlements_file }}, - icon={{ icon }} + icon={{ icon }}, + contents_directory='.' ) coll = COLLECT( @@ -70,188 +71,7 @@ coll = COLLECT( ) {% if macos == true %} -# PyInstaller seems to copy everything in the resource folder for the MacOS, this causes issues with codesigning and notarizing -# The folder structure should adhere to the one specified in Table 2-5 -# https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW1 -# The class below is basically ducktyping the BUNDLE class of PyInstaller and using our own `assemble` method for more fine-grain and specific -# control. Some code of the method below is copied from: -# https://github.com/pyinstaller/pyinstaller/blob/22d1d2a5378228744cc95f14904dae1664df32c4/PyInstaller/building/osx.py#L115 -#----------------------------------------------------------------------------- -# Copyright (c) 2005-2022, PyInstaller Development Team. -# -# Distributed under the terms of the GNU General Public License (version 2 -# or later) with exception for distributing the bootloader. -# -# The full license is in the file COPYING.txt, distributed with this software. -# -# SPDX-License-Identifier: (GPL-2.0-or-later WITH Bootloader-exception) -#----------------------------------------------------------------------------- - -import plistlib -import shutil -import PyInstaller.utils.osx as osxutils -from pathlib import Path -from PyInstaller.building.osx import BUNDLE -from PyInstaller.building.utils import (_check_path_overlap, _rmtree, add_suffix_to_extension, checkCache) -from PyInstaller.building.datastruct import logger -from PyInstaller.building.icon import normalize_icon_type - - -class UMBUNDLE(BUNDLE): - def assemble(self): - from PyInstaller.config import CONF - - if _check_path_overlap(self.name) and os.path.isdir(self.name): - _rmtree(self.name) - logger.info("Building BUNDLE %s", self.tocbasename) - - # Create a minimal Mac bundle structure. - macos_path = Path(self.name, "Contents", "MacOS") - resources_path = Path(self.name, "Contents", "Resources") - frameworks_path = Path(self.name, "Contents", "Frameworks") - os.makedirs(macos_path) - os.makedirs(resources_path) - os.makedirs(frameworks_path) - - # Makes sure the icon exists and attempts to convert to the proper format if applicable - self.icon = normalize_icon_type(self.icon, ("icns",), "icns", CONF["workpath"]) - - # Ensure icon path is absolute - self.icon = os.path.abspath(self.icon) - - # Copy icns icon to Resources directory. - shutil.copy(self.icon, os.path.join(self.name, 'Contents', 'Resources')) - - # Key/values for a minimal Info.plist file - info_plist_dict = { - "CFBundleDisplayName": self.appname, - "CFBundleName": self.appname, - - # Required by 'codesign' utility. - # The value for CFBundleIdentifier is used as the default unique name of your program for Code Signing - # purposes. It even identifies the APP for access to restricted OS X areas like Keychain. - # - # The identifier used for signing must be globally unique. The usual form for this identifier is a - # hierarchical name in reverse DNS notation, starting with the toplevel domain, followed by the company - # name, followed by the department within the company, and ending with the product name. Usually in the - # form: com.mycompany.department.appname - # CLI option --osx-bundle-identifier sets this value. - "CFBundleIdentifier": self.bundle_identifier, - "CFBundleExecutable": os.path.basename(self.exename), - "CFBundleIconFile": os.path.basename(self.icon), - "CFBundleInfoDictionaryVersion": "6.0", - "CFBundlePackageType": "APPL", - "CFBundleVersionString": self.version, - "CFBundleShortVersionString": self.version, - } - - # Set some default values. But they still can be overwritten by the user. - if self.console: - # Setting EXE console=True implies LSBackgroundOnly=True. - info_plist_dict['LSBackgroundOnly'] = True - else: - # Let's use high resolution by default. - info_plist_dict['NSHighResolutionCapable'] = True - - # Merge info_plist settings from spec file - if isinstance(self.info_plist, dict) and self.info_plist: - info_plist_dict.update(self.info_plist) - - plist_filename = os.path.join(self.name, "Contents", "Info.plist") - with open(plist_filename, "wb") as plist_fh: - plistlib.dump(info_plist_dict, plist_fh) - - links = [] - _QT_BASE_PATH = {'PySide2', 'PySide6', 'PyQt5', 'PyQt6', 'PySide6'} - for inm, fnm, typ in self.toc: - # Adjust name for extensions, if applicable - inm, fnm, typ = add_suffix_to_extension(inm, fnm, typ) - inm = Path(inm) - fnm = Path(fnm) - # Copy files from cache. This ensures that are used files with relative paths to dynamic library - # dependencies (@executable_path) - if typ in ('EXTENSION', 'BINARY') or (typ == 'DATA' and inm.suffix == '.so'): - if any(['.' in p for p in inm.parent.parts]): - inm = Path(inm.name) - fnm = Path(checkCache( - str(fnm), - strip = self.strip, - upx = self.upx, - upx_exclude = self.upx_exclude, - dist_nm = str(inm), - target_arch = self.target_arch, - codesign_identity = self.codesign_identity, - entitlements_file = self.entitlements_file, - strict_arch_validation = (typ == 'EXTENSION'), - )) - frame_dst = frameworks_path.joinpath(inm) - if not frame_dst.exists(): - if frame_dst.is_dir(): - os.makedirs(frame_dst, exist_ok = True) - else: - os.makedirs(frame_dst.parent, exist_ok = True) - shutil.copy(fnm, frame_dst, follow_symlinks = True) - macos_dst = macos_path.joinpath(inm) - if not macos_dst.exists(): - if macos_dst.is_dir(): - os.makedirs(macos_dst, exist_ok = True) - else: - os.makedirs(macos_dst.parent, exist_ok = True) - - # Create relative symlink to the framework - symlink_to = Path(*[".." for p in macos_dst.relative_to(macos_path).parts], "Frameworks").joinpath( - frame_dst.relative_to(frameworks_path)) - try: - macos_dst.symlink_to(symlink_to) - except FileExistsError: - pass - else: - if typ == 'DATA': - if any(['.' in p for p in inm.parent.parts]) or inm.suffix == '.so': - # Skip info dist egg and some not needed folders in tcl and tk, since they all contain dots in their files - logger.warning(f"Skipping DATA file {inm}") - continue - res_dst = resources_path.joinpath(inm) - if not res_dst.exists(): - if res_dst.is_dir(): - os.makedirs(res_dst, exist_ok = True) - else: - os.makedirs(res_dst.parent, exist_ok = True) - shutil.copy(fnm, res_dst, follow_symlinks = True) - macos_dst = macos_path.joinpath(inm) - if not macos_dst.exists(): - if macos_dst.is_dir(): - os.makedirs(macos_dst, exist_ok = True) - else: - os.makedirs(macos_dst.parent, exist_ok = True) - - # Create relative symlink to the resource - symlink_to = Path(*[".." for p in macos_dst.relative_to(macos_path).parts], "Resources").joinpath( - res_dst.relative_to(resources_path)) - try: - macos_dst.symlink_to(symlink_to) - except FileExistsError: - pass - else: - macos_dst = macos_path.joinpath(inm) - if not macos_dst.exists(): - if macos_dst.is_dir(): - os.makedirs(macos_dst, exist_ok = True) - else: - os.makedirs(macos_dst.parent, exist_ok = True) - shutil.copy(fnm, macos_dst, follow_symlinks = True) - - # Sign the bundle - logger.info('Signing the BUNDLE...') - try: - osxutils.sign_binary(self.name, self.codesign_identity, self.entitlements_file, deep = True) - except Exception as e: - logger.warning(f"Error while signing the bundle: {e}") - logger.warning("You will need to sign the bundle manually!") - - logger.info(f"Building BUNDLE {self.tocbasename} completed successfully.") - -app = UMBUNDLE( +app = BUNDLE( coll, name='{{ display_name }}.app', icon={{ icon }}, @@ -271,9 +91,10 @@ app = UMBUNDLE( 'CFBundleURLSchemes': ['cura', 'slicer'], }], 'CFBundleDocumentTypes': [{ - 'CFBundleTypeRole': 'Viewer', - 'CFBundleTypeExtensions': ['*'], - 'CFBundleTypeName': 'Model Files', - }] - }, -){% endif %} + 'CFBundleTypeRole': 'Viewer', + 'CFBundleTypeExtensions': ['stl', 'obj', '3mf', 'gcode', 'ufp'], + 'CFBundleTypeName': 'Model Files', + }] + }, +) +{% endif %} diff --git a/conandata.yml b/conandata.yml index 9b0e2e337b..51a44c152d 100644 --- a/conandata.yml +++ b/conandata.yml @@ -1,10 +1,10 @@ -version: "5.7.0-alpha.0" +version: "5.7.0-alpha.1" requirements: - "uranium/(latest)@ultimaker/testing" - "curaengine/(latest)@ultimaker/testing" - "cura_binary_data/(latest)@ultimaker/testing" - "fdm_materials/(latest)@ultimaker/testing" - - "curaengine_plugin_gradual_flow/(latest)@ultimaker/stable" + - "curaengine_plugin_gradual_flow/0.1.0-beta.2" - "dulcificum/latest@ultimaker/testing" - "pysavitar/5.3.0" - "pynest2d/5.3.0" @@ -118,7 +118,6 @@ pyinstaller: - "sqlite3" - "trimesh" - "win32ctypes" - - "PyQt6" - "PyQt6.QtNetwork" - "PyQt6.sip" - "stl" @@ -160,6 +159,10 @@ pycharm_targets: module_name: Cura name: pytest in TestGCodeListDecorator.py script_name: tests/TestGCodeListDecorator.py + - jinja_path: .run_templates/pycharm_cura_test.run.xml.jinja + module_name: Cura + name: pytest in TestHitChecker.py + script_name: tests/TestHitChecker.py - jinja_path: .run_templates/pycharm_cura_test.run.xml.jinja module_name: Cura name: pytest in TestIntentManager.py @@ -188,6 +191,10 @@ pycharm_targets: module_name: Cura name: pytest in TestPrintInformation.py script_name: tests/TestPrintInformation.py + - jinja_path: .run_templates/pycharm_cura_test.run.xml.jinja + module_name: Cura + name: pytest in TestPrintOrderManager.py + script_name: tests/TestPrintOrderManager.py - jinja_path: .run_templates/pycharm_cura_test.run.xml.jinja module_name: Cura name: pytest in TestProfileRequirements.py diff --git a/conanfile.py b/conanfile.py index ca8427ad70..3b48442fa0 100644 --- a/conanfile.py +++ b/conanfile.py @@ -1,4 +1,5 @@ import os +from io import StringIO from pathlib import Path from jinja2 import Template @@ -150,6 +151,7 @@ class CuraConan(ConanFile): return "None" def _conan_installs(self): + self.output.info("Collecting conan installs") conan_installs = {} # list of conan installs @@ -161,13 +163,22 @@ class CuraConan(ConanFile): return conan_installs def _python_installs(self): + self.output.info("Collecting python installs") python_installs = {} # list of python installs - python_ins_cmd = f"python -c \"import pkg_resources; print(';'.join([(s.key+','+ s.version) for s in pkg_resources.working_set]))\"" - from six import StringIO + run_env = VirtualRunEnv(self) + env = run_env.environment() + env.prepend_path("PYTHONPATH", str(self._site_packages.as_posix())) + venv_vars = env.vars(self, scope = "run") + + outer = '"' if self.settings.os == "Windows" else "'" + inner = "'" if self.settings.os == "Windows" else '"' buffer = StringIO() - self.run(python_ins_cmd, run_environment= True, env = "conanrun", output=buffer) + with venv_vars.apply(): + self.run(f"""python -c {outer}import pkg_resources; print({inner};{inner}.join([(s.key+{inner},{inner}+ s.version) for s in pkg_resources.working_set])){outer}""", + env = "conanrun", + output = buffer) packages = str(buffer.getvalue()).split("-----------------\n") packages = packages[1].strip('\r\n').split(";") @@ -420,7 +431,6 @@ class CuraConan(ConanFile): ) if self.options.get_safe("enable_i18n", False) and self._i18n_options["extract"]: - # Update the po and pot files vb = VirtualBuildEnv(self) vb.generate() @@ -505,10 +515,14 @@ echo "CURA_APP_NAME={{ cura_app_name }}" >> ${{ env_prefix }}GITHUB_ENV if self.in_local_cache: self.runenv_info.append_path("PYTHONPATH", os.path.join(self.package_folder, "site-packages")) + self.env_info.PYTHONPATH.append(os.path.join(self.package_folder, "site-packages")) self.runenv_info.append_path("PYTHONPATH", os.path.join(self.package_folder, "plugins")) + self.env_info.PYTHONPATH.append(os.path.join(self.package_folder, "plugins")) else: self.runenv_info.append_path("PYTHONPATH", self.source_folder) + self.env_info.PYTHONPATH.append(self.source_folder) self.runenv_info.append_path("PYTHONPATH", os.path.join(self.source_folder, "plugins")) + self.env_info.PYTHONPATH.append(os.path.join(self.source_folder, "plugins")) def package_id(self): self.info.clear() diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 67c420028b..20e54fa57c 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -104,7 +104,8 @@ from cura.Settings.SettingInheritanceManager import SettingInheritanceManager from cura.Settings.SidebarCustomMenuItemsModel import SidebarCustomMenuItemsModel from cura.Settings.SimpleModeSettingsManager import SimpleModeSettingsManager from cura.TaskManagement.OnExitCallbackManager import OnExitCallbackManager -from cura.UI import CuraSplashScreen, MachineActionManager, PrintInformation +from cura.UI import CuraSplashScreen, PrintInformation +from cura.UI.MachineActionManager import MachineActionManager from cura.UI.AddPrinterPagesModel import AddPrinterPagesModel from cura.UI.MachineSettingsManager import MachineSettingsManager from cura.UI.ObjectsModel import ObjectsModel @@ -125,6 +126,7 @@ from .Machines.Models.CompatibleMachineModel import CompatibleMachineModel from .Machines.Models.MachineListModel import MachineListModel from .Machines.Models.ActiveIntentQualitiesModel import ActiveIntentQualitiesModel from .Machines.Models.IntentSelectionModel import IntentSelectionModel +from .PrintOrderManager import PrintOrderManager from .SingleInstance import SingleInstance if TYPE_CHECKING: @@ -179,6 +181,7 @@ class CuraApplication(QtApplication): # Variables set from CLI self._files_to_open = [] + self._urls_to_open = [] self._use_single_instance = False self._single_instance = None @@ -186,7 +189,7 @@ class CuraApplication(QtApplication): self._cura_formula_functions = None # type: Optional[CuraFormulaFunctions] - self._machine_action_manager = None # type: Optional[MachineActionManager.MachineActionManager] + self._machine_action_manager: Optional[MachineActionManager] = None self.empty_container = None # type: EmptyInstanceContainer self.empty_definition_changes_container = None # type: EmptyInstanceContainer @@ -202,6 +205,7 @@ class CuraApplication(QtApplication): self._container_manager = None self._object_manager = None + self._print_order_manager = None self._extruders_model = None self._extruders_model_with_optional = None self._build_plate_model = None @@ -333,7 +337,7 @@ class CuraApplication(QtApplication): for filename in self._cli_args.file: url = QUrl(filename) if url.scheme() in self._supported_url_schemes: - self._open_url_queue.append(url) + self._urls_to_open.append(url) else: self._files_to_open.append(os.path.abspath(filename)) @@ -352,11 +356,11 @@ class CuraApplication(QtApplication): self.__addAllEmptyContainers() self.__setLatestResouceVersionsForVersionUpgrade() - self._machine_action_manager = MachineActionManager.MachineActionManager(self) + self._machine_action_manager = MachineActionManager(self) self._machine_action_manager.initialize() def __sendCommandToSingleInstance(self): - self._single_instance = SingleInstance(self, self._files_to_open) + self._single_instance = SingleInstance(self, self._files_to_open, self._urls_to_open) # If we use single instance, try to connect to the single instance server, send commands, and then exit. # If we cannot find an existing single instance server, this is the only instance, so just keep going. @@ -373,9 +377,15 @@ class CuraApplication(QtApplication): Resources.addExpectedDirNameInData(dir_name) app_root = os.path.abspath(os.path.join(os.path.dirname(sys.executable))) - Resources.addSecureSearchPath(os.path.join(app_root, "share", "cura", "resources")) - Resources.addSecureSearchPath(os.path.join(self._app_install_dir, "share", "cura", "resources")) + if platform.system() == "Darwin": + Resources.addSecureSearchPath(os.path.join(app_root, "Resources", "share", "cura", "resources")) + Resources.addSecureSearchPath( + os.path.join(self._app_install_dir, "Resources", "share", "cura", "resources")) + else: + Resources.addSecureSearchPath(os.path.join(app_root, "share", "cura", "resources")) + Resources.addSecureSearchPath(os.path.join(self._app_install_dir, "share", "cura", "resources")) + if not hasattr(sys, "frozen"): cura_data_root = os.environ.get('CURA_DATA_ROOT', None) if cura_data_root: @@ -899,6 +909,7 @@ class CuraApplication(QtApplication): # initialize info objects self._print_information = PrintInformation.PrintInformation(self) self._cura_actions = CuraActions.CuraActions(self) + self._print_order_manager = PrintOrderManager(self.getObjectsModel().getNodes) self.processEvents() # Initialize setting visibility presets model. self._setting_visibility_presets_model = SettingVisibilityPresetsModel(self.getPreferences(), parent = self) @@ -956,6 +967,8 @@ class CuraApplication(QtApplication): self.callLater(self._openFile, file_name) for file_name in self._open_file_queue: # Open all the files that were queued up while plug-ins were loading. self.callLater(self._openFile, file_name) + for url in self._urls_to_open: + self.callLater(self._openUrl, url) for url in self._open_url_queue: self.callLater(self._openUrl, url) @@ -979,6 +992,7 @@ class CuraApplication(QtApplication): t.setEnabledAxis([ToolHandle.XAxis, ToolHandle.YAxis, ToolHandle.ZAxis]) Selection.selectionChanged.connect(self.onSelectionChanged) + self._print_order_manager.printOrderChanged.connect(self._onPrintOrderChanged) # Set default background color for scene self.getRenderer().setBackgroundColor(QColor(245, 245, 245)) @@ -1068,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) @@ -1094,6 +1112,10 @@ class CuraApplication(QtApplication): self._object_manager = ObjectsModel(self) return self._object_manager + @pyqtSlot(str, result = "QVariantList") + def getSupportedActionMachineList(self, definition_id: str) -> List["MachineAction"]: + return self._machine_action_manager.getSupportedActions(self._machine_manager.getDefinitionByMachineId(definition_id)) + @pyqtSlot(result = QObject) def getExtrudersModel(self, *args) -> "ExtrudersModel": if self._extruders_model is None: @@ -1129,18 +1151,16 @@ class CuraApplication(QtApplication): self._setting_inheritance_manager = SettingInheritanceManager.createSettingInheritanceManager() return self._setting_inheritance_manager - def getMachineActionManager(self, *args: Any) -> MachineActionManager.MachineActionManager: + @pyqtSlot(result = QObject) + def getMachineActionManager(self, *args: Any) -> MachineActionManager: """Get the machine action manager We ignore any *args given to this, as we also register the machine manager as qml singleton. It wants to give this function an engine and script engine, but we don't care about that. """ - return cast(MachineActionManager.MachineActionManager, self._machine_action_manager) + return self._machine_action_manager - @pyqtSlot(result = QObject) - def getMachineActionManagerQml(self)-> MachineActionManager.MachineActionManager: - return cast(QObject, self._machine_action_manager) @pyqtSlot(result = QObject) def getMaterialManagementModel(self) -> MaterialManagementModel: @@ -1250,6 +1270,7 @@ class CuraApplication(QtApplication): self.processEvents() engine.rootContext().setContextProperty("Printer", self) engine.rootContext().setContextProperty("CuraApplication", self) + engine.rootContext().setContextProperty("PrintOrderManager", self._print_order_manager) engine.rootContext().setContextProperty("PrintInformation", self._print_information) engine.rootContext().setContextProperty("CuraActions", self._cura_actions) engine.rootContext().setContextProperty("CuraSDKVersion", ApplicationMetadata.CuraSDKVersion) @@ -1264,7 +1285,7 @@ class CuraApplication(QtApplication): qmlRegisterSingletonType(IntentManager, "Cura", 1, 6, self.getIntentManager, "IntentManager") qmlRegisterSingletonType(SettingInheritanceManager, "Cura", 1, 0, self.getSettingInheritanceManager, "SettingInheritanceManager") qmlRegisterSingletonType(SimpleModeSettingsManager, "Cura", 1, 0, self.getSimpleModeSettingsManagerWrapper, "SimpleModeSettingsManager") - qmlRegisterSingletonType(MachineActionManager.MachineActionManager, "Cura", 1, 0, self.getMachineActionManagerWrapper, "MachineActionManager") + qmlRegisterSingletonType(MachineActionManager, "Cura", 1, 0, self.getMachineActionManagerWrapper, "MachineActionManager") self.processEvents() qmlRegisterType(NetworkingUtil, "Cura", 1, 5, "NetworkingUtil") @@ -1745,8 +1766,12 @@ class CuraApplication(QtApplication): Selection.remove(node) Selection.add(group_node) + all_nodes = self.getObjectsModel().getNodes() + PrintOrderManager.updatePrintOrdersAfterGroupOperation(all_nodes, group_node, selected_nodes) + @pyqtSlot() def ungroupSelected(self) -> None: + all_nodes = self.getObjectsModel().getNodes() selected_objects = Selection.getAllSelectedObjects().copy() for node in selected_objects: if node.callDecoration("isGroup"): @@ -1754,21 +1779,30 @@ class CuraApplication(QtApplication): group_parent = node.getParent() children = node.getChildren().copy() - for child in children: - # Ungroup only 1 level deep - if child.getParent() != node: - continue + # Ungroup only 1 level deep + children_to_ungroup = list(filter(lambda child: child.getParent() == node, children)) + for child in children_to_ungroup: # Set the parent of the children to the parent of the group-node op.addOperation(SetParentOperation(child, group_parent)) # Add all individual nodes to the selection Selection.add(child) + PrintOrderManager.updatePrintOrdersAfterUngroupOperation(all_nodes, node, children_to_ungroup) op.push() # Note: The group removes itself from the scene once all its children have left it, # see GroupDecorator._onChildrenChanged + def _onPrintOrderChanged(self) -> None: + # update object list + scene = self.getController().getScene() + scene.sceneChanged.emit(scene.getRoot()) + + # reset if already was sliced + Application.getInstance().getBackend().needsSlicing() + Application.getInstance().getBackend().tickle() + def _createSplashScreen(self) -> Optional[CuraSplashScreen.CuraSplashScreen]: if self._is_headless: return None diff --git a/cura/HitChecker.py b/cura/HitChecker.py new file mode 100644 index 0000000000..4b229e6b9b --- /dev/null +++ b/cura/HitChecker.py @@ -0,0 +1,88 @@ +from typing import List, Dict +from cura.Scene.CuraSceneNode import CuraSceneNode + + +class HitChecker: + """Checks if nodes can be printed without causing any collisions and interference""" + + def __init__(self, nodes: List[CuraSceneNode]) -> None: + self._hit_map = self._buildHitMap(nodes) + + def anyTwoNodesBlockEachOther(self, nodes: List[CuraSceneNode]) -> bool: + """Returns True if any 2 nodes block each other""" + for a in nodes: + for b in nodes: + if self._hit_map[a][b] and self._hit_map[b][a]: + return True + return False + + def canPrintBefore(self, node: CuraSceneNode, other_nodes: List[CuraSceneNode]) -> bool: + """Returns True if node doesn't block other_nodes and can be printed before them""" + no_hits = all(not self._hit_map[node][other_node] for other_node in other_nodes) + return no_hits + + def canPrintAfter(self, node: CuraSceneNode, other_nodes: List[CuraSceneNode]) -> bool: + """Returns True if node doesn't hit other nodes and can be printed after them""" + no_hits = all(not self._hit_map[other_node][node] for other_node in other_nodes) + return no_hits + + def calculateScore(self, a: CuraSceneNode, b: CuraSceneNode) -> int: + """Calculate score simply sums the number of other objects it 'blocks' + + :param a: node + :param b: node + :return: sum of the number of other objects + """ + + score_a = sum(self._hit_map[a].values()) + score_b = sum(self._hit_map[b].values()) + return score_a - score_b + + def canPrintNodesInProvidedOrder(self, ordered_nodes: List[CuraSceneNode]) -> bool: + """Returns True If nodes don't have any hits in provided order""" + for node_index, node in enumerate(ordered_nodes): + nodes_before = ordered_nodes[:node_index - 1] if node_index - 1 >= 0 else [] + nodes_after = ordered_nodes[node_index + 1:] if node_index + 1 < len(ordered_nodes) else [] + if not self.canPrintBefore(node, nodes_after) or not self.canPrintAfter(node, nodes_before): + return False + return True + + @staticmethod + def _buildHitMap(nodes: List[CuraSceneNode]) -> Dict[CuraSceneNode, CuraSceneNode]: + """Pre-computes all hits between all objects + + :nodes: nodes that need to be checked for collisions + :return: dictionary where hit_map[node1][node2] is False if there node1 can be printed before node2 + """ + hit_map = {j: {i: HitChecker._checkHit(j, i) for i in nodes} for j in nodes} + return hit_map + + @staticmethod + def _checkHit(a: CuraSceneNode, b: CuraSceneNode) -> bool: + """Checks if a can be printed before b + + :param a: node + :param b: node + :return: False if a can be printed before b + """ + + if a == b: + return False + + a_hit_hull = a.callDecoration("getConvexHullBoundary") + b_hit_hull = b.callDecoration("getConvexHullHeadFull") + overlap = a_hit_hull.intersectsPolygon(b_hit_hull) + + if overlap: + return True + + # Adhesion areas must never overlap, regardless of printing order + # This would cause over-extrusion + a_hit_hull = a.callDecoration("getAdhesionArea") + b_hit_hull = b.callDecoration("getAdhesionArea") + overlap = a_hit_hull.intersectsPolygon(b_hit_hull) + + if overlap: + return True + else: + return False diff --git a/cura/OAuth2/AuthorizationHelpers.py b/cura/OAuth2/AuthorizationHelpers.py index 569ba80659..3e7dabaf08 100644 --- a/cura/OAuth2/AuthorizationHelpers.py +++ b/cura/OAuth2/AuthorizationHelpers.py @@ -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: diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index 06478e911b..4e8d28173a 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -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) diff --git a/cura/OneAtATimeIterator.py b/cura/OneAtATimeIterator.py index 8bdddba554..1017cfc79e 100644 --- a/cura/OneAtATimeIterator.py +++ b/cura/OneAtATimeIterator.py @@ -7,6 +7,11 @@ from UM.Scene.Iterator import Iterator from UM.Scene.SceneNode import SceneNode from functools import cmp_to_key +from cura.HitChecker import HitChecker +from cura.PrintOrderManager import PrintOrderManager +from cura.Scene.CuraSceneNode import CuraSceneNode + + class OneAtATimeIterator(Iterator.Iterator): """Iterator that returns a list of nodes in the order that they need to be printed @@ -16,8 +21,6 @@ class OneAtATimeIterator(Iterator.Iterator): def __init__(self, scene_node) -> None: super().__init__(scene_node) # Call super to make multiple inheritance work. - self._hit_map = [[]] # type: List[List[bool]] # For each node, which other nodes this hits. A grid of booleans on which nodes hit which. - self._original_node_list = [] # type: List[SceneNode] # The nodes that need to be checked for collisions. def _fillStack(self) -> None: """Fills the ``_node_stack`` with a list of scene nodes that need to be printed in order. """ @@ -38,104 +41,50 @@ class OneAtATimeIterator(Iterator.Iterator): self._node_stack = node_list[:] return - # Copy the list - self._original_node_list = node_list[:] + hit_checker = HitChecker(node_list) - # Initialise the hit map (pre-compute all hits between all objects) - self._hit_map = [[self._checkHit(i, j) for i in node_list] for j in node_list] + if PrintOrderManager.isUserDefinedPrintOrderEnabled(): + self._node_stack = self._getNodesOrderedByUser(hit_checker, node_list) + else: + self._node_stack = self._getNodesOrderedAutomatically(hit_checker, node_list) - # Check if we have to files that block each other. If this is the case, there is no solution! - for a in range(0, len(node_list)): - for b in range(0, len(node_list)): - if a != b and self._hit_map[a][b] and self._hit_map[b][a]: - return + # update print orders so that user can try to arrange the nodes automatically first + # and if result is not satisfactory he/she can switch to manual mode and change it + for index, node in enumerate(self._node_stack): + node.printOrder = index + 1 + + @staticmethod + def _getNodesOrderedByUser(hit_checker: HitChecker, node_list: List[CuraSceneNode]) -> List[CuraSceneNode]: + nodes_ordered_by_user = sorted(node_list, key=lambda n: n.printOrder) + if hit_checker.canPrintNodesInProvidedOrder(nodes_ordered_by_user): + return nodes_ordered_by_user + return [] # No solution + + @staticmethod + def _getNodesOrderedAutomatically(hit_checker: HitChecker, node_list: List[CuraSceneNode]) -> List[CuraSceneNode]: + # Check if we have two files that block each other. If this is the case, there is no solution! + if hit_checker.anyTwoNodesBlockEachOther(node_list): + return [] # No solution # Sort the original list so that items that block the most other objects are at the beginning. # This does not decrease the worst case running time, but should improve it in most cases. - sorted(node_list, key = cmp_to_key(self._calculateScore)) + node_list = sorted(node_list, key = cmp_to_key(hit_checker.calculateScore)) todo_node_list = [_ObjectOrder([], node_list)] while len(todo_node_list) > 0: current = todo_node_list.pop() for node in current.todo: # Check if the object can be placed with what we have and still allows for a solution in the future - if not self._checkHitMultiple(node, current.order) and not self._checkBlockMultiple(node, current.todo): + if hit_checker.canPrintAfter(node, current.order) and hit_checker.canPrintBefore(node, current.todo): # We found a possible result. Create new todo & order list. new_todo_list = current.todo[:] new_todo_list.remove(node) new_order = current.order[:] + [node] if len(new_todo_list) == 0: # We have no more nodes to check, so quit looking. - self._node_stack = new_order - return + return new_order # Solution found! todo_node_list.append(_ObjectOrder(new_order, new_todo_list)) - self._node_stack = [] #No result found! - - - # Check if first object can be printed before the provided list (using the hit map) - def _checkHitMultiple(self, node: SceneNode, other_nodes: List[SceneNode]) -> bool: - node_index = self._original_node_list.index(node) - for other_node in other_nodes: - other_node_index = self._original_node_list.index(other_node) - if self._hit_map[node_index][other_node_index]: - return True - return False - - def _checkBlockMultiple(self, node: SceneNode, other_nodes: List[SceneNode]) -> bool: - """Check for a node whether it hits any of the other nodes. - - :param node: The node to check whether it collides with the other nodes. - :param other_nodes: The nodes to check for collisions. - :return: returns collision between nodes - """ - - node_index = self._original_node_list.index(node) - for other_node in other_nodes: - other_node_index = self._original_node_list.index(other_node) - if self._hit_map[other_node_index][node_index] and node_index != other_node_index: - return True - return False - - def _calculateScore(self, a: SceneNode, b: SceneNode) -> int: - """Calculate score simply sums the number of other objects it 'blocks' - - :param a: node - :param b: node - :return: sum of the number of other objects - """ - - score_a = sum(self._hit_map[self._original_node_list.index(a)]) - score_b = sum(self._hit_map[self._original_node_list.index(b)]) - return score_a - score_b - - def _checkHit(self, a: SceneNode, b: SceneNode) -> bool: - """Checks if a can be printed before b - - :param a: node - :param b: node - :return: true if a can be printed before b - """ - - if a == b: - return False - - a_hit_hull = a.callDecoration("getConvexHullBoundary") - b_hit_hull = b.callDecoration("getConvexHullHeadFull") - overlap = a_hit_hull.intersectsPolygon(b_hit_hull) - - if overlap: - return True - - # Adhesion areas must never overlap, regardless of printing order - # This would cause over-extrusion - a_hit_hull = a.callDecoration("getAdhesionArea") - b_hit_hull = b.callDecoration("getAdhesionArea") - overlap = a_hit_hull.intersectsPolygon(b_hit_hull) - - if overlap: - return True - else: - return False + return [] # No result found! class _ObjectOrder: diff --git a/cura/PlatformPhysics.py b/cura/PlatformPhysics.py index 1ef39de80d..6a26190a56 100755 --- a/cura/PlatformPhysics.py +++ b/cura/PlatformPhysics.py @@ -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() diff --git a/cura/PrintOrderManager.py b/cura/PrintOrderManager.py new file mode 100644 index 0000000000..80fc1e99dc --- /dev/null +++ b/cura/PrintOrderManager.py @@ -0,0 +1,171 @@ +from typing import List, Callable, Optional, Any + +from PyQt6.QtCore import pyqtProperty, pyqtSignal, QObject, pyqtSlot +from UM.Application import Application +from UM.Scene.Selection import Selection + +from cura.Scene.CuraSceneNode import CuraSceneNode + + +class PrintOrderManager(QObject): + """Allows to order the object list to set the print sequence manually""" + + def __init__(self, get_nodes: Callable[[], List[CuraSceneNode]]) -> None: + super().__init__() + self._get_nodes = get_nodes + self._configureEvents() + + _settingsChanged = pyqtSignal() + _uiActionsOutdated = pyqtSignal() + printOrderChanged = pyqtSignal() + + @pyqtSlot() + def swapSelectedAndPreviousNodes(self) -> None: + selected_node, previous_node, next_node = self._getSelectedAndNeighborNodes() + self._swapPrintOrders(selected_node, previous_node) + + @pyqtSlot() + def swapSelectedAndNextNodes(self) -> None: + selected_node, previous_node, next_node = self._getSelectedAndNeighborNodes() + self._swapPrintOrders(selected_node, next_node) + + @pyqtProperty(str, notify=_uiActionsOutdated) + def previousNodeName(self) -> str: + selected_node, previous_node, next_node = self._getSelectedAndNeighborNodes() + return self._getNodeName(previous_node) + + @pyqtProperty(str, notify=_uiActionsOutdated) + def nextNodeName(self) -> str: + selected_node, previous_node, next_node = self._getSelectedAndNeighborNodes() + return self._getNodeName(next_node) + + @pyqtProperty(bool, notify=_uiActionsOutdated) + def shouldEnablePrintBeforeAction(self) -> bool: + selected_node, previous_node, next_node = self._getSelectedAndNeighborNodes() + can_swap_with_previous_node = selected_node is not None and previous_node is not None + return can_swap_with_previous_node + + @pyqtProperty(bool, notify=_uiActionsOutdated) + def shouldEnablePrintAfterAction(self) -> bool: + selected_node, previous_node, next_node = self._getSelectedAndNeighborNodes() + can_swap_with_next_node = selected_node is not None and next_node is not None + return can_swap_with_next_node + + @pyqtProperty(bool, notify=_settingsChanged) + def shouldShowEditPrintOrderActions(self) -> bool: + return PrintOrderManager.isUserDefinedPrintOrderEnabled() + + @staticmethod + def isUserDefinedPrintOrderEnabled() -> bool: + stack = Application.getInstance().getGlobalContainerStack() + is_enabled = stack and \ + stack.getProperty("print_sequence", "value") == "one_at_a_time" and \ + stack.getProperty("user_defined_print_order_enabled", "value") + return bool(is_enabled) + + @staticmethod + def initializePrintOrders(nodes: List[CuraSceneNode]) -> None: + """Just created (loaded from file) nodes have print order 0. + + This method initializes print orders with max value to put nodes at the end of object list""" + max_print_order = max(map(lambda n: n.printOrder, nodes), default=0) + for node in nodes: + if node.printOrder == 0: + max_print_order += 1 + node.printOrder = max_print_order + + @staticmethod + def updatePrintOrdersAfterGroupOperation( + all_nodes: List[CuraSceneNode], + group_node: CuraSceneNode, + grouped_nodes: List[CuraSceneNode] + ) -> None: + group_node.printOrder = min(map(lambda n: n.printOrder, grouped_nodes)) + + all_nodes.append(group_node) + for node in grouped_nodes: + all_nodes.remove(node) + + # reassign print orders so there won't be gaps like 1 2 5 6 7 + sorted_nodes = sorted(all_nodes, key=lambda n: n.printOrder) + for i, node in enumerate(sorted_nodes): + node.printOrder = i + 1 + + @staticmethod + def updatePrintOrdersAfterUngroupOperation( + all_nodes: List[CuraSceneNode], + group_node: CuraSceneNode, + ungrouped_nodes: List[CuraSceneNode] + ) -> None: + all_nodes.remove(group_node) + nodes_to_update_print_order = filter(lambda n: n.printOrder > group_node.printOrder, all_nodes) + for node in nodes_to_update_print_order: + node.printOrder += len(ungrouped_nodes) - 1 + + for i, child in enumerate(ungrouped_nodes): + child.printOrder = group_node.printOrder + i + all_nodes.append(child) + + def _swapPrintOrders(self, node1: CuraSceneNode, node2: CuraSceneNode) -> None: + if node1 and node2: + node1.printOrder, node2.printOrder = node2.printOrder, node1.printOrder # swap print orders + self.printOrderChanged.emit() # update object list first + self._uiActionsOutdated.emit() # then update UI actions + + def _getSelectedAndNeighborNodes(self + ) -> (Optional[CuraSceneNode], Optional[CuraSceneNode], Optional[CuraSceneNode]): + nodes = self._get_nodes() + ordered_nodes = sorted(nodes, key=lambda n: n.printOrder) + selected_node = PrintOrderManager._getSingleSelectedNode() + if selected_node and selected_node in ordered_nodes: + selected_node_index = ordered_nodes.index(selected_node) + else: + selected_node_index = None + + if selected_node_index is not None and selected_node_index - 1 >= 0: + previous_node = ordered_nodes[selected_node_index - 1] + else: + previous_node = None + + if selected_node_index is not None and selected_node_index + 1 < len(ordered_nodes): + next_node = ordered_nodes[selected_node_index + 1] + else: + next_node = None + + return selected_node, previous_node, next_node + + @staticmethod + def _getNodeName(node: CuraSceneNode, max_length: int = 30) -> str: + node_name = node.getName() if node else "" + truncated_node_name = node_name[:max_length] + return truncated_node_name + + @staticmethod + def _getSingleSelectedNode() -> Optional[CuraSceneNode]: + if len(Selection.getAllSelectedObjects()) == 1: + selected_node = Selection.getSelectedObject(0) + return selected_node + return None + + def _configureEvents(self) -> None: + Selection.selectionChanged.connect(self._onSelectionChanged) + self._global_stack = None + Application.getInstance().globalContainerStackChanged.connect(self._onGlobalStackChanged) + self._onGlobalStackChanged() + + def _onGlobalStackChanged(self) -> None: + if self._global_stack: + self._global_stack.propertyChanged.disconnect(self._onSettingsChanged) + self._global_stack.containersChanged.disconnect(self._onSettingsChanged) + + self._global_stack = Application.getInstance().getGlobalContainerStack() + + if self._global_stack: + self._global_stack.propertyChanged.connect(self._onSettingsChanged) + self._global_stack.containersChanged.connect(self._onSettingsChanged) + + def _onSettingsChanged(self, *args: Any) -> None: + self._settingsChanged.emit() + + def _onSelectionChanged(self) -> None: + self._uiActionsOutdated.emit() diff --git a/cura/Scene/CuraSceneNode.py b/cura/Scene/CuraSceneNode.py index 5fbaded650..9b412c7d4f 100644 --- a/cura/Scene/CuraSceneNode.py +++ b/cura/Scene/CuraSceneNode.py @@ -25,10 +25,19 @@ class CuraSceneNode(SceneNode): if not no_setting_override: self.addDecorator(SettingOverrideDecorator()) # Now we always have a getActiveExtruderPosition, unless explicitly disabled self._outside_buildarea = False + self._print_order = 0 def setOutsideBuildArea(self, new_value: bool) -> None: self._outside_buildarea = new_value + @property + def printOrder(self): + return self._print_order + + @printOrder.setter + def printOrder(self, new_value): + self._print_order = new_value + def isOutsideBuildArea(self) -> bool: return self._outside_buildarea or self.callDecoration("getBuildPlateNumber") < 0 @@ -157,3 +166,6 @@ class CuraSceneNode(SceneNode): def transformChanged(self) -> None: self._transformChanged() + + def __repr__(self) -> str: + return "{print_order}. {name}".format(print_order = self._print_order, name = self.getName()) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 6a152ab51b..3ce83d27e3 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -316,7 +316,13 @@ class ExtruderManager(QObject): # Starts with the adhesion extruder. adhesion_type = global_stack.getProperty("adhesion_type", "value") if adhesion_type in {"skirt", "brim"}: - return max(0, int(global_stack.getProperty("skirt_brim_extruder_nr", "value"))) # optional skirt/brim extruder defaults to zero + skirt_brim_extruder_nr = global_stack.getProperty("skirt_brim_extruder_nr", "value") + # if the skirt_brim_extruder_nr is -1, then we use the first used extruder + if skirt_brim_extruder_nr == -1: + used_extruders = self.getUsedExtruderStacks() + return used_extruders[0].position + else: + return skirt_brim_extruder_nr if adhesion_type == "raft": return global_stack.getProperty("raft_base_extruder_nr", "value") diff --git a/cura/SingleInstance.py b/cura/SingleInstance.py index 61ab1204fe..0448ddc647 100644 --- a/cura/SingleInstance.py +++ b/cura/SingleInstance.py @@ -5,16 +5,18 @@ import json import os from typing import List, Optional +from PyQt6.QtCore import QUrl from PyQt6.QtNetwork import QLocalServer, QLocalSocket -from UM.Qt.QtApplication import QtApplication #For typing. +from UM.Qt.QtApplication import QtApplication # For typing. from UM.Logger import Logger class SingleInstance: - def __init__(self, application: QtApplication, files_to_open: Optional[List[str]]) -> None: + def __init__(self, application: QtApplication, files_to_open: Optional[List[str]], url_to_open: Optional[List[str]]) -> None: self._application = application self._files_to_open = files_to_open + self._url_to_open = url_to_open self._single_instance_server = None @@ -33,7 +35,7 @@ class SingleInstance: return False # We only send the files that need to be opened. - if not self._files_to_open: + if not self._files_to_open and not self._url_to_open: Logger.log("i", "No file need to be opened, do nothing.") return True @@ -55,8 +57,12 @@ class SingleInstance: payload = {"command": "open", "filePath": os.path.abspath(filename)} single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding = "ascii")) + for url in self._url_to_open: + payload = {"command": "open-url", "urlPath": url.toString()} + single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding="ascii")) + payload = {"command": "close-connection"} - single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding = "ascii")) + single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding="ascii")) single_instance_socket.flush() single_instance_socket.waitForDisconnected() @@ -72,7 +78,7 @@ class SingleInstance: def _onClientConnected(self) -> None: Logger.log("i", "New connection received on our single-instance server") - connection = None #type: Optional[QLocalSocket] + connection = None # type: Optional[QLocalSocket] if self._single_instance_server: connection = self._single_instance_server.nextPendingConnection() @@ -81,7 +87,7 @@ class SingleInstance: def __readCommands(self, connection: QLocalSocket) -> None: line = connection.readLine() - while len(line) != 0: # There is also a .canReadLine() + while len(line) != 0: # There is also a .canReadLine() try: payload = json.loads(str(line, encoding = "ascii").strip()) command = payload["command"] @@ -94,13 +100,19 @@ class SingleInstance: elif command == "open": self._application.callLater(lambda f = payload["filePath"]: self._application._openFile(f)) + #command: Load a url link in Cura + elif command == "open-url": + url = QUrl(payload["urlPath"]) + self._application.callLater(lambda: self._application._openUrl(url)) + + # Command: Activate the window and bring it to the top. elif command == "focus": # Operating systems these days prevent windows from moving around by themselves. # 'alert' or flashing the icon in the taskbar is the best thing we do now. main_window = self._application.getMainWindow() if main_window is not None: - self._application.callLater(lambda: main_window.alert(0)) # type: ignore # I don't know why MyPy complains here + self._application.callLater(lambda: main_window.alert(0)) # type: ignore # I don't know why MyPy complains here # Command: Close the socket connection. We're done. elif command == "close-connection": diff --git a/cura/UI/ObjectsModel.py b/cura/UI/ObjectsModel.py index 4f64270247..4d5a4dfc81 100644 --- a/cura/UI/ObjectsModel.py +++ b/cura/UI/ObjectsModel.py @@ -14,6 +14,9 @@ from UM.Scene.SceneNode import SceneNode from UM.Scene.Selection import Selection from UM.i18n import i18nCatalog +from cura.PrintOrderManager import PrintOrderManager +from cura.Scene.CuraSceneNode import CuraSceneNode + catalog = i18nCatalog("cura") @@ -76,6 +79,9 @@ class ObjectsModel(ListModel): self._build_plate_number = nr self._update() + def getNodes(self) -> List[CuraSceneNode]: + return list(map(lambda n: n["node"], self.items)) + def _updateSceneDelayed(self, source) -> None: if not isinstance(source, Camera): self._update_timer.start() @@ -175,6 +181,10 @@ class ObjectsModel(ListModel): all_nodes = self._renameNodes(name_to_node_info_dict) + user_defined_print_order_enabled = PrintOrderManager.isUserDefinedPrintOrderEnabled() + if user_defined_print_order_enabled: + PrintOrderManager.initializePrintOrders(all_nodes) + for node in all_nodes: if hasattr(node, "isOutsideBuildArea"): is_outside_build_area = node.isOutsideBuildArea() # type: ignore @@ -223,8 +233,13 @@ class ObjectsModel(ListModel): # for anti overhang meshes and groups the extruder nr is irrelevant extruder_number = -1 + if not user_defined_print_order_enabled: + name = node.getName() + else: + name = "{print_order}. {name}".format(print_order = node.printOrder, name = node.getName()) + nodes.append({ - "name": node.getName(), + "name": name, "selected": Selection.isSelected(node), "outside_build_area": is_outside_build_area, "buildplate_number": node_build_plate_number, @@ -234,5 +249,5 @@ class ObjectsModel(ListModel): "node": node }) - nodes = sorted(nodes, key=lambda n: n["name"]) + nodes = sorted(nodes, key=lambda n: n["name"] if not user_defined_print_order_enabled else n["node"].printOrder) self.setItems(nodes) diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index 13a97d5a89..85bdbfa551 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -177,6 +177,9 @@ class ThreeMFReader(MeshReader): else: Logger.log("w", "Unable to find extruder in position %s", setting_value) continue + if key == "print_order": + um_node.printOrder = int(setting_value) + continue if key in known_setting_keys: setting_container.setProperty(key, "value", setting_value) else: diff --git a/plugins/3MFReader/WorkspaceDialog.py b/plugins/3MFReader/WorkspaceDialog.py index 0203fc92b5..02e71f2185 100644 --- a/plugins/3MFReader/WorkspaceDialog.py +++ b/plugins/3MFReader/WorkspaceDialog.py @@ -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 diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index d5f9b1817d..cb1664a2c0 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -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() } } } diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index ad4b0d8dad..23bc33659f 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -10,16 +10,14 @@ from UM.Math.Vector import Vector from UM.Logger import Logger from UM.Math.Matrix import Matrix from UM.Application import Application -from UM.Message import Message -from UM.Resources import Resources from UM.Scene.SceneNode import SceneNode from UM.Settings.ContainerRegistry import ContainerRegistry -from UM.Settings.EmptyInstanceContainer import EmptyInstanceContainer from cura.CuraApplication import CuraApplication from cura.CuraPackageManager import CuraPackageManager from cura.Settings import CuraContainerStack from cura.Utils.Threading import call_on_qt_thread +from cura.Scene.CuraSceneNode import CuraSceneNode from cura.Snapshot import Snapshot from PyQt6.QtCore import QBuffer @@ -137,6 +135,9 @@ class ThreeMFWriter(MeshWriter): for key in changed_setting_keys: savitar_node.setSetting("cura:" + key, str(stack.getProperty(key, "value"))) + if isinstance(um_node, CuraSceneNode): + savitar_node.setSetting("cura:print_order", str(um_node.printOrder)) + # Store the metadata. for key, value in um_node.metadata.items(): savitar_node.setSetting(key, value) diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 0c4003fadc..66949eeaf5 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -76,6 +76,7 @@ class CuraEngineBackend(QObject, Backend): self._default_engine_location = executable_name search_path = [ + os.path.abspath(os.path.join(os.path.dirname(sys.executable), "..", "Resources")), os.path.abspath(os.path.dirname(sys.executable)), os.path.abspath(os.path.join(os.path.dirname(sys.executable), "bin")), os.path.abspath(os.path.join(os.path.dirname(sys.executable), "..")), diff --git a/plugins/DigitalLibrary/__init__.py b/plugins/DigitalLibrary/__init__.py index 968aef66ee..fc27f873c8 100644 --- a/plugins/DigitalLibrary/__init__.py +++ b/plugins/DigitalLibrary/__init__.py @@ -1,7 +1,6 @@ # Copyright (c) 2021 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -from UM.MimeTypeDatabase import MimeType, MimeTypeDatabase from .src import DigitalFactoryFileProvider, DigitalFactoryOutputDevicePlugin, DigitalFactoryController diff --git a/plugins/DigitalLibrary/src/DigitalFactoryApiClient.py b/plugins/DigitalLibrary/src/DigitalFactoryApiClient.py index 1168928588..c0ce594ecf 100644 --- a/plugins/DigitalLibrary/src/DigitalFactoryApiClient.py +++ b/plugins/DigitalLibrary/src/DigitalFactoryApiClient.py @@ -3,7 +3,6 @@ import json from json import JSONDecodeError -import re from time import time from typing import List, Any, Optional, Union, Type, Tuple, Dict, cast, TypeVar, Callable diff --git a/plugins/DigitalLibrary/src/DigitalFactoryProjectModel.py b/plugins/DigitalLibrary/src/DigitalFactoryProjectModel.py index 92aa92ef4c..bd12a4ca12 100644 --- a/plugins/DigitalLibrary/src/DigitalFactoryProjectModel.py +++ b/plugins/DigitalLibrary/src/DigitalFactoryProjectModel.py @@ -4,7 +4,6 @@ from typing import List, Optional from PyQt6.QtCore import Qt, pyqtSignal -from UM.Logger import Logger from UM.Qt.ListModel import ListModel from .DigitalFactoryProjectResponse import DigitalFactoryProjectResponse diff --git a/plugins/GCodeGzWriter/__init__.py b/plugins/GCodeGzWriter/__init__.py index 95949eee74..1f350d686c 100644 --- a/plugins/GCodeGzWriter/__init__.py +++ b/plugins/GCodeGzWriter/__init__.py @@ -2,7 +2,6 @@ # Cura is released under the terms of the LGPLv3 or higher. from UM.i18n import i18nCatalog -from UM.Platform import Platform from . import GCodeGzWriter diff --git a/plugins/GCodeWriter/GCodeWriter.py b/plugins/GCodeWriter/GCodeWriter.py index 667e064d90..9fa4f88614 100644 --- a/plugins/GCodeWriter/GCodeWriter.py +++ b/plugins/GCodeWriter/GCodeWriter.py @@ -11,7 +11,6 @@ from UM.Settings.InstanceContainer import InstanceContainer from cura.Machines.ContainerTree import ContainerTree from UM.i18n import i18nCatalog -from cura.Settings.CuraStackBuilder import CuraStackBuilder catalog = i18nCatalog("cura") diff --git a/plugins/Marketplace/MissingPackageList.py b/plugins/Marketplace/MissingPackageList.py index 018e977823..38d7718dc0 100644 --- a/plugins/Marketplace/MissingPackageList.py +++ b/plugins/Marketplace/MissingPackageList.py @@ -3,12 +3,10 @@ from typing import Optional, TYPE_CHECKING, Dict, List -from .Constants import PACKAGES_URL from .PackageModel import PackageModel from .RemotePackageList import RemotePackageList from PyQt6.QtCore import pyqtSignal, QObject, pyqtProperty, QCoreApplication -from UM.TaskManagement.HttpRequestManager import HttpRequestManager # To request the package list from the API. from UM.i18n import i18nCatalog if TYPE_CHECKING: diff --git a/plugins/Marketplace/PackageModel.py b/plugins/Marketplace/PackageModel.py index afc6e0ce73..ddd8f9b531 100644 --- a/plugins/Marketplace/PackageModel.py +++ b/plugins/Marketplace/PackageModel.py @@ -2,7 +2,6 @@ # Cura is released under the terms of the LGPLv3 or higher. import re -from enum import Enum from typing import Any, cast, Dict, List, Optional from PyQt6.QtCore import pyqtProperty, QObject, pyqtSignal, pyqtSlot @@ -12,7 +11,6 @@ from cura.CuraApplication import CuraApplication from cura.CuraPackageManager import CuraPackageManager from cura.Settings.CuraContainerRegistry import CuraContainerRegistry # To get names of materials we're compatible with. from UM.i18n import i18nCatalog # To translate placeholder names if data is not present. -from UM.Logger import Logger from UM.PluginRegistry import PluginRegistry catalog = i18nCatalog("cura") diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py b/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py index 15f37e499d..d6b433a0c2 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py +++ b/plugins/PerObjectSettingsTool/PerObjectSettingVisibilityHandler.py @@ -11,7 +11,7 @@ from UM.Settings.SettingInstance import SettingInstance from UM.Logger import Logger import UM.Settings.Models.SettingVisibilityHandler -from cura.Settings.ExtruderManager import ExtruderManager #To get global-inherits-stack setting values from different extruders. +from cura.Settings.ExtruderManager import ExtruderManager # To get global-inherits-stack setting values from different extruders. from cura.Settings.SettingOverrideDecorator import SettingOverrideDecorator diff --git a/plugins/PostProcessingPlugin/scripts/ColorMix.py b/plugins/PostProcessingPlugin/scripts/ColorMix.py index 534c0208cf..000661b46b 100644 --- a/plugins/PostProcessingPlugin/scripts/ColorMix.py +++ b/plugins/PostProcessingPlugin/scripts/ColorMix.py @@ -21,7 +21,7 @@ # M163 - Set Mix Factor # M164 - Save Mix - saves to T2 as a unique mix -import re #To perform the search and replace. +import re # To perform the search and replace. from ..Script import Script class ColorMix(Script): diff --git a/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py b/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py index bfe04b2bea..a5edb78d35 100644 --- a/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py +++ b/plugins/PostProcessingPlugin/scripts/DisplayFilenameAndLayerOnLCD.py @@ -6,7 +6,6 @@ # Description: This plugin is now an option in 'Display Info on LCD' from ..Script import Script -from UM.Application import Application from UM.Message import Message class DisplayFilenameAndLayerOnLCD(Script): diff --git a/plugins/PostProcessingPlugin/scripts/DisplayInfoOnLCD.py b/plugins/PostProcessingPlugin/scripts/DisplayInfoOnLCD.py index 784a18b2e5..63c1c8c788 100644 --- a/plugins/PostProcessingPlugin/scripts/DisplayInfoOnLCD.py +++ b/plugins/PostProcessingPlugin/scripts/DisplayInfoOnLCD.py @@ -30,9 +30,6 @@ from ..Script import Script from UM.Application import Application from UM.Qt.Duration import DurationFormat -import UM.Util -import configparser -from UM.Preferences import Preferences import time import datetime import math diff --git a/plugins/PostProcessingPlugin/scripts/DisplayProgressOnLCD.py b/plugins/PostProcessingPlugin/scripts/DisplayProgressOnLCD.py index 4d24aedac0..03cb375514 100644 --- a/plugins/PostProcessingPlugin/scripts/DisplayProgressOnLCD.py +++ b/plugins/PostProcessingPlugin/scripts/DisplayProgressOnLCD.py @@ -7,8 +7,6 @@ from ..Script import Script -import re -import datetime from UM.Message import Message class DisplayProgressOnLCD(Script): diff --git a/plugins/PostProcessingPlugin/scripts/FilamentChange.py b/plugins/PostProcessingPlugin/scripts/FilamentChange.py index 93941c0992..6fe28ef2f2 100644 --- a/plugins/PostProcessingPlugin/scripts/FilamentChange.py +++ b/plugins/PostProcessingPlugin/scripts/FilamentChange.py @@ -7,7 +7,7 @@ from typing import List from ..Script import Script -from UM.Application import Application #To get the current printer's settings. +from UM.Application import Application # To get the current printer's settings. class FilamentChange(Script): diff --git a/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py b/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py index 3d85740bd4..f502678317 100644 --- a/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py +++ b/plugins/PostProcessingPlugin/scripts/PauseAtHeight.py @@ -7,7 +7,7 @@ from ..Script import Script import re -from UM.Application import Application #To get the current printer's settings. +from UM.Application import Application # To get the current printer's settings. from UM.Logger import Logger from typing import List, Tuple diff --git a/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py b/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py index 7a12c229cc..dabc6b725a 100644 --- a/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py +++ b/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py @@ -1,7 +1,7 @@ # Copyright (c) 2017 Ghostkeeper # The PostProcessingPlugin is released under the terms of the LGPLv3 or higher. -import re #To perform the search and replace. +import re # To perform the search and replace. from ..Script import Script diff --git a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py index 8c0c50d0b4..a9a0666d9c 100644 --- a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py +++ b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py @@ -8,7 +8,7 @@ from UM.Application import Application from UM.Logger import Logger from UM.Message import Message from UM.FileHandler.WriteFileJob import WriteFileJob -from UM.FileHandler.FileWriter import FileWriter #To check against the write modes (text vs. binary). +from UM.FileHandler.FileWriter import FileWriter # To check against the write modes (text vs. binary). from UM.Scene.Iterator.BreadthFirstIterator import BreadthFirstIterator from UM.OutputDevice.OutputDevice import OutputDevice from UM.OutputDevice import OutputDeviceError diff --git a/plugins/SimulationView/SimulationView.py b/plugins/SimulationView/SimulationView.py index c070c69939..2573c84cb9 100644 --- a/plugins/SimulationView/SimulationView.py +++ b/plugins/SimulationView/SimulationView.py @@ -372,7 +372,10 @@ class SimulationView(CuraView): self._minimum_path_num = min(self._minimum_path_num, self._current_path_num) # update _current time when the path is changed by user if self._current_path_num < self._max_paths and round(self._current_path_num)== self._current_path_num: - self._current_time = self.cumulativeLineDuration()[int(self._current_path_num)] + actual_path_num = int(self._current_path_num) + cumulative_line_duration = self.cumulativeLineDuration() + if actual_path_num < len(cumulative_line_duration): + self._current_time = cumulative_line_duration[actual_path_num] self._startUpdateTopLayers() self.currentPathNumChanged.emit() diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 04e083520b..f61f5cf295 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -5,7 +5,7 @@ import json import os import platform import time -from typing import cast, Optional, Set, TYPE_CHECKING +from typing import Optional, Set, TYPE_CHECKING from PyQt6.QtCore import pyqtSlot, QObject from PyQt6.QtNetwork import QNetworkRequest diff --git a/plugins/SolidView/SolidView.py b/plugins/SolidView/SolidView.py index b7aeb90da4..7f32b0df7f 100644 --- a/plugins/SolidView/SolidView.py +++ b/plugins/SolidView/SolidView.py @@ -16,8 +16,6 @@ from UM.Application import Application from UM.Logger import Logger from UM.Message import Message from UM.Math.Color import Color -from UM.PluginRegistry import PluginRegistry -from UM.Platform import Platform from UM.Event import Event from UM.View.RenderBatch import RenderBatch diff --git a/plugins/UFPWriter/UFPWriter.py b/plugins/UFPWriter/UFPWriter.py index c8064ac37f..475e5fc01a 100644 --- a/plugins/UFPWriter/UFPWriter.py +++ b/plugins/UFPWriter/UFPWriter.py @@ -22,7 +22,6 @@ from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Scene.SceneNode import SceneNode from UM.Settings.InstanceContainer import InstanceContainer from cura.CuraApplication import CuraApplication -from cura.Settings.CuraStackBuilder import CuraStackBuilder from cura.Settings.GlobalStack import GlobalStack from cura.Utils.Threading import call_on_qt_thread diff --git a/plugins/UFPWriter/__init__.py b/plugins/UFPWriter/__init__.py index ae51f78e95..8561454856 100644 --- a/plugins/UFPWriter/__init__.py +++ b/plugins/UFPWriter/__init__.py @@ -9,8 +9,8 @@ try: except ImportError: Logger.log("w", "Could not import UFPWriter; libCharon may be missing") -from UM.i18n import i18nCatalog #To translate the file format description. -from UM.Mesh.MeshWriter import MeshWriter #For the binary mode flag. +from UM.i18n import i18nCatalog # To translate the file format description. +from UM.Mesh.MeshWriter import MeshWriter # For the binary mode flag. i18n_catalog = i18nCatalog("cura") diff --git a/plugins/USBPrinting/AutoDetectBaudJob.py b/plugins/USBPrinting/AutoDetectBaudJob.py index 5a8e455720..c26e5e8824 100644 --- a/plugins/USBPrinting/AutoDetectBaudJob.py +++ b/plugins/USBPrinting/AutoDetectBaudJob.py @@ -4,9 +4,6 @@ from UM.Job import Job from UM.Logger import Logger -from .avr_isp import ispBase -from .avr_isp.stk500v2 import Stk500v2 - from time import time, sleep from serial import Serial, SerialException diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 1155420b60..85b98e532b 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -5,9 +5,9 @@ import os from UM.i18n import i18nCatalog from UM.Logger import Logger -from UM.Mesh.MeshWriter import MeshWriter #To get the g-code output. -from UM.Message import Message #Show an error when already printing. -from UM.PluginRegistry import PluginRegistry #To get the g-code output. +from UM.Mesh.MeshWriter import MeshWriter # To get the g-code output. +from UM.Message import Message # Show an error when already printing. +from UM.PluginRegistry import PluginRegistry # To get the g-code output. from UM.Qt.Duration import DurationFormat from cura.CuraApplication import CuraApplication @@ -19,7 +19,7 @@ from cura.PrinterOutput.GenericOutputController import GenericOutputController from .AutoDetectBaudJob import AutoDetectBaudJob from .AvrFirmwareUpdater import AvrFirmwareUpdater -from io import StringIO #To write the g-code output. +from io import StringIO # To write the g-code output. from queue import Queue from serial import Serial, SerialException, SerialTimeoutException from threading import Thread, Event diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/MachineInstance.py b/plugins/VersionUpgrade/VersionUpgrade21to22/MachineInstance.py index ff5c33517d..be6002e269 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/MachineInstance.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/MachineInstance.py @@ -1,16 +1,16 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -import configparser #To read config files. -import io #To write config files to strings as if they were files. -import os.path #To get the path to write new user profiles to. +import configparser # To read config files. +import io # To write config files to strings as if they were files. +import os.path # To get the path to write new user profiles to. from typing import Dict, List, Optional, Set, Tuple -import urllib #To serialise the user container file name properly. +import urllib # To serialise the user container file name properly. import urllib.parse -import UM.VersionUpgrade #To indicate that a file is of incorrect format. -import UM.VersionUpgradeManager #To schedule more files to be upgraded. -from UM.Resources import Resources #To get the config storage path. +import UM.VersionUpgrade # To indicate that a file is of incorrect format. +import UM.VersionUpgradeManager # To schedule more files to be upgraded. +from UM.Resources import Resources # To get the config storage path. ## Creates a new machine instance instance by parsing a serialised machine # instance in version 1 of the file format. diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/Preferences.py b/plugins/VersionUpgrade/VersionUpgrade21to22/Preferences.py index 953837b863..906f868af9 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/Preferences.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/Preferences.py @@ -1,11 +1,11 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -import configparser #To read config files. -import io #To output config files to string. +import configparser # To read config files. +import io # To output config files to string. from typing import List, Optional, Tuple -import UM.VersionUpgrade #To indicate that a file is of the wrong format. +import UM.VersionUpgrade # To indicate that a file is of the wrong format. ## Creates a new preferences instance by parsing a serialised preferences file # in version 1 of the file format. diff --git a/plugins/VersionUpgrade/VersionUpgrade21to22/Profile.py b/plugins/VersionUpgrade/VersionUpgrade21to22/Profile.py index 8419b3beeb..7e5f330a36 100644 --- a/plugins/VersionUpgrade/VersionUpgrade21to22/Profile.py +++ b/plugins/VersionUpgrade/VersionUpgrade21to22/Profile.py @@ -1,8 +1,8 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -import configparser #To read config files. -import io #To write config files to strings as if they were files. +import configparser # To read config files. +import io # To write config files to strings as if they were files. from typing import Dict, List, Optional, Tuple import UM.VersionUpgrade diff --git a/plugins/XRayView/XRayView.py b/plugins/XRayView/XRayView.py index 5af7b17652..b27e615e56 100644 --- a/plugins/XRayView/XRayView.py +++ b/plugins/XRayView/XRayView.py @@ -7,7 +7,6 @@ from PyQt6.QtGui import QOpenGLContext, QImage from UM.Application import Application from UM.Logger import Logger from UM.Math.Color import Color -from UM.PluginRegistry import PluginRegistry from UM.Resources import Resources from UM.Platform import Platform from UM.Event import Event diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index 0eede82d2f..98c0f95e10 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -3,9 +3,9 @@ import copy import io -import json #To parse the product-to-id mapping file. -import os.path #To find the product-to-id mapping. -from typing import Any, Dict, List, Optional, Tuple, cast, Set, Union +import json # To parse the product-to-id mapping file. +import os.path # To find the product-to-id mapping. +from typing import Any, Dict, List, Optional, Tuple, cast, Set import xml.etree.ElementTree as ET from UM.PluginRegistry import PluginRegistry diff --git a/requirements-dev.txt b/requirements-dev.txt index a1b191009a..162b33bf15 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,5 +1,5 @@ pytest -pyinstaller==5.8.0 +pyinstaller==6.3.0 pyinstaller-hooks-contrib pyyaml sip==6.5.1 diff --git a/resources/definitions/elegoo_neptune_4.def.json b/resources/definitions/elegoo_neptune_4.def.json index 21fd28f6f7..4484133bdb 100644 --- a/resources/definitions/elegoo_neptune_4.def.json +++ b/resources/definitions/elegoo_neptune_4.def.json @@ -9,16 +9,20 @@ }, "overrides": { - "acceleration_layer_0": { "value": 3000 }, - "acceleration_print": { "value": 3000 }, - "acceleration_travel": { "value": 5000 }, + "acceleration_print": + { + "maximum_value_warning": "20000", + "value": 10000 + }, + "acceleration_wall": { "value": "acceleration_print/2" }, "cool_fan_full_layer": { "value": 2 }, "infill_line_width": { "value": "line_width + 0.05" }, "infill_overlap": { "value": "0 if infill_sparse_density < 40.01 and infill_pattern != 'concentric' else -5" }, + "infill_pattern": { "value": "'lines' if infill_sparse_density > 35 else 'grid'" }, "initial_layer_line_width_factor": { "value": "100.0 if resolveOrValue('adhesion_type') == 'raft' else 125 if line_width < 0.5 else 110" }, - "machine_acceleration": { "value": 3000 }, + "machine_acceleration": { "value": 5000 }, "machine_depth": { "default_value": 230 }, - "machine_end_gcode": { "default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z2 ;Raise Z more\nG90 ;Absolute positionning\nG1 X0 Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z" }, + "machine_end_gcode": { "default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z2 ;Raise Z more\nG90 ;Absolute positionning\nG1 X0 Y{machine_depth - 5} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z" }, "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, "machine_head_with_fans_polygon": { @@ -32,12 +36,12 @@ "machine_heated_bed": { "default_value": true }, "machine_height": { "default_value": 270 }, "machine_max_acceleration_e": { "value": 5000 }, - "machine_max_acceleration_x": { "value": 5000 }, - "machine_max_acceleration_y": { "value": 5000 }, + "machine_max_acceleration_x": { "value": 20000 }, + "machine_max_acceleration_y": { "value": 20000 }, "machine_name": { "default_value": "ELEGOO NEPTUNE 4" }, "machine_nozzle_cool_down_speed": { "value": 0.75 }, "machine_nozzle_heat_up_speed": { "value": 1.6 }, - "machine_start_gcode": { "default_value": "G28 ;home\nG92 E0 ;Reset Extruder\nG1 Z4.0 F3000 ;Move Z Axis up\nG92 E0 ;Reset Extruder\nG1 X1.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X1.1 Y80.0 Z0.28 F1500.0 E10 ;Draw the first line\nG1 X1.4 Y80.0 Z0.28 F5000.0 ;Move to side a little\nG1 X1.4 Y20 Z0.28 F1500.0 E20 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up" }, + "machine_start_gcode": { "default_value": ";ELEGOO NEPTUNE 4 / 4 PRO\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140 ;Start heating extruder\nM190 S{material_bed_temperature_layer_0} ;Wait for the bed to reach print temp\nG90\nG28 ;home\nG1 Z10 F300\nG1 X67.5 Y0 F6000\nG1 Z0 F300\nM109 S{material_print_temperature_layer_0} ;Wait for extruder to reach print temp\nG92 E0 ;Reset Extruder\nG1 X67.5 Y0 Z0.4 F300 ;Move to start position\nG1 X167.5 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X162.5 F3000\nG92 E0 ;Reset Extruder" }, "machine_width": { "default_value": 235 }, "retraction_amount": { "default_value": 0.5 }, "retraction_count_max": { "value": 80 }, diff --git a/resources/definitions/elegoo_neptune_4max.def.json b/resources/definitions/elegoo_neptune_4max.def.json new file mode 100644 index 0000000000..c12953959b --- /dev/null +++ b/resources/definitions/elegoo_neptune_4max.def.json @@ -0,0 +1,62 @@ +{ + "version": 2, + "name": "ELEGOO NEPTUNE 4 Max", + "inherits": "elegoo_neptune_4", + "metadata": + { + "visible": true, + "author": "mastercaution", + "platform": "elegoo_platform_max.3mf", + "platform_offset": [ + -2.1, + -0.2, + 0 + ], + "quality_definition": "elegoo_neptune_4" + }, + "overrides": + { + "acceleration_print": + { + "maximum_value_warning": "15000", + "value": 2500 + }, + "machine_depth": { "default_value": 430 }, + "machine_height": { "default_value": 482 }, + "machine_max_acceleration_e": { "value": 5000 }, + "machine_max_acceleration_x": { "value": 15000 }, + "machine_max_acceleration_y": { "value": 15000 }, + "machine_name": { "default_value": "ELEGOO NEPTUNE 4 Max" }, + "machine_start_gcode": { "default_value": ";ELEGOO NEPTUNE 4 MAX\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140 ;Start heating extruder\nM190 S{material_bed_temperature_layer_0} ;Wait for the bed to reach print temp\nG90\nG28 ;home\nG1 Z10 F300\nG1 X165 Y0 F6000\nG1 Z0 F300\nM109 S{material_print_temperature_layer_0} ;Wait for extruder to reach print temp\nG92 E0 ;Reset Extruder\nG1 X165 Y0 Z0.4 F300 ;Move to start position\nG1 X265 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X260 F3000\nG92 E0 ;Reset Extruder" }, + "machine_width": { "default_value": 430 }, + "nozzle_disallowed_areas": + { + "default_value": [ + [ + [-215, -215], + [-215, 215], + [-211, 215], + [-211, -215] + ], + [ + [215, 215], + [215, -215], + [211, -215], + [211, 215] + ], + [ + [-215, -215], + [215, -215], + [-215, -211], + [215, -211] + ], + [ + [-215, 215], + [215, 215], + [-215, 211], + [215, 211] + ] + ] + } + } +} \ No newline at end of file diff --git a/resources/definitions/elegoo_neptune_4plus.def.json b/resources/definitions/elegoo_neptune_4plus.def.json new file mode 100644 index 0000000000..c11b99956f --- /dev/null +++ b/resources/definitions/elegoo_neptune_4plus.def.json @@ -0,0 +1,59 @@ +{ + "version": 2, + "name": "ELEGOO NEPTUNE 4 Plus", + "inherits": "elegoo_neptune_4", + "metadata": + { + "visible": true, + "author": "mastercaution", + "platform": "elegoo_platform_max.3mf", + "platform_offset": [ + -2.1, + -0.2, + 0 + ], + "quality_definition": "elegoo_neptune_4" + }, + "overrides": + { + "acceleration_print": { "value": 4000 }, + "machine_acceleration": { "value": 4000 }, + "machine_depth": { "default_value": 330 }, + "machine_height": { "default_value": 387 }, + "machine_max_acceleration_e": { "value": 5000 }, + "machine_max_acceleration_x": { "value": 20000 }, + "machine_max_acceleration_y": { "value": 20000 }, + "machine_name": { "default_value": "ELEGOO NEPTUNE 4 Plus" }, + "machine_start_gcode": { "default_value": ";ELEGOO NEPTUNE 4 PLUS\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nM104 S140 ;Start heating extruder\nM190 S{material_bed_temperature_layer_0} ;Wait for the bed to reach print temp\nG90\nG28 ;home\nG1 Z10 F300\nG1 X115 Y0 F6000\nG1 Z0 F300\nM109 S{material_print_temperature_layer_0} ;Wait for extruder to reach print temp\nG92 E0 ;Reset Extruder\nG1 X115 Y0 Z0.4 F300 ;Move to start position\nG1 X215 E30 F400 ;Draw the first line\nG1 Z0.6 F120.0 ;Move to side a little\nG1 X210 F3000\nG92 E0 ;Reset Extruder" }, + "machine_width": { "default_value": 330 }, + "nozzle_disallowed_areas": + { + "default_value": [ + [ + [-165, -165], + [-165, 165], + [-161, 165], + [-161, -165] + ], + [ + [165, 165], + [165, -165], + [161, -165], + [161, 165] + ], + [ + [-165, -165], + [165, -165], + [-165, -161], + [165, -161] + ], + [ + [-165, 165], + [165, 165], + [-165, 161], + [165, 161] + ] + ] + } + } +} \ No newline at end of file diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b821f3d6c6..1d453456a8 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1684,7 +1684,7 @@ "value": "skin_line_width * 2", "default_value": 1, "minimum_value": "0", - "maximum_value_warning": "skin_line_width * 3", + "maximum_value_warning": "skin_line_width * 10", "type": "float", "enabled": "(top_layers > 0 or bottom_layers > 0) and top_bottom_pattern != 'concentric'", "limit_to_extruder": "top_bottom_extruder_nr", @@ -5151,7 +5151,7 @@ "unit": "mm", "type": "float", "minimum_value": "0", - "maximum_value_warning": "machine_nozzle_size", + "maximum_value_warning": "5*layer_height", "default_value": 0.1, "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "enabled": "support_enable or support_meshes_present", @@ -6469,6 +6469,18 @@ "settable_per_extruder": true, "limit_to_extruder": "raft_surface_extruder_nr" }, + "raft_surface_monotonic": + { + "label": "Monotonic Raft Top Surface Order", + "description": "Print raft top surface lines in an ordering that causes them to always overlap with adjacent lines in a single direction. This takes slightly more time to print, but makes the surface look more consistent, which is also visible on the model bottom surface.", + "type": "bool", + "default_value": false, + "value": "skin_monotonic", + "enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0", + "settable_per_mesh": false, + "settable_per_extruder": true, + "limit_to_extruder": "raft_surface_extruder_nr" + }, "raft_wall_count": { "label": "Raft Wall Count", @@ -7269,6 +7281,16 @@ "settable_per_extruder": false, "settable_per_meshgroup": false }, + "user_defined_print_order_enabled": + { + "label": "Set Print Sequence Manually", + "description": "Allows to order the object list to set the print sequence manually. First object from the list will be printed first.", + "type": "bool", + "default_value": false, + "settable_per_mesh": false, + "settable_per_extruder": false, + "enabled": "print_sequence == 'one_at_a_time'" + }, "infill_mesh": { "label": "Infill Mesh", diff --git a/resources/definitions/flashforge_adventurer3.def.json b/resources/definitions/flashforge_adventurer3.def.json new file mode 100644 index 0000000000..a05a7d5b8f --- /dev/null +++ b/resources/definitions/flashforge_adventurer3.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Adventurer 3", + "inherits": "flashforge_adventurer3c", + "metadata": + { + "visible": true, + "author": "Jeremie-C", + "supports_network_connection": true + }, + "overrides": + { + "machine_name": { "default_value": "Adventurer 3" } + } +} \ No newline at end of file diff --git a/resources/definitions/flashforge_adventurer3c.def.json b/resources/definitions/flashforge_adventurer3c.def.json new file mode 100644 index 0000000000..f66e542591 --- /dev/null +++ b/resources/definitions/flashforge_adventurer3c.def.json @@ -0,0 +1,33 @@ +{ + "version": 2, + "name": "Adventurer 3C", + "inherits": "flashforge_adventurer_base", + "metadata": + { + "visible": true, + "author": "Jeremie-C", + "quality_definition": "flashforge_adventurer3" + }, + "overrides": + { + "default_material_bed_temperature": { "maximum_value_warning": "100" }, + "gantry_height": { "value": "150" }, + "machine_center_is_zero": { "default_value": true }, + "machine_depth": { "default_value": 150 }, + "machine_end_gcode": { "default_value": ";end gcode\nM104 S0 T0\nM140 S0 T0\nG162 Z F1800\nG28 X Y\nM132 X Y A B\nM652\nG91\nM18" }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [-20, 10], + [-20, -10], + [10, 10], + [10, -10] + ] + }, + "machine_height": { "default_value": 150 }, + "machine_name": { "default_value": "Adventurer 3C" }, + "machine_start_gcode": { "default_value": ";Start Gcode\nG28\nM132 X Y Z A B\nG1 Z50.000 F420\nG161 X Y F3300\nM7 T0\nM6 T0\nM651 S255\n;End Start" }, + "machine_width": { "default_value": 150 }, + "speed_print": { "maximum_value_warning": 100 } + } +} \ No newline at end of file diff --git a/resources/definitions/flashforge_adventurer4.def.json b/resources/definitions/flashforge_adventurer4.def.json new file mode 100644 index 0000000000..2460051a9d --- /dev/null +++ b/resources/definitions/flashforge_adventurer4.def.json @@ -0,0 +1,33 @@ +{ + "version": 2, + "name": "Adventurer 4", + "inherits": "flashforge_adventurer_base", + "metadata": + { + "visible": true, + "author": "Jeremie-C", + "quality_definition": "flashforge_adventurer4", + "supports_network_connection": true + }, + "overrides": + { + "default_material_bed_temperature": { "maximum_value_warning": "110" }, + "gantry_height": { "value": "250" }, + "machine_depth": { "default_value": 200 }, + "machine_end_gcode": { "default_value": ";End Gcode\nM104 S0 T0\nM140 S0 T0\nG162 Z F1800\nG28 X Y\nM132 X Y A B\nM652\nG91\nM18" }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [-20, 10], + [-20, -10], + [10, 10], + [10, -10] + ] + }, + "machine_height": { "default_value": 250 }, + "machine_name": { "default_value": "Adventurer 4" }, + "machine_start_gcode": { "default_value": ";Start Gcode\nG28\nM132 X Y Z A B\nG1 Z50.000 F420\nG161 X Y F3300\nM7 T0\nM6 T0\nM651 S255\n;End Start" }, + "machine_use_extruder_offset_to_offset_coords": { "default_value": false }, + "machine_width": { "default_value": 220 } + } +} \ No newline at end of file diff --git a/resources/definitions/flashforge_adventurer4lite.def.json b/resources/definitions/flashforge_adventurer4lite.def.json new file mode 100644 index 0000000000..f5b1975601 --- /dev/null +++ b/resources/definitions/flashforge_adventurer4lite.def.json @@ -0,0 +1,14 @@ +{ + "version": 2, + "name": "Adventurer 4 Lite", + "inherits": "flashforge_adventurer4", + "metadata": + { + "visible": true, + "author": "Jeremie-C" + }, + "overrides": + { + "machine_name": { "default_value": "Adventurer 4 Lite" } + } +} \ No newline at end of file diff --git a/resources/definitions/flashforge_adventurer_base.def.json b/resources/definitions/flashforge_adventurer_base.def.json new file mode 100644 index 0000000000..c077a4584c --- /dev/null +++ b/resources/definitions/flashforge_adventurer_base.def.json @@ -0,0 +1,34 @@ +{ + "version": 2, + "name": "Flashforge Adventurer Base", + "inherits": "fdmprinter", + "metadata": + { + "visible": false, + "author": "Jeremie-C", + "manufacturer": "Flashforge", + "file_formats": "application/gx;text/x-gcode", + "first_start_actions": [ "MachineSettingsAction" ], + "has_machine_quality": true, + "has_materials": true, + "has_variants": true, + "machine_extruder_trains": { "0": "flashforge_adventurer_extruder_0" }, + "preferred_material": "generic_pla", + "preferred_quality_type": "normal", + "preferred_variant_name": "0.4mm Nozzle", + "variants_name": "Nozzle Size" + }, + "overrides": + { + "adhesion_type": { "default_value": "skirt" }, + "default_material_print_temperature": { "maximum_value_warning": "265" }, + "layer_height": + { + "maximum_value_warning": "0.4", + "minimum_value_warning": "0.1" + }, + "machine_center_is_zero": { "default_value": true }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + "machine_heated_bed": { "default_value": true } + } +} \ No newline at end of file diff --git a/resources/definitions/ratrig_base.def.json b/resources/definitions/ratrig_base.def.json new file mode 100644 index 0000000000..69ab0f139d --- /dev/null +++ b/resources/definitions/ratrig_base.def.json @@ -0,0 +1,20 @@ +{ + "version": 2, + "name": "RatRig Printer", + "inherits": "fdmprinter", + "metadata": + { + "visible": false, + "author": "nu-hin", + "manufacturer": "RatRig", + "file_formats": "text/x-gcode", + "exclude_materials": [], + "first_start_actions": [ "MachineSettingsAction" ], + "has_materials": true, + "machine_extruder_trains": { "0": "ratrig_base_extruder_0" }, + "preferred_material": "generic_pla", + "preferred_quality_type": "standard", + "quality_definition": "ratrig_base", + "supported_actions": [ "MachineSettingsAction" ] + } +} \ No newline at end of file diff --git a/resources/definitions/ratrig_vcore3_200.def.json b/resources/definitions/ratrig_vcore3_200.def.json new file mode 100644 index 0000000000..d16f15b476 --- /dev/null +++ b/resources/definitions/ratrig_vcore3_200.def.json @@ -0,0 +1,23 @@ +{ + "version": 2, + "name": "RatRig V-Core 3 200mm", + "inherits": "ratrig_vcore3_base", + "metadata": + { + "visible": true, + "platform": "ratrig_vcore3_200.stl", + "platform_offset": [ + 0, + 5, + 0 + ], + "weight": 16 + }, + "overrides": + { + "machine_depth": { "default_value": 200 }, + "machine_height": { "default_value": 200 }, + "machine_name": { "default_value": "RatRig V-Core 3 200mm" }, + "machine_width": { "default_value": 200 } + } +} \ No newline at end of file diff --git a/resources/definitions/ratrig_vcore3_300.def.json b/resources/definitions/ratrig_vcore3_300.def.json new file mode 100644 index 0000000000..c96860e90b --- /dev/null +++ b/resources/definitions/ratrig_vcore3_300.def.json @@ -0,0 +1,23 @@ +{ + "version": 2, + "name": "RatRig V-Core 3 300mm", + "inherits": "ratrig_vcore3_base", + "metadata": + { + "visible": true, + "platform": "ratrig_vcore3_300.stl", + "platform_offset": [ + 0, + 5, + 0 + ], + "weight": 16 + }, + "overrides": + { + "machine_depth": { "default_value": 300 }, + "machine_height": { "default_value": 300 }, + "machine_name": { "default_value": "RatRig V-Core 3 300mm" }, + "machine_width": { "default_value": 300 } + } +} \ No newline at end of file diff --git a/resources/definitions/ratrig_vcore3_400.def.json b/resources/definitions/ratrig_vcore3_400.def.json new file mode 100644 index 0000000000..fcd51686e8 --- /dev/null +++ b/resources/definitions/ratrig_vcore3_400.def.json @@ -0,0 +1,23 @@ +{ + "version": 2, + "name": "RatRig V-Core 3 400mm", + "inherits": "ratrig_vcore3_base", + "metadata": + { + "visible": true, + "platform": "ratrig_vcore3_400.stl", + "platform_offset": [ + 0, + 3, + 0 + ], + "weight": 16 + }, + "overrides": + { + "machine_depth": { "default_value": 400 }, + "machine_height": { "default_value": 400 }, + "machine_name": { "default_value": "RatRig V-Core 3 400mm" }, + "machine_width": { "default_value": 400 } + } +} \ No newline at end of file diff --git a/resources/definitions/ratrig_vcore3_500.def.json b/resources/definitions/ratrig_vcore3_500.def.json new file mode 100644 index 0000000000..97798bc4ce --- /dev/null +++ b/resources/definitions/ratrig_vcore3_500.def.json @@ -0,0 +1,23 @@ +{ + "version": 2, + "name": "RatRig V-Core 3 500mm", + "inherits": "ratrig_vcore3_base", + "metadata": + { + "visible": true, + "platform": "ratrig_vcore3_500.stl", + "platform_offset": [ + 0, + 0, + 0 + ], + "weight": 16 + }, + "overrides": + { + "machine_depth": { "default_value": 500 }, + "machine_height": { "default_value": 500 }, + "machine_name": { "default_value": "RatRig V-Core 3 500mm" }, + "machine_width": { "default_value": 500 } + } +} \ No newline at end of file diff --git a/resources/definitions/ratrig_vcore3_base.def.json b/resources/definitions/ratrig_vcore3_base.def.json new file mode 100644 index 0000000000..73049b2020 --- /dev/null +++ b/resources/definitions/ratrig_vcore3_base.def.json @@ -0,0 +1,116 @@ +{ + "version": 2, + "name": "RatRig V-Core 3", + "inherits": "ratrig_base", + "metadata": + { + "visible": false, + "has_machine_quality": true, + "has_variants": true, + "machine_extruder_trains": { "0": "ratrig_base_extruder_0" }, + "preferred_variant_name": "0.4mm Nozzle", + "variants_name": "Nozzle Size" + }, + "overrides": + { + "acceleration_enabled": { "value": true }, + "acceleration_layer_0": { "value": "acceleration_topbottom" }, + "acceleration_roofing": { "enabled": "acceleration_enabled and roofing_layer_count > 0 and top_layers > 0" }, + "acceleration_topbottom": { "value": "acceleration_print / 3" }, + "acceleration_travel": { "value": 3000 }, + "acceleration_travel_layer_0": { "value": "acceleration_travel / 3" }, + "adaptive_layer_height_variation": { "value": 0.04 }, + "adaptive_layer_height_variation_step": { "value": 0.04 }, + "adhesion_type": { "value": "'skirt'" }, + "brim_replaces_support": { "value": false }, + "brim_width": { "value": "3" }, + "cool_fan_full_at_height": { "value": "layer_height_0 + 2 * layer_height" }, + "cool_min_layer_time": { "value": 2 }, + "fill_outline_gaps": { "value": false }, + "gantry_height": { "value": 30 }, + "infill_before_walls": { "value": false }, + "infill_overlap": { "value": 30 }, + "infill_pattern": { "value": "'lines' if infill_sparse_density > 50 else 'cubic'" }, + "infill_wipe_dist": { "value": 0 }, + "layer_height": { "default_value": 0.2 }, + "layer_height_0": { "default_value": 0.2 }, + "machine_acceleration": { "value": 3000 }, + "machine_end_gcode": { "default_value": "END_PRINT" }, + "machine_extruder_count": { "default_value": 1 }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [-40, 90], + [-40, -30], + [40, -30], + [40, 90] + ] + }, + "machine_heated_bed": { "default_value": true }, + "machine_max_acceleration_e": { "value": 5000 }, + "machine_max_acceleration_x": { "value": 9000 }, + "machine_max_acceleration_y": { "value": 9000 }, + "machine_max_acceleration_z": { "value": 100 }, + "machine_max_feedrate_e": { "value": 60 }, + "machine_max_feedrate_x": { "value": 500 }, + "machine_max_feedrate_y": { "value": 500 }, + "machine_max_feedrate_z": { "value": 10 }, + "machine_max_jerk_e": { "value": 5 }, + "machine_max_jerk_xy": { "value": 5 }, + "machine_max_jerk_z": { "value": 0.4 }, + "machine_name": { "default_value": "RatRig V-Core 3" }, + "machine_shape": { "default_value": "rectangular" }, + "machine_show_variants": { "default_value": true }, + "machine_start_gcode": { "default_value": "START_PRINT EXTRUDER_TEMP={material_print_temperature_layer_0} BED_TEMP={material_bed_temperature_layer_0}" }, + "material_diameter": { "default_value": 1.75 }, + "material_final_print_temperature": { "value": "material_print_temperature" }, + "material_initial_print_temperature": { "value": "material_print_temperature" }, + "meshfix_maximum_resolution": { "value": "0.25" }, + "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, + "minimum_interface_area": { "value": 10 }, + "minimum_support_area": { "value": 2 }, + "optimize_wall_printing_order": { "value": true }, + "retraction_amount": { "value": "machine_nozzle_size * 2" }, + "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" }, + "retraction_combing_max_distance": { "value": 30 }, + "retraction_count_max": { "value": 100 }, + "retraction_extrusion_window": { "value": 10 }, + "retraction_speed": { "value": 40 }, + "roofing_layer_count": { "value": 1 }, + "skin_overlap": { "value": 18 }, + "skirt_brim_minimal_length": { "default_value": 30 }, + "skirt_gap": { "value": 10 }, + "skirt_line_count": { "value": 3 }, + "speed_layer_0": { "value": "math.floor(speed_print * 3 / 10)" }, + "speed_print": { "value": 100 }, + "speed_roofing": { "value": "math.floor(speed_print * 3 / 10)" }, + "speed_support": { "value": "math.floor(speed_print * 3 / 10)" }, + "speed_support_interface": { "value": "speed_topbottom" }, + "speed_topbottom": { "value": "math.floor(speed_print / 2)" }, + "speed_travel": { "value": 250 }, + "speed_travel_layer_0": { "value": "100 if speed_layer_0 < 20 else 150 if speed_layer_0 > 30 else speed_layer_0 * 5" }, + "speed_wall_x": { "value": "speed_wall" }, + "speed_z_hop": { "value": 5 }, + "support_angle": { "value": "math.floor(math.degrees(math.atan(line_width/2.0/layer_height)))" }, + "support_brim_width": { "value": 4 }, + "support_infill_rate": { "value": "0 if support_enable and support_structure == 'tree' else 20" }, + "support_interface_density": { "value": 33.333 }, + "support_interface_enable": { "value": true }, + "support_interface_height": { "value": "layer_height * 4" }, + "support_interface_pattern": { "value": "'grid'" }, + "support_pattern": { "value": "'zigzag'" }, + "support_use_towers": { "value": false }, + "support_xy_distance": { "value": "wall_line_width_0 * 2" }, + "support_xy_distance_overhang": { "value": "wall_line_width_0" }, + "support_xy_overrides_z": { "value": "'xy_overrides_z'" }, + "support_z_distance": { "value": "layer_height if layer_height >= 0.16 else layer_height * 2" }, + "top_bottom_pattern": { "value": "'lines'" }, + "top_bottom_thickness": { "value": "layer_height_0 + layer_height * 3" }, + "travel_avoid_supports": { "value": true }, + "travel_retract_before_outer_wall": { "value": true }, + "wall_0_wipe_dist": { "value": 0 }, + "wall_thickness": { "value": "line_width * 2" }, + "z_seam_corner": { "value": "'z_seam_corner_weighted'" }, + "z_seam_type": { "value": "'back'" } + } +} \ No newline at end of file diff --git a/resources/definitions/ratrig_vminion.def.json b/resources/definitions/ratrig_vminion.def.json new file mode 100644 index 0000000000..bdc8d0d8a1 --- /dev/null +++ b/resources/definitions/ratrig_vminion.def.json @@ -0,0 +1,127 @@ +{ + "version": 2, + "name": "RatRig V-Minion", + "inherits": "ratrig_base", + "metadata": + { + "visible": true, + "platform": "ratrig_vminion.stl", + "has_machine_quality": true, + "has_variants": true, + "machine_extruder_trains": { "0": "ratrig_base_extruder_0" }, + "platform_offset": [ + 0, + 5, + 0 + ], + "preferred_variant_name": "0.4mm Nozzle", + "variants_name": "Nozzle Size", + "weight": 8 + }, + "overrides": + { + "acceleration_enabled": { "value": true }, + "acceleration_layer_0": { "value": "acceleration_topbottom" }, + "acceleration_roofing": { "enabled": "acceleration_enabled and roofing_layer_count > 0 and top_layers > 0" }, + "acceleration_topbottom": { "value": "acceleration_print / 3" }, + "acceleration_travel": { "value": 3000 }, + "acceleration_travel_layer_0": { "value": "acceleration_travel / 3" }, + "adaptive_layer_height_variation": { "value": 0.04 }, + "adaptive_layer_height_variation_step": { "value": 0.04 }, + "adhesion_type": { "value": "'skirt'" }, + "brim_replaces_support": { "value": false }, + "brim_width": { "value": "3" }, + "cool_fan_full_at_height": { "value": "layer_height_0 + 2 * layer_height" }, + "cool_min_layer_time": { "value": 2 }, + "fill_outline_gaps": { "value": false }, + "gantry_height": { "value": 30 }, + "infill_before_walls": { "value": false }, + "infill_overlap": { "value": 30 }, + "infill_pattern": { "value": "'lines' if infill_sparse_density > 50 else 'cubic'" }, + "infill_wipe_dist": { "value": 0 }, + "layer_height": { "default_value": 0.2 }, + "layer_height_0": { "default_value": 0.2 }, + "machine_acceleration": { "value": 3000 }, + "machine_depth": { "default_value": 180 }, + "machine_end_gcode": { "default_value": "END_PRINT" }, + "machine_extruder_count": { "default_value": 1 }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [-40, 90], + [-40, -30], + [40, -30], + [40, 90] + ] + }, + "machine_heated_bed": { "default_value": true }, + "machine_height": { "default_value": 180 }, + "machine_max_acceleration_e": { "value": 5000 }, + "machine_max_acceleration_x": { "value": 9000 }, + "machine_max_acceleration_y": { "value": 9000 }, + "machine_max_acceleration_z": { "value": 100 }, + "machine_max_feedrate_e": { "value": 60 }, + "machine_max_feedrate_x": { "value": 500 }, + "machine_max_feedrate_y": { "value": 500 }, + "machine_max_feedrate_z": { "value": 10 }, + "machine_max_jerk_e": { "value": 5 }, + "machine_max_jerk_xy": { "value": 5 }, + "machine_max_jerk_z": { "value": 0.4 }, + "machine_name": { "default_value": "RatRig V-Minion" }, + "machine_shape": { "default_value": "rectangular" }, + "machine_show_variants": { "default_value": true }, + "machine_start_gcode": { "default_value": "START_PRINT EXTRUDER_TEMP={material_print_temperature_layer_0} BED_TEMP={material_bed_temperature_layer_0}" }, + "machine_width": { "default_value": 180 }, + "material_diameter": { "default_value": 1.75 }, + "material_final_print_temperature": { "value": "material_print_temperature" }, + "material_initial_print_temperature": { "value": "material_print_temperature" }, + "meshfix_maximum_resolution": { "value": "0.25" }, + "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, + "minimum_interface_area": { "value": 10 }, + "minimum_support_area": { "value": 2 }, + "optimize_wall_printing_order": { "value": true }, + "retraction_amount": { "value": "machine_nozzle_size * 2" }, + "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" }, + "retraction_combing_max_distance": { "value": 30 }, + "retraction_count_max": { "value": 100 }, + "retraction_extrusion_window": { "value": 10 }, + "retraction_speed": { "value": 40 }, + "roofing_layer_count": { "value": 1 }, + "skin_overlap": { "value": 18 }, + "skirt_brim_minimal_length": { "default_value": 30 }, + "skirt_gap": { "value": 10 }, + "skirt_line_count": { "value": 3 }, + "speed_layer_0": { "value": "math.floor(speed_print * 3 / 10)" }, + "speed_print": { "value": 100 }, + "speed_roofing": { "value": "math.floor(speed_print * 3 / 10)" }, + "speed_support": { "value": "math.floor(speed_print * 3 / 10)" }, + "speed_support_interface": { "value": "speed_topbottom" }, + "speed_topbottom": { "value": "math.floor(speed_print / 2)" }, + "speed_travel": { "value": 250 }, + "speed_travel_layer_0": { "value": "100 if speed_layer_0 < 20 else 150 if speed_layer_0 > 30 else speed_layer_0 * 5" }, + "speed_wall": { "value": "math.floor(speed_print / 2)" }, + "speed_wall_x": { "value": "speed_wall" }, + "speed_z_hop": { "value": 5 }, + "support_angle": { "value": "math.floor(math.degrees(math.atan(line_width/2.0/layer_height)))" }, + "support_brim_width": { "value": 4 }, + "support_infill_rate": { "value": "0 if support_enable and support_structure == 'tree' else 20" }, + "support_interface_density": { "value": 33.333 }, + "support_interface_enable": { "value": true }, + "support_interface_height": { "value": "layer_height * 4" }, + "support_interface_pattern": { "value": "'grid'" }, + "support_pattern": { "value": "'zigzag'" }, + "support_use_towers": { "value": false }, + "support_xy_distance": { "value": "wall_line_width_0 * 2" }, + "support_xy_distance_overhang": { "value": "wall_line_width_0" }, + "support_xy_overrides_z": { "value": "'xy_overrides_z'" }, + "support_z_distance": { "value": "layer_height if layer_height >= 0.16 else layer_height * 2" }, + "top_bottom_pattern": { "value": "'lines'" }, + "top_bottom_thickness": { "value": "layer_height_0 + layer_height * 3" }, + "travel_avoid_supports": { "value": true }, + "travel_retract_before_outer_wall": { "value": true }, + "wall_0_wipe_dist": { "value": 0 }, + "wall_thickness": { "value": "line_width * 2" }, + "z_seam_corner": { "value": "'z_seam_corner_weighted'" }, + "z_seam_type": { "value": "'back'" } + } +} \ No newline at end of file diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index 1669dd5e00..dae64cea6b 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -106,6 +106,7 @@ "retraction_combing_max_distance": { "value": 15 }, "retraction_count_max": { "value": 25 }, "retraction_extrusion_window": { "value": 1 }, + "retraction_min_travel": { "value": 5 }, "roofing_layer_count": { "value": "1" }, "roofing_material_flow": { "value": "material_flow" }, "skin_angles": { "value": "[] if infill_pattern not in ['cross', 'cross_3d'] else [20, 110]" }, diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json index 0404e98b1d..9e4c9310c8 100644 --- a/resources/definitions/ultimaker3.def.json +++ b/resources/definitions/ultimaker3.def.json @@ -156,7 +156,6 @@ "retraction_hop": { "value": "2" }, "retraction_hop_enabled": { "value": "extruders_enabled_count > 1" }, "retraction_hop_only_when_collides": { "value": "True" }, - "retraction_min_travel": { "value": "5" }, "retraction_prime_speed": { "value": "15" }, "skin_overlap": { "value": "10" }, "speed_prime_tower": { "value": "speed_topbottom" }, diff --git a/resources/definitions/ultimaker_method_base.def.json b/resources/definitions/ultimaker_method_base.def.json index 89aaa1b170..8031eb5f08 100644 --- a/resources/definitions/ultimaker_method_base.def.json +++ b/resources/definitions/ultimaker_method_base.def.json @@ -373,7 +373,6 @@ "retraction_hop": { "value": 0.4 }, "retraction_hop_enabled": { "value": true }, "retraction_hop_only_when_collides": { "value": false }, - "retraction_min_travel": { "value": "line_width * 4" }, "retraction_prime_speed": { "value": "retraction_speed" }, "retraction_speed": { "value": 5 }, "roofing_layer_count": { "value": 2 }, @@ -386,6 +385,7 @@ "skin_preshrink": { "value": 0 }, "skirt_brim_material_flow": { "value": "material_flow" }, "skirt_brim_minimal_length": { "value": 500 }, + "small_skin_width": { "value": 4 }, "speed_equalize_flow_width_factor": { "value": 0 }, "speed_prime_tower": { "value": "speed_topbottom" }, "speed_print": { "value": 50 }, @@ -426,7 +426,7 @@ "travel_avoid_other_parts": { "value": false }, "wall_0_inset": { "value": 0 }, "wall_0_material_flow": { "value": "material_flow" }, - "wall_0_wipe_dist": { "value": 0 }, + "wall_0_wipe_dist": { "value": 0.8 }, "wall_material_flow": { "value": "material_flow" }, "wall_x_material_flow": { "value": "material_flow" }, "xy_offset": { "value": 0 }, diff --git a/resources/definitions/ultimaker_s3.def.json b/resources/definitions/ultimaker_s3.def.json index d893c16f4e..47a81035c9 100644 --- a/resources/definitions/ultimaker_s3.def.json +++ b/resources/definitions/ultimaker_s3.def.json @@ -108,7 +108,6 @@ "retraction_hop": { "value": "2" }, "retraction_hop_enabled": { "value": "extruders_enabled_count > 1" }, "retraction_hop_only_when_collides": { "value": "True" }, - "retraction_min_travel": { "value": "5" }, "retraction_prime_speed": { "value": "15" }, "retraction_speed": { "value": "45" }, "speed_prime_tower": { "value": "speed_topbottom" }, diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index b9eba0952b..30ad07dd2c 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -110,7 +110,6 @@ "retraction_hop": { "value": "2" }, "retraction_hop_enabled": { "value": "extruders_enabled_count > 1" }, "retraction_hop_only_when_collides": { "value": "True" }, - "retraction_min_travel": { "value": "5" }, "retraction_prime_speed": { "value": "15" }, "retraction_speed": { "value": "45" }, "speed_prime_tower": { "value": "speed_topbottom" }, diff --git a/resources/definitions/voron2_base.def.json b/resources/definitions/voron2_base.def.json index 1e76380b69..dc6cd255bb 100644 --- a/resources/definitions/voron2_base.def.json +++ b/resources/definitions/voron2_base.def.json @@ -55,7 +55,7 @@ "machine_endstop_positive_direction_y": { "default_value": true }, "machine_endstop_positive_direction_z": { "default_value": false }, "machine_feeder_wheel_diameter": { "default_value": 7.5 }, - "machine_gcode_flavor": { "default_value": "RepRap (RepRap)" }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, "machine_head_with_fans_polygon": { "default_value": [ @@ -76,7 +76,7 @@ "machine_max_jerk_xy": { "default_value": 20 }, "machine_max_jerk_z": { "default_value": 1 }, "machine_name": { "default_value": "VORON2" }, - "machine_start_gcode": { "default_value": "print_start" }, + "machine_start_gcode": { "default_value": ";Nozzle diameter = {machine_nozzle_size}\n;Filament type = {material_type}\n;Filament name = {material_name}\n;Filament weight = {filament_weight}\n; M190 S{material_bed_temperature_layer_0}\n; M109 S{material_print_temperature_layer_0}\nprint_start EXTRUDER={material_print_temperature_layer_0} BED={material_bed_temperature_layer_0} CHAMBER={build_volume_temperature}" }, "machine_steps_per_mm_x": { "default_value": 80 }, "machine_steps_per_mm_y": { "default_value": 80 }, "machine_steps_per_mm_z": { "default_value": 400 }, diff --git a/resources/extruders/flashforge_adventurer_extruder_0.def.json b/resources/extruders/flashforge_adventurer_extruder_0.def.json new file mode 100644 index 0000000000..232cf3f901 --- /dev/null +++ b/resources/extruders/flashforge_adventurer_extruder_0.def.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "name": "Extruder", + "inherits": "fdmextruder", + "metadata": + { + "machine": "flashforge_adventurer_base", + "position": "0" + }, + "overrides": + { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} \ No newline at end of file diff --git a/resources/extruders/ratrig_base_extruder_0.def.json b/resources/extruders/ratrig_base_extruder_0.def.json new file mode 100644 index 0000000000..e5afcbdb54 --- /dev/null +++ b/resources/extruders/ratrig_base_extruder_0.def.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": + { + "machine": "ratrig_base", + "position": "0" + }, + "overrides": + { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} \ No newline at end of file diff --git a/resources/i18n/cs_CZ/cura.po b/resources/i18n/cs_CZ/cura.po index 715af3ea84..3267139490 100644 --- a/resources/i18n/cs_CZ/cura.po +++ b/resources/i18n/cs_CZ/cura.po @@ -4946,6 +4946,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Rozdělit modely" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Tisknout před" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Tisknout po" + msgctxt "@button" msgid "Uninstall" msgstr "Odinstalovat" diff --git a/resources/i18n/cs_CZ/fdmprinter.def.json.po b/resources/i18n/cs_CZ/fdmprinter.def.json.po index 7588e81c52..4b697c9cea 100644 --- a/resources/i18n/cs_CZ/fdmprinter.def.json.po +++ b/resources/i18n/cs_CZ/fdmprinter.def.json.po @@ -2583,6 +2583,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Tisková sekvence" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Nastavit tiskovou sekvenci ručně" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Umožňuje řadit seznam objektů pro ruční nastavení tiskové sekvence. První objekt ze seznamu bude vytisknut jako první." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Rychlost tisku" diff --git a/resources/i18n/cura.pot b/resources/i18n/cura.pot index 7d5b5f94d6..2fabd97f7e 100644 --- a/resources/i18n/cura.pot +++ b/resources/i18n/cura.pot @@ -4565,6 +4565,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "" + msgctxt "@button" msgid "Uninstall" msgstr "" diff --git a/resources/i18n/de_DE/cura.po b/resources/i18n/de_DE/cura.po index f006c75fb6..8ca4de67b4 100644 --- a/resources/i18n/de_DE/cura.po +++ b/resources/i18n/de_DE/cura.po @@ -4930,6 +4930,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Gruppierung für Modelle aufheben" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Vor dem Drucken" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Nach dem Drucken" + msgctxt "@button" msgid "Uninstall" msgstr "Deinstallieren" diff --git a/resources/i18n/de_DE/fdmprinter.def.json.po b/resources/i18n/de_DE/fdmprinter.def.json.po index ca893ad149..ff44a4837d 100644 --- a/resources/i18n/de_DE/fdmprinter.def.json.po +++ b/resources/i18n/de_DE/fdmprinter.def.json.po @@ -2580,6 +2580,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Druckreihenfolge" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Druckreihenfolge manuell einstellen" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Ermöglicht das Ordnen der Objektliste, um die Druckreihenfolge manuell festzulegen. Das erste Objekt aus der Liste wird zuerst gedruckt." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Druckgeschwindigkeit" diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index 07d4ad2d79..aa4c727441 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -4931,6 +4931,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Desagrupar modelos" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Imprimir antes" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Imprimir después" + msgctxt "@button" msgid "Uninstall" msgstr "Desinstalar" diff --git a/resources/i18n/es_ES/fdmprinter.def.json.po b/resources/i18n/es_ES/fdmprinter.def.json.po index 4b797652ed..6811ca05a8 100644 --- a/resources/i18n/es_ES/fdmprinter.def.json.po +++ b/resources/i18n/es_ES/fdmprinter.def.json.po @@ -2580,6 +2580,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Secuencia de impresión" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Establecer secuencia de impresión manualmente" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Permite ordenar la lista de objetos para establecer la secuencia de impresión manualmente. El primer objeto de la lista se imprimirá primero." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Velocidad de impresión" diff --git a/resources/i18n/fdmprinter.def.json.pot b/resources/i18n/fdmprinter.def.json.pot index ab63530018..4e858de0a7 100644 --- a/resources/i18n/fdmprinter.def.json.pot +++ b/resources/i18n/fdmprinter.def.json.pot @@ -4588,6 +4588,14 @@ msgctxt "print_sequence option one_at_a_time" msgid "One at a Time" msgstr "" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "" + msgctxt "infill_mesh label" msgid "Infill Mesh" msgstr "" diff --git a/resources/i18n/fi_FI/cura.po b/resources/i18n/fi_FI/cura.po index c3f331c1ef..55a60d50ae 100644 --- a/resources/i18n/fi_FI/cura.po +++ b/resources/i18n/fi_FI/cura.po @@ -4899,6 +4899,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Poista mallien ryhmitys" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Tulosta ennen" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Tulosta jälkeen" + msgctxt "@button" msgid "Uninstall" msgstr "" diff --git a/resources/i18n/fi_FI/fdmprinter.def.json.po b/resources/i18n/fi_FI/fdmprinter.def.json.po index 19a83d2f6a..a1e4ab420e 100644 --- a/resources/i18n/fi_FI/fdmprinter.def.json.po +++ b/resources/i18n/fi_FI/fdmprinter.def.json.po @@ -2578,6 +2578,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Tulostusjärjestys" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Aseta tulostusjärjestys manuaalisesti" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Mahdollistaa kohteiden järjestämisen tulostusjärjestyksen manuaaliseen asettamiseen. Listan ensimmäinen kohde tulostetaan ensin." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Tulostusnopeus" diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index b597b2d540..af46346d63 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -4928,6 +4928,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Dégrouper les modèles" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Imprimer avant" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Imprimer après" + msgctxt "@button" msgid "Uninstall" msgstr "Désinstaller" diff --git a/resources/i18n/fr_FR/fdmprinter.def.json.po b/resources/i18n/fr_FR/fdmprinter.def.json.po index e4018d33e5..2376820b7c 100644 --- a/resources/i18n/fr_FR/fdmprinter.def.json.po +++ b/resources/i18n/fr_FR/fdmprinter.def.json.po @@ -2580,6 +2580,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Séquence d'impression" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Définir la séquence d'impression manuellement" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Permet de classer la liste des objets pour définir manuellement la séquence d'impression. Le premier objet de la liste sera imprimé en premier." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Vitesse d’impression" diff --git a/resources/i18n/hu_HU/cura.po b/resources/i18n/hu_HU/cura.po index 9a502fbdf6..d5f06599a1 100644 --- a/resources/i18n/hu_HU/cura.po +++ b/resources/i18n/hu_HU/cura.po @@ -4913,6 +4913,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Csoport bontása" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Nyomtatás előtt" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Nyomtatás után" + msgctxt "@button" msgid "Uninstall" msgstr "" diff --git a/resources/i18n/hu_HU/fdmprinter.def.json.po b/resources/i18n/hu_HU/fdmprinter.def.json.po index 789454be37..27eabd4bbc 100644 --- a/resources/i18n/hu_HU/fdmprinter.def.json.po +++ b/resources/i18n/hu_HU/fdmprinter.def.json.po @@ -2585,6 +2585,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Nyomtatási sorrend" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Nyomtatási sorrend kézi beállítása" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Lehetővé teszi az objektumlista rendezését a nyomtatási sorrend kézi beállításához. A lista első objektuma lesz először nyomtatva." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Nyomtatási sebesség" diff --git a/resources/i18n/it_IT/cura.po b/resources/i18n/it_IT/cura.po index 1a131973bf..48918d3883 100644 --- a/resources/i18n/it_IT/cura.po +++ b/resources/i18n/it_IT/cura.po @@ -4931,6 +4931,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Separa modelli" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Stampa prima" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Stampa dopo" + msgctxt "@button" msgid "Uninstall" msgstr "Disinstalla" diff --git a/resources/i18n/it_IT/fdmprinter.def.json.po b/resources/i18n/it_IT/fdmprinter.def.json.po index 4565e30aa9..e9fc77ca3c 100644 --- a/resources/i18n/it_IT/fdmprinter.def.json.po +++ b/resources/i18n/it_IT/fdmprinter.def.json.po @@ -2580,6 +2580,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Sequenza di stampa" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Imposta manualmente la sequenza di stampa" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Consente di ordinare l'elenco degli oggetti per impostare manualmente la sequenza di stampa. Il primo oggetto dell'elenco sarà stampato per primo." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Velocità di stampa" diff --git a/resources/i18n/ja_JP/cura.po b/resources/i18n/ja_JP/cura.po index 7826e4df9e..bc2f27e825 100644 --- a/resources/i18n/ja_JP/cura.po +++ b/resources/i18n/ja_JP/cura.po @@ -4914,6 +4914,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "モデルを非グループ化" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "印刷前" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "印刷後" + msgctxt "@button" msgid "Uninstall" msgstr "アンインストール" diff --git a/resources/i18n/ja_JP/fdmprinter.def.json.po b/resources/i18n/ja_JP/fdmprinter.def.json.po index 8e473e72ae..a4311a63bd 100644 --- a/resources/i18n/ja_JP/fdmprinter.def.json.po +++ b/resources/i18n/ja_JP/fdmprinter.def.json.po @@ -2580,6 +2580,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "印刷頻度" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "手動で印刷順序を設定する" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "オブジェクトリストを並べ替えて、手動で印刷順序を設定することができます。リストの最初のオブジェクトが最初に印刷されます。" + msgctxt "speed_print label" msgid "Print Speed" msgstr "印刷速度" diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 5926b7c442..6bfbd1bae7 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -4917,6 +4917,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "모델 그룹 해제" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "인쇄 전" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "인쇄 후" + msgctxt "@button" msgid "Uninstall" msgstr "설치 제거" diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 7e2974dd37..0cf075c854 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -2580,6 +2580,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "프린팅 순서" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "수동으로 인쇄 순서 설정" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "객체 목록을 정렬하여 수동으로 인쇄 순서를 설정할 수 있습니다. 목록의 첫 번째 객체가 먼저 인쇄됩니다." + msgctxt "speed_print label" msgid "Print Speed" msgstr "프린팅 속도" diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index f831c7989f..43ca87b01e 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -4925,6 +4925,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Groeperen van Modellen Opheffen" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Afdrukken voor" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Afdrukken na" + msgctxt "@button" msgid "Uninstall" msgstr "De-installeren" diff --git a/resources/i18n/nl_NL/fdmprinter.def.json.po b/resources/i18n/nl_NL/fdmprinter.def.json.po index 7d6b32e0ac..8c4ef463a8 100644 --- a/resources/i18n/nl_NL/fdmprinter.def.json.po +++ b/resources/i18n/nl_NL/fdmprinter.def.json.po @@ -2580,6 +2580,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Printvolgorde" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Handmatig afdrukvolgorde instellen" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Maakt het mogelijk de objectlijst te ordenen om de afdrukvolgorde handmatig in te stellen. Het eerste object van de lijst wordt als eerste afgedrukt." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Printsnelheid" diff --git a/resources/i18n/pl_PL/cura.po b/resources/i18n/pl_PL/cura.po index ed823e183c..fe9f606141 100644 --- a/resources/i18n/pl_PL/cura.po +++ b/resources/i18n/pl_PL/cura.po @@ -4916,6 +4916,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Rozgrupuj modele" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Drukuj przed" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Drukuj po" + msgctxt "@button" msgid "Uninstall" msgstr "" diff --git a/resources/i18n/pl_PL/fdmprinter.def.json.po b/resources/i18n/pl_PL/fdmprinter.def.json.po index b772775d09..7f093c859c 100644 --- a/resources/i18n/pl_PL/fdmprinter.def.json.po +++ b/resources/i18n/pl_PL/fdmprinter.def.json.po @@ -2584,6 +2584,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Sekwencja Wydruku" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Ręczne ustawienie kolejności drukowania" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Umożliwia ręczne ustawienie kolejności drukowania na liście obiektów. Pierwszy obiekt z listy zostanie wydrukowany jako pierwszy." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Prędkość Druku" diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index 1c4590a016..0ae0a56cfd 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -4942,6 +4942,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Desagrupar Modelos" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Imprimir antes" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Imprimir depois" + msgctxt "@button" msgid "Uninstall" msgstr "Desinstalar" diff --git a/resources/i18n/pt_BR/fdmprinter.def.json.po b/resources/i18n/pt_BR/fdmprinter.def.json.po index 651837f458..412a020a7e 100644 --- a/resources/i18n/pt_BR/fdmprinter.def.json.po +++ b/resources/i18n/pt_BR/fdmprinter.def.json.po @@ -2585,6 +2585,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Sequência de Impressão" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Definir sequência de impressão manualmente" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Permite ordenar a lista de objetos para definir a sequência de impressão manualmente. O primeiro objeto da lista será impresso primeiro." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Velocidade de Impressão" diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index 48ea1e7c2c..d6e19b222d 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -4932,6 +4932,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Desagrupar Modelos" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Imprimir antes" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Imprimir depois" + msgctxt "@button" msgid "Uninstall" msgstr "Desinstalar" diff --git a/resources/i18n/pt_PT/fdmprinter.def.json.po b/resources/i18n/pt_PT/fdmprinter.def.json.po index dea593ffe4..36283bc9de 100644 --- a/resources/i18n/pt_PT/fdmprinter.def.json.po +++ b/resources/i18n/pt_PT/fdmprinter.def.json.po @@ -2580,6 +2580,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Sequência de impressão" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Definir sequência de impressão manualmente" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Permite ordenar a lista de objetos para definir a sequência de impressão manualmente. O primeiro objeto da lista será impresso primeiro." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Velocidade de Impressão" diff --git a/resources/i18n/ru_RU/cura.po b/resources/i18n/ru_RU/cura.po index 6494d6b5d2..2960193d7e 100644 --- a/resources/i18n/ru_RU/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -4955,6 +4955,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Разгруппировать модели" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Печатать до" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Печатать после" + msgctxt "@button" msgid "Uninstall" msgstr "Удалить" diff --git a/resources/i18n/ru_RU/fdmprinter.def.json.po b/resources/i18n/ru_RU/fdmprinter.def.json.po index 99036d4865..bba90e21ef 100644 --- a/resources/i18n/ru_RU/fdmprinter.def.json.po +++ b/resources/i18n/ru_RU/fdmprinter.def.json.po @@ -2580,6 +2580,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Последовательная печать" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Установить последовательность печати вручную" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Позволяет упорядочить список объектов для ручной настройки последовательности печати. Первый объект из списка будет напечатан первым." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Скорость печати" diff --git a/resources/i18n/tr_TR/cura.po b/resources/i18n/tr_TR/cura.po index d98ff91e72..c3afd0c7c1 100644 --- a/resources/i18n/tr_TR/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -4931,6 +4931,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "Model Grubunu Çöz" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "Önce Yazdır" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "Sonra Yazdır" + msgctxt "@button" msgid "Uninstall" msgstr "Kaldır" diff --git a/resources/i18n/tr_TR/fdmprinter.def.json.po b/resources/i18n/tr_TR/fdmprinter.def.json.po index b57a0cd0bb..0e11895512 100644 --- a/resources/i18n/tr_TR/fdmprinter.def.json.po +++ b/resources/i18n/tr_TR/fdmprinter.def.json.po @@ -2580,6 +2580,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "Yazdırma Dizisi" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "Baskı Sırasını Manuel Olarak Ayarla" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "Nesne listesini sıralayarak baskı sırasını manuel olarak ayarlamayı sağlar. Listeden ilk nesne ilk olarak basılacak." + msgctxt "speed_print label" msgid "Print Speed" msgstr "Yazdırma Hızı" diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index 34b4f1d4dc..cf2ed81f9b 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -4919,6 +4919,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "拆分模型" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "打印前" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "打印后" + msgctxt "@button" msgid "Uninstall" msgstr "卸载" diff --git a/resources/i18n/zh_CN/fdmprinter.def.json.po b/resources/i18n/zh_CN/fdmprinter.def.json.po index 1042199d5b..4696832051 100644 --- a/resources/i18n/zh_CN/fdmprinter.def.json.po +++ b/resources/i18n/zh_CN/fdmprinter.def.json.po @@ -2580,6 +2580,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "打印序列" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "手动设置打印顺序" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "允许对对象列表进行排序,以手动设置打印顺序。列表中的第一个对象将首先被打印。" + msgctxt "speed_print label" msgid "Print Speed" msgstr "打印速度" diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index a461fd1fa3..741bde1d14 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -4911,6 +4911,14 @@ msgctxt "@action:inmenu menubar:edit" msgid "Ungroup Models" msgstr "取消模型群組" +msgctxt "@action:inmenu menubar:edit" +msgid "Print Before" +msgstr "列印前" + +msgctxt "@action:inmenu menubar:edit" +msgid "Print After" +msgstr "列印後" + msgctxt "@button" msgid "Uninstall" msgstr "" diff --git a/resources/i18n/zh_TW/fdmprinter.def.json.po b/resources/i18n/zh_TW/fdmprinter.def.json.po index c92a7f861a..aa02299fc1 100644 --- a/resources/i18n/zh_TW/fdmprinter.def.json.po +++ b/resources/i18n/zh_TW/fdmprinter.def.json.po @@ -2585,6 +2585,14 @@ msgctxt "print_sequence label" msgid "Print Sequence" msgstr "列印順序" +msgctxt "user_defined_print_order_enabled label" +msgid "Set Print Sequence Manually" +msgstr "手動設置列印順序" + +msgctxt "user_defined_print_order_enabled description" +msgid "Allows to order the object list to set the print sequence manually. First object from the list will be printed first." +msgstr "允許手動設置物件列表以設定列印順序。列表中的第一個物件將首先被列印。" + msgctxt "speed_print label" msgid "Print Speed" msgstr "列印速度" diff --git a/resources/intent/elegoo_neptune_4/PLA/elegoo_n4_aa0.4_pla_0.2mm_engineering.inst.cfg b/resources/intent/elegoo_neptune_4/PLA/elegoo_n4_aa0.4_pla_0.2mm_engineering.inst.cfg new file mode 100644 index 0000000000..1e9703215d --- /dev/null +++ b/resources/intent/elegoo_neptune_4/PLA/elegoo_n4_aa0.4_pla_0.2mm_engineering.inst.cfg @@ -0,0 +1,25 @@ +[general] +definition = elegoo_neptune_4 +name = Accurate +version = 4 + +[metadata] +intent_category = engineering +is_experimental = True +material = generic_pla +quality_type = Elegoo_layer_020 +setting_version = 22 +type = intent +variant = 0.40mm_Elegoo_Nozzle + +[values] +speed_infill = =speed_print +speed_print = 150 +speed_topbottom = =speed_print * 2 / 3 +speed_travel = =min(speed_print * 4 / 3, 250) if speed_print <= 250 else speed_print +speed_wall = =speed_print * 2 / 3 +speed_wall_0 = =speed_wall +speed_wall_x = =speed_wall +top_bottom_thickness = =wall_thickness +wall_thickness = =line_width * 3 + diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm_visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm_visual.inst.cfg index fb88768bb6..62e3254f8b 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm_visual.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm_visual.inst.cfg @@ -12,6 +12,14 @@ type = intent variant = AA 0.4 [values] -speed_infill = 50 -top_bottom_thickness = 1.05 +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 0.5 +acceleration_print = 2500 +acceleration_wall_0 = 1000 +inset_direction = inside_out +jerk_wall_0 = 20 +speed_print = 50 +speed_roofing = =math.ceil(speed_wall*(35/50)) +speed_wall_0 = =math.ceil(speed_wall*(20/50)) +speed_wall_x = =math.ceil(speed_wall*(35/50)) +top_bottom_thickness = =max(1.2 , layer_height * 6) diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm_engineering.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm_engineering.inst.cfg index 967051c6b6..b61495c66f 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm_engineering.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm_engineering.inst.cfg @@ -12,9 +12,13 @@ type = intent variant = AA 0.4 [values] +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' +infill_sparse_density = 20 jerk_print = 30 speed_infill = =speed_print -speed_print = 30 +speed_print = 35 +speed_roofing = =speed_topbottom speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm_visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm_visual.inst.cfg index c08c5e37c1..2b113bb10c 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm_visual.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm_visual.inst.cfg @@ -12,6 +12,14 @@ type = intent variant = AA 0.4 [values] -speed_infill = 50 -top_bottom_thickness = 1.05 +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 0.5 +acceleration_print = 2500 +acceleration_wall_0 = 1000 +inset_direction = inside_out +jerk_wall_0 = 20 +speed_print = 50 +speed_roofing = =math.ceil(speed_wall*(35/50)) +speed_wall_0 = =math.ceil(speed_wall*(20/50)) +speed_wall_x = =math.ceil(speed_wall*(35/50)) +top_bottom_thickness = =max(1.2 , layer_height * 6) diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-petg_0.1mm_engineering.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-petg_0.1mm_engineering.inst.cfg index 9bf56f69a2..7c1de8fd56 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-petg_0.1mm_engineering.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-petg_0.1mm_engineering.inst.cfg @@ -12,9 +12,13 @@ type = intent variant = AA 0.4 [values] +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' +infill_sparse_density = 20 jerk_print = 30 speed_infill = =speed_print -speed_print = 30 +speed_print = 35 +speed_roofing = =speed_topbottom speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm_visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm_visual.inst.cfg index 63e20e56bd..7bde0a1a84 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm_visual.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm_visual.inst.cfg @@ -12,6 +12,14 @@ type = intent variant = AA 0.4 [values] -speed_infill = 50 -top_bottom_thickness = 1.05 +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 0.5 +acceleration_print = 2500 +acceleration_wall_0 = 1000 +inset_direction = inside_out +jerk_wall_0 = 20 +speed_print = 50 +speed_roofing = =math.ceil(speed_wall*(35/50)) +speed_wall_0 = =math.ceil(speed_wall*(20/50)) +speed_wall_x = =math.ceil(speed_wall*(35/50)) +top_bottom_thickness = =max(1.2 , layer_height * 6) diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm_engineering.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm_engineering.inst.cfg index b65a22fbdc..ed573773e1 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm_engineering.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm_engineering.inst.cfg @@ -12,9 +12,13 @@ type = intent variant = AA 0.4 [values] +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' +infill_sparse_density = 20 jerk_print = 30 speed_infill = =speed_print -speed_print = 30 +speed_print = 35 +speed_roofing = =speed_topbottom speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm_visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm_visual.inst.cfg index a90a1b971d..b5e414e2a7 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm_visual.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm_visual.inst.cfg @@ -12,6 +12,14 @@ type = intent variant = AA 0.4 [values] -speed_infill = 50 -top_bottom_thickness = 1.05 +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 0.5 +acceleration_print = 2500 +acceleration_wall_0 = 1000 +inset_direction = inside_out +jerk_wall_0 = 20 +speed_print = 50 +speed_roofing = =math.ceil(speed_wall*(35/50)) +speed_wall_0 = =math.ceil(speed_wall*(20/50)) +speed_wall_x = =math.ceil(speed_wall*(35/50)) +top_bottom_thickness = =max(1.2 , layer_height * 6) diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm_visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm_visual.inst.cfg index e2997ae696..f1a72ac90b 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm_visual.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm_visual.inst.cfg @@ -12,6 +12,14 @@ type = intent variant = AA 0.4 [values] -speed_infill = 50 -top_bottom_thickness = 1.05 +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 0.5 +acceleration_print = 2500 +acceleration_wall_0 = 1000 +inset_direction = inside_out +jerk_wall_0 = 20 +speed_print = 50 +speed_roofing = =math.ceil(speed_wall*(35/50)) +speed_wall_0 = =math.ceil(speed_wall*(20/50)) +speed_wall_x = =math.ceil(speed_wall*(35/50)) +top_bottom_thickness = =max(1.2 , layer_height * 6) diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm_engineering.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm_engineering.inst.cfg index a57cbf0af0..61916c3da7 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm_engineering.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm_engineering.inst.cfg @@ -12,9 +12,13 @@ type = intent variant = AA 0.4 [values] +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' +infill_sparse_density = 20 jerk_print = 30 speed_infill = =speed_print -speed_print = 30 +speed_print = 35 +speed_roofing = =speed_topbottom speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall diff --git a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm_visual.inst.cfg b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm_visual.inst.cfg index 48ce65c800..75345728fb 100644 --- a/resources/intent/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm_visual.inst.cfg +++ b/resources/intent/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm_visual.inst.cfg @@ -12,6 +12,14 @@ type = intent variant = AA 0.4 [values] -speed_infill = 50 -top_bottom_thickness = 1.05 +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 0.5 +acceleration_print = 2500 +acceleration_wall_0 = 1000 +inset_direction = inside_out +jerk_wall_0 = 20 +speed_print = 50 +speed_roofing = =math.ceil(speed_wall*(35/50)) +speed_wall_0 = =math.ceil(speed_wall*(20/50)) +speed_wall_x = =math.ceil(speed_wall*(35/50)) +top_bottom_thickness = =max(1.2 , layer_height * 6) diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm_visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm_visual.inst.cfg index 3866a4593a..7b919a96f5 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm_visual.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm_visual.inst.cfg @@ -12,6 +12,14 @@ type = intent variant = AA 0.4 [values] -speed_infill = 50 -top_bottom_thickness = 1.05 +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 0.5 +acceleration_print = 2500 +acceleration_wall_0 = 1000 +inset_direction = inside_out +jerk_wall_0 = 20 +speed_print = 50 +speed_roofing = =math.ceil(speed_wall*(35/50)) +speed_wall_0 = =math.ceil(speed_wall*(20/50)) +speed_wall_x = =math.ceil(speed_wall*(35/50)) +top_bottom_thickness = =max(1.2 , layer_height * 6) diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm_engineering.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm_engineering.inst.cfg index b5834b5757..43edfa3548 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm_engineering.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm_engineering.inst.cfg @@ -12,9 +12,13 @@ type = intent variant = AA 0.4 [values] +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' +infill_sparse_density = 20 jerk_print = 30 speed_infill = =speed_print -speed_print = 30 +speed_print = 35 +speed_roofing = =speed_topbottom speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm_visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm_visual.inst.cfg index 63b0273ba5..62a6fb4fdf 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm_visual.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm_visual.inst.cfg @@ -12,6 +12,14 @@ type = intent variant = AA 0.4 [values] -speed_infill = 50 -top_bottom_thickness = 1.05 +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 0.5 +acceleration_print = 2500 +acceleration_wall_0 = 1000 +inset_direction = inside_out +jerk_wall_0 = 20 +speed_print = 50 +speed_roofing = =math.ceil(speed_wall*(35/50)) +speed_wall_0 = =math.ceil(speed_wall*(20/50)) +speed_wall_x = =math.ceil(speed_wall*(35/50)) +top_bottom_thickness = =max(1.2 , layer_height * 6) diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-petg_0.1mm_engineering.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-petg_0.1mm_engineering.inst.cfg index 00c264aa32..a251a24a6e 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-petg_0.1mm_engineering.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-petg_0.1mm_engineering.inst.cfg @@ -12,9 +12,13 @@ type = intent variant = AA 0.4 [values] +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' +infill_sparse_density = 20 jerk_print = 30 speed_infill = =speed_print -speed_print = 30 +speed_print = 35 +speed_roofing = =speed_topbottom speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm_visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm_visual.inst.cfg index 0bb1797b46..464c17a430 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm_visual.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm_visual.inst.cfg @@ -12,6 +12,14 @@ type = intent variant = AA 0.4 [values] -speed_infill = 50 -top_bottom_thickness = 1.05 +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 0.5 +acceleration_print = 2500 +acceleration_wall_0 = 1000 +inset_direction = inside_out +jerk_wall_0 = 20 +speed_print = 50 +speed_roofing = =math.ceil(speed_wall*(35/50)) +speed_wall_0 = =math.ceil(speed_wall*(20/50)) +speed_wall_x = =math.ceil(speed_wall*(35/50)) +top_bottom_thickness = =max(1.2 , layer_height * 6) diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-pla_0.1mm_engineering.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-pla_0.1mm_engineering.inst.cfg index 0ab18817e0..5f6d7ee67b 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-pla_0.1mm_engineering.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-pla_0.1mm_engineering.inst.cfg @@ -12,9 +12,13 @@ type = intent variant = AA 0.4 [values] +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' +infill_sparse_density = 20 jerk_print = 30 speed_infill = =speed_print -speed_print = 30 +speed_print = 35 +speed_roofing = =speed_topbottom speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-pla_0.1mm_visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-pla_0.1mm_visual.inst.cfg index f6b7800386..2dcc5e1850 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-pla_0.1mm_visual.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-pla_0.1mm_visual.inst.cfg @@ -12,6 +12,14 @@ type = intent variant = AA 0.4 [values] -speed_infill = 50 -top_bottom_thickness = 1.05 +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 0.5 +acceleration_print = 2500 +acceleration_wall_0 = 1000 +inset_direction = inside_out +jerk_wall_0 = 20 +speed_print = 50 +speed_roofing = =math.ceil(speed_wall*(35/50)) +speed_wall_0 = =math.ceil(speed_wall*(20/50)) +speed_wall_x = =math.ceil(speed_wall*(35/50)) +top_bottom_thickness = =max(1.2 , layer_height * 6) diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm_visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm_visual.inst.cfg index b4516e44dd..c0c3ccc383 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm_visual.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm_visual.inst.cfg @@ -12,6 +12,14 @@ type = intent variant = AA 0.4 [values] -speed_infill = 50 -top_bottom_thickness = 1.05 +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 0.5 +acceleration_print = 2500 +acceleration_wall_0 = 1000 +inset_direction = inside_out +jerk_wall_0 = 20 +speed_print = 50 +speed_roofing = =math.ceil(speed_wall*(35/50)) +speed_wall_0 = =math.ceil(speed_wall*(20/50)) +speed_wall_x = =math.ceil(speed_wall*(35/50)) +top_bottom_thickness = =max(1.2 , layer_height * 6) diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm_engineering.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm_engineering.inst.cfg index 5c78ea044d..411d22b0ab 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm_engineering.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm_engineering.inst.cfg @@ -12,9 +12,13 @@ type = intent variant = AA 0.4 [values] +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' +infill_sparse_density = 20 jerk_print = 30 speed_infill = =speed_print -speed_print = 30 +speed_print = 35 +speed_roofing = =speed_topbottom speed_topbottom = =speed_print speed_wall = =speed_print speed_wall_0 = =speed_wall diff --git a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm_visual.inst.cfg b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm_visual.inst.cfg index 5f73432e1c..9a3c677fe9 100644 --- a/resources/intent/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm_visual.inst.cfg +++ b/resources/intent/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm_visual.inst.cfg @@ -12,6 +12,14 @@ type = intent variant = AA 0.4 [values] -speed_infill = 50 -top_bottom_thickness = 1.05 +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 0.5 +acceleration_print = 2500 +acceleration_wall_0 = 1000 +inset_direction = inside_out +jerk_wall_0 = 20 +speed_print = 50 +speed_roofing = =math.ceil(speed_wall*(35/50)) +speed_wall_0 = =math.ceil(speed_wall*(20/50)) +speed_wall_x = =math.ceil(speed_wall*(35/50)) +top_bottom_thickness = =max(1.2 , layer_height * 6) diff --git a/resources/meshes/ratrig_vcore3_200.stl b/resources/meshes/ratrig_vcore3_200.stl new file mode 100644 index 0000000000..b44e099eb3 Binary files /dev/null and b/resources/meshes/ratrig_vcore3_200.stl differ diff --git a/resources/meshes/ratrig_vcore3_300.stl b/resources/meshes/ratrig_vcore3_300.stl new file mode 100644 index 0000000000..454efe9012 Binary files /dev/null and b/resources/meshes/ratrig_vcore3_300.stl differ diff --git a/resources/meshes/ratrig_vcore3_400.stl b/resources/meshes/ratrig_vcore3_400.stl new file mode 100644 index 0000000000..dd1b801714 Binary files /dev/null and b/resources/meshes/ratrig_vcore3_400.stl differ diff --git a/resources/meshes/ratrig_vcore3_500.stl b/resources/meshes/ratrig_vcore3_500.stl new file mode 100644 index 0000000000..268c73ca00 Binary files /dev/null and b/resources/meshes/ratrig_vcore3_500.stl differ diff --git a/resources/meshes/ratrig_vminion.stl b/resources/meshes/ratrig_vminion.stl new file mode 100644 index 0000000000..1bfbd6a41c Binary files /dev/null and b/resources/meshes/ratrig_vminion.stl differ diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index 3717e778d3..8fe4a11847 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -35,6 +35,9 @@ Item property alias mergeObjects: mergeObjectsAction //property alias unMergeObjects: unMergeObjectsAction + property alias printObjectBeforePrevious: printObjectBeforePreviousAction + property alias printObjectAfterNext: printObjectAfterNextAction + property alias multiplyObject: multiplyObjectAction property alias selectAll: selectAllAction @@ -109,7 +112,6 @@ Item Action { id: exitFullScreenAction - shortcut: StandardKey.Cancel text: catalog.i18nc("@action:inmenu", "Exit Full Screen") icon.name: "view-fullscreen" } @@ -406,6 +408,26 @@ Item onTriggered: CuraApplication.ungroupSelected() } + Action + { + id: printObjectBeforePreviousAction + text: catalog.i18nc("@action:inmenu menubar:edit","Print Before") + " " + PrintOrderManager.previousNodeName + enabled: PrintOrderManager.shouldEnablePrintBeforeAction + icon.name: "print-before" + shortcut: "PgUp" + onTriggered: PrintOrderManager.swapSelectedAndPreviousNodes() + } + + Action + { + id: printObjectAfterNextAction + text: catalog.i18nc("@action:inmenu menubar:edit","Print After") + " " + PrintOrderManager.nextNodeName + enabled: PrintOrderManager.shouldEnablePrintAfterAction + icon.name: "print-after" + shortcut: "PgDown" + onTriggered: PrintOrderManager.swapSelectedAndNextNodes() + } + Action { id: mergeObjectsAction diff --git a/resources/qml/Menus/ContextMenu.qml b/resources/qml/Menus/ContextMenu.qml index 2de2795a74..1b32c24254 100644 --- a/resources/qml/Menus/ContextMenu.qml +++ b/resources/qml/Menus/ContextMenu.qml @@ -78,6 +78,19 @@ Cura.Menu Cura.MenuItem { action: Cura.Actions.mergeObjects } Cura.MenuItem { action: Cura.Actions.unGroupObjects } + // Edit print sequence actions + Cura.MenuSeparator { visible: PrintOrderManager.shouldShowEditPrintOrderActions } + Cura.MenuItem + { + action: Cura.Actions.printObjectBeforePrevious + visible: PrintOrderManager.shouldShowEditPrintOrderActions + } + Cura.MenuItem + { + action: Cura.Actions.printObjectAfterNext + visible: PrintOrderManager.shouldShowEditPrintOrderActions + } + Connections { target: UM.Controller diff --git a/resources/qml/Menus/EditMenu.qml b/resources/qml/Menus/EditMenu.qml index 522c6b27d1..728b3b212b 100644 --- a/resources/qml/Menus/EditMenu.qml +++ b/resources/qml/Menus/EditMenu.qml @@ -25,4 +25,17 @@ Cura.Menu Cura.MenuItem { action: Cura.Actions.groupObjects } Cura.MenuItem { action: Cura.Actions.mergeObjects } Cura.MenuItem { action: Cura.Actions.unGroupObjects } + + // Edit print sequence actions + Cura.MenuSeparator { visible: PrintOrderManager.shouldShowEditPrintOrderActions } + Cura.MenuItem + { + action: Cura.Actions.printObjectBeforePrevious + visible: PrintOrderManager.shouldShowEditPrintOrderActions + } + Cura.MenuItem + { + action: Cura.Actions.printObjectAfterNext + visible: PrintOrderManager.shouldShowEditPrintOrderActions + } } \ No newline at end of file diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 8871944523..69607a3f6b 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -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; @@ -627,6 +630,8 @@ UM.PreferencesPage UM.TooltipArea { width: childrenRect.width + // Mac only allows applications to run as a single instance, so providing the option for this os doesn't make much sense + visible: Qt.platform.os !== "osx" height: childrenRect.height text: catalog.i18nc("@info:tooltip","Should opening files from the desktop or external applications open in the same instance of Cura?") diff --git a/resources/qml/Preferences/MachinesPage.qml b/resources/qml/Preferences/MachinesPage.qml index 971de03696..1e287e74a0 100644 --- a/resources/qml/Preferences/MachinesPage.qml +++ b/resources/qml/Preferences/MachinesPage.qml @@ -12,7 +12,6 @@ import Cura 1.0 as Cura UM.ManagementPage { id: base - property var machineActionManager: CuraApplication.getMachineActionManagerQml() Item { enabled: false; UM.I18nCatalog { id: catalog; name: "cura"} } title: catalog.i18nc("@title:tab", "Printers") @@ -63,7 +62,7 @@ UM.ManagementPage Repeater { id: machineActionRepeater - model: base.currentItem ? machineActionManager.getSupportedActions(Cura.MachineManager.getDefinitionByMachineId(base.currentItem.id)) : null + model: base.currentItem ? CuraApplication.getSupportedActionMachineList(base.currentItem.id) : null Item { diff --git a/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml b/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml index 4cc1e3034a..94e7a93442 100644 --- a/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml +++ b/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml @@ -160,7 +160,6 @@ Item ProfileWarningReset { id: profileWarningReset - width: parent.width anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter fullWarning: false diff --git a/resources/qml/Toolbar.qml b/resources/qml/Toolbar.qml index 1af4e958f4..81f6c5d682 100644 --- a/resources/qml/Toolbar.qml +++ b/resources/qml/Toolbar.qml @@ -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 } diff --git a/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.3_fine.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.3_fine.inst.cfg new file mode 100644 index 0000000000..a5a800486f --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.3_fine.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fine +version = 4 + +[metadata] +material = generic_abs +quality_type = fine +setting_version = 22 +type = quality +variant = 0.3mm Nozzle +weight = 1 + +[values] +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.3_vfine.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.3_vfine.inst.cfg new file mode 100644 index 0000000000..316f5872a7 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.3_vfine.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fine +version = 4 + +[metadata] +material = generic_abs +quality_type = veryfine +setting_version = 22 +type = quality +variant = 0.3mm Nozzle +weight = 2 + +[values] +speed_print = 45 +speed_travel = 100 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_draft.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_draft.inst.cfg new file mode 100644 index 0000000000..b322c2784a --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_draft.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Draft +version = 4 + +[metadata] +material = generic_abs +quality_type = draft +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -3 + +[values] +speed_print = 70 +speed_travel = 90 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_fast.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_fast.inst.cfg new file mode 100644 index 0000000000..d329ebb4d9 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_fast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fast +version = 4 + +[metadata] +material = generic_abs +quality_type = fast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -1 + +[values] +speed_print = 60 +speed_travel = 80 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_fine.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_fine.inst.cfg new file mode 100644 index 0000000000..0aacffffcc --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_fine.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fine +version = 4 + +[metadata] +material = generic_abs +quality_type = fine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 1 + +[values] +speed_print = 40 +speed_travel = 70 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_normal.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_normal.inst.cfg new file mode 100644 index 0000000000..0a62fdc664 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_normal.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Standard +version = 4 + +[metadata] +material = generic_abs +quality_type = normal +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 0 + +[values] +speed_print = 60 +speed_travel = 80 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_vfast.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_vfast.inst.cfg new file mode 100644 index 0000000000..9ea811006d --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_vfast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fast +version = 4 + +[metadata] +material = generic_abs +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -2 + +[values] +speed_print = 60 +speed_travel = 90 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_vfine.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_vfine.inst.cfg new file mode 100644 index 0000000000..9d0d042d37 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.4_vfine.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fine +version = 4 + +[metadata] +material = generic_abs +quality_type = veryfine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 2 + +[values] +speed_print = 35 +speed_travel = 70 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.6_draft.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.6_draft.inst.cfg new file mode 100644 index 0000000000..469930cd21 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.6_draft.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Draft +version = 4 + +[metadata] +material = generic_abs +quality_type = draft +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -3 + +[values] +speed_print = 55 +speed_travel = 100 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.6_fast.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.6_fast.inst.cfg new file mode 100644 index 0000000000..bd25742c2a --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.6_fast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fast +version = 4 + +[metadata] +material = generic_abs +quality_type = fast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -1 + +[values] +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.6_vfast.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.6_vfast.inst.cfg new file mode 100644 index 0000000000..691770bca3 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer3_abs_0.6_vfast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fast +version = 4 + +[metadata] +material = generic_abs +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -2 + +[values] +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.3_fine.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.3_fine.inst.cfg new file mode 100644 index 0000000000..9ad2fc4d39 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.3_fine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fine +version = 4 + +[metadata] +material = generic_abs +quality_type = fine +setting_version = 22 +type = quality +variant = 0.3mm Nozzle +weight = 1 + +[values] +retraction_amount = 5 +retraction_speed = 30 +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.3_vfine.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.3_vfine.inst.cfg new file mode 100644 index 0000000000..69c626d03f --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.3_vfine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fine +version = 4 + +[metadata] +material = generic_abs +quality_type = veryfine +setting_version = 22 +type = quality +variant = 0.3mm Nozzle +weight = 2 + +[values] +retraction_amount = 5 +retraction_speed = 30 +speed_print = 45 +speed_travel = 100 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_draft.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_draft.inst.cfg new file mode 100644 index 0000000000..8d7a92f553 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_draft.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Draft +version = 4 + +[metadata] +material = generic_abs +quality_type = draft +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -3 + +[values] +retraction_amount = 5 +retraction_speed = 30 +speed_print = 70 +speed_travel = 90 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_fast.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_fast.inst.cfg new file mode 100644 index 0000000000..115387a815 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_fast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fast +version = 4 + +[metadata] +material = generic_abs +quality_type = fast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -1 + +[values] +retraction_amount = 5 +retraction_speed = 30 +speed_print = 60 +speed_travel = 80 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_fine.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_fine.inst.cfg new file mode 100644 index 0000000000..46f3f2673b --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_fine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer3 +name = Fine +version = 4 + +[metadata] +material = generic_abs +quality_type = fine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 1 + +[values] +retraction_amount = 5 +retraction_speed = 30 +speed_print = 40 +speed_travel = 70 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_normal.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_normal.inst.cfg new file mode 100644 index 0000000000..c0bc64550d --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_normal.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Standard +version = 4 + +[metadata] +material = generic_abs +quality_type = normal +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 0 + +[values] +retraction_amount = 5 +retraction_speed = 30 +speed_print = 60 +speed_travel = 80 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_vfast.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_vfast.inst.cfg new file mode 100644 index 0000000000..14ce91d9f3 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_vfast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fast +version = 4 + +[metadata] +material = generic_abs +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -2 + +[values] +retraction_amount = 5 +retraction_speed = 30 +speed_print = 60 +speed_travel = 90 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_vfine.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_vfine.inst.cfg new file mode 100644 index 0000000000..cdb13c71d1 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.4_vfine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fine +version = 4 + +[metadata] +material = generic_abs +quality_type = veryfine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 2 + +[values] +retraction_amount = 5 +retraction_speed = 30 +speed_print = 35 +speed_travel = 70 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.6_draft.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.6_draft.inst.cfg new file mode 100644 index 0000000000..77e222ddcd --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.6_draft.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Draft +version = 4 + +[metadata] +material = generic_abs +quality_type = draft +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -3 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 55 +speed_travel = 100 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.6_fast.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.6_fast.inst.cfg new file mode 100644 index 0000000000..cb0dd441c2 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.6_fast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fast +version = 4 + +[metadata] +material = generic_abs +quality_type = fast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -1 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.6_vfast.inst.cfg b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.6_vfast.inst.cfg new file mode 100644 index 0000000000..10055e2fa0 --- /dev/null +++ b/resources/quality/flashforge/abs/flashforge_adventurer4_abs_0.6_vfast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fast +version = 4 + +[metadata] +material = generic_abs +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -2 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/asa/flashforge_adventurer4_asa_0.4_fast.inst.cfg b/resources/quality/flashforge/asa/flashforge_adventurer4_asa_0.4_fast.inst.cfg new file mode 100644 index 0000000000..b85163b595 --- /dev/null +++ b/resources/quality/flashforge/asa/flashforge_adventurer4_asa_0.4_fast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fast +version = 4 + +[metadata] +material = generic_asa +quality_type = fast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -1 + +[values] +retraction_amount = 4.5 +retraction_speed = 30 +speed_print = 45 +speed_travel = 100 + diff --git a/resources/quality/flashforge/asa/flashforge_adventurer4_asa_0.4_fine.inst.cfg b/resources/quality/flashforge/asa/flashforge_adventurer4_asa_0.4_fine.inst.cfg new file mode 100644 index 0000000000..a584b97724 --- /dev/null +++ b/resources/quality/flashforge/asa/flashforge_adventurer4_asa_0.4_fine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fine +version = 4 + +[metadata] +material = generic_asa +quality_type = fine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -1 + +[values] +retraction_amount = 4.5 +retraction_speed = 30 +speed_print = 35 +speed_travel = 100 + diff --git a/resources/quality/flashforge/asa/flashforge_adventurer4_asa_0.4_normal.inst.cfg b/resources/quality/flashforge/asa/flashforge_adventurer4_asa_0.4_normal.inst.cfg new file mode 100644 index 0000000000..e976f9f7b4 --- /dev/null +++ b/resources/quality/flashforge/asa/flashforge_adventurer4_asa_0.4_normal.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Standard +version = 4 + +[metadata] +material = generic_asa +quality_type = normal +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 0 + +[values] +retraction_amount = 4.5 +retraction_speed = 30 +speed_print = 40 +speed_travel = 100 + diff --git a/resources/quality/flashforge/flashforge_adventurer3_draft.inst.cfg b/resources/quality/flashforge/flashforge_adventurer3_draft.inst.cfg new file mode 100644 index 0000000000..f1dd467a2b --- /dev/null +++ b/resources/quality/flashforge/flashforge_adventurer3_draft.inst.cfg @@ -0,0 +1,21 @@ +[general] +definition = flashforge_adventurer3 +name = Draft +version = 4 + +[metadata] +global_quality = True +quality_type = draft +setting_version = 22 +type = quality +weight = -3 + +[values] +layer_height = 0.4 +layer_height_0 = 0.4 +retraction_amount = 5 +retraction_speed = 25 +speed_infill = =speed_print +speed_layer_0 = 10 +speed_support = =math.ceil(speed_print * 0.6) + diff --git a/resources/quality/flashforge/flashforge_adventurer3_fast.inst.cfg b/resources/quality/flashforge/flashforge_adventurer3_fast.inst.cfg new file mode 100644 index 0000000000..300481cd3d --- /dev/null +++ b/resources/quality/flashforge/flashforge_adventurer3_fast.inst.cfg @@ -0,0 +1,21 @@ +[general] +definition = flashforge_adventurer3 +name = Fast +version = 4 + +[metadata] +global_quality = True +quality_type = fast +setting_version = 22 +type = quality +weight = -1 + +[values] +layer_height = 0.25 +layer_height_0 = 0.3 +retraction_amount = 5 +retraction_speed = 25 +speed_infill = =speed_print +speed_layer_0 = 10 +speed_support = =math.ceil(speed_print * 0.6) + diff --git a/resources/quality/flashforge/flashforge_adventurer3_fine.inst.cfg b/resources/quality/flashforge/flashforge_adventurer3_fine.inst.cfg new file mode 100644 index 0000000000..553091b10a --- /dev/null +++ b/resources/quality/flashforge/flashforge_adventurer3_fine.inst.cfg @@ -0,0 +1,21 @@ +[general] +definition = flashforge_adventurer3 +name = Fine +version = 4 + +[metadata] +global_quality = True +quality_type = fine +setting_version = 22 +type = quality +weight = 1 + +[values] +layer_height = 0.15 +layer_height_0 = 0.23 +retraction_amount = 5 +retraction_speed = 25 +speed_infill = =speed_print +speed_layer_0 = 10 +speed_support = =math.ceil(speed_print * 0.6) + diff --git a/resources/quality/flashforge/flashforge_adventurer3_normal.inst.cfg b/resources/quality/flashforge/flashforge_adventurer3_normal.inst.cfg new file mode 100644 index 0000000000..438b2cc9fa --- /dev/null +++ b/resources/quality/flashforge/flashforge_adventurer3_normal.inst.cfg @@ -0,0 +1,21 @@ +[general] +definition = flashforge_adventurer3 +name = Standard +version = 4 + +[metadata] +global_quality = True +quality_type = normal +setting_version = 22 +type = quality +weight = 0 + +[values] +layer_height = 0.2 +layer_height_0 = 0.3 +retraction_amount = 5 +retraction_speed = 25 +speed_infill = =speed_print +speed_layer_0 = 10 +speed_support = =math.ceil(speed_print * 0.6) + diff --git a/resources/quality/flashforge/flashforge_adventurer3_vfast.inst.cfg b/resources/quality/flashforge/flashforge_adventurer3_vfast.inst.cfg new file mode 100644 index 0000000000..fba4eb1091 --- /dev/null +++ b/resources/quality/flashforge/flashforge_adventurer3_vfast.inst.cfg @@ -0,0 +1,21 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fast +version = 4 + +[metadata] +global_quality = True +quality_type = veryfast +setting_version = 22 +type = quality +weight = -2 + +[values] +layer_height = 0.3 +layer_height_0 = 0.3 +retraction_amount = 5 +retraction_speed = 25 +speed_infill = =speed_print +speed_layer_0 = 10 +speed_support = =math.ceil(speed_print * 0.6) + diff --git a/resources/quality/flashforge/flashforge_adventurer3_vfine.inst.cfg b/resources/quality/flashforge/flashforge_adventurer3_vfine.inst.cfg new file mode 100644 index 0000000000..6ea52128be --- /dev/null +++ b/resources/quality/flashforge/flashforge_adventurer3_vfine.inst.cfg @@ -0,0 +1,21 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fine +version = 4 + +[metadata] +global_quality = True +quality_type = veryfine +setting_version = 22 +type = quality +weight = 2 + +[values] +layer_height = 0.1 +layer_height_0 = 0.18 +retraction_amount = 5 +retraction_speed = 25 +speed_infill = =speed_print +speed_layer_0 = 10 +speed_support = =math.ceil(speed_print * 0.6) + diff --git a/resources/quality/flashforge/flashforge_adventurer4_draft.inst.cfg b/resources/quality/flashforge/flashforge_adventurer4_draft.inst.cfg new file mode 100644 index 0000000000..7ee52ca8a3 --- /dev/null +++ b/resources/quality/flashforge/flashforge_adventurer4_draft.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Draft +version = 4 + +[metadata] +global_quality = True +quality_type = draft +setting_version = 22 +type = quality +weight = -3 + +[values] +layer_height = 0.4 +layer_height_0 = 0.4 +speed_infill = =speed_print +speed_layer_0 = 10 +speed_support = =math.ceil(speed_print * 0.6) + diff --git a/resources/quality/flashforge/flashforge_adventurer4_fast.inst.cfg b/resources/quality/flashforge/flashforge_adventurer4_fast.inst.cfg new file mode 100644 index 0000000000..8be5e02e72 --- /dev/null +++ b/resources/quality/flashforge/flashforge_adventurer4_fast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fast +version = 4 + +[metadata] +global_quality = True +quality_type = fast +setting_version = 22 +type = quality +weight = -1 + +[values] +layer_height = 0.25 +layer_height_0 = 0.3 +speed_infill = =speed_print +speed_layer_0 = 10 +speed_support = =math.ceil(speed_print * 0.6) + diff --git a/resources/quality/flashforge/flashforge_adventurer4_fine.inst.cfg b/resources/quality/flashforge/flashforge_adventurer4_fine.inst.cfg new file mode 100644 index 0000000000..272e5bc69d --- /dev/null +++ b/resources/quality/flashforge/flashforge_adventurer4_fine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fine +version = 4 + +[metadata] +global_quality = True +quality_type = fine +setting_version = 22 +type = quality +weight = 1 + +[values] +layer_height = 0.15 +layer_height_0 = 0.23 +speed_infill = =speed_print +speed_layer_0 = 10 +speed_support = =math.ceil(speed_print * 0.6) + diff --git a/resources/quality/flashforge/flashforge_adventurer4_normal.inst.cfg b/resources/quality/flashforge/flashforge_adventurer4_normal.inst.cfg new file mode 100644 index 0000000000..4eb11924fe --- /dev/null +++ b/resources/quality/flashforge/flashforge_adventurer4_normal.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Standard +version = 4 + +[metadata] +global_quality = True +quality_type = normal +setting_version = 22 +type = quality +weight = 0 + +[values] +layer_height = 0.2 +layer_height_0 = 0.3 +speed_infill = =speed_print +speed_layer_0 = 10 +speed_support = =math.ceil(speed_print * 0.6) + diff --git a/resources/quality/flashforge/flashforge_adventurer4_vfast.inst.cfg b/resources/quality/flashforge/flashforge_adventurer4_vfast.inst.cfg new file mode 100644 index 0000000000..a2e3718bd2 --- /dev/null +++ b/resources/quality/flashforge/flashforge_adventurer4_vfast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fast +version = 4 + +[metadata] +global_quality = True +quality_type = veryfast +setting_version = 22 +type = quality +weight = -2 + +[values] +layer_height = 0.3 +layer_height_0 = 0.3 +speed_infill = =speed_print +speed_layer_0 = 10 +speed_support = =math.ceil(speed_print * 0.6) + diff --git a/resources/quality/flashforge/flashforge_adventurer4_vfine.inst.cfg b/resources/quality/flashforge/flashforge_adventurer4_vfine.inst.cfg new file mode 100644 index 0000000000..f7eda2f194 --- /dev/null +++ b/resources/quality/flashforge/flashforge_adventurer4_vfine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fine +version = 4 + +[metadata] +global_quality = True +quality_type = veryfine +setting_version = 22 +type = quality +weight = 2 + +[values] +layer_height = 0.1 +layer_height_0 = 0.18 +speed_infill = =speed_print +speed_layer_0 = 10 +speed_support = =math.ceil(speed_print * 0.6) + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.4_draft.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.4_draft.inst.cfg new file mode 100644 index 0000000000..03b8d5f74e --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.4_draft.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Draft +version = 4 + +[metadata] +material = generic_pc +quality_type = draft +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -3 + +[values] +speed_print = 50 +speed_travel = 90 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.4_fast.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.4_fast.inst.cfg new file mode 100644 index 0000000000..0c4322dfee --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.4_fast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fast +version = 4 + +[metadata] +material = generic_pc +quality_type = fast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -1 + +[values] +speed_print = 40 +speed_travel = 80 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.4_normal.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.4_normal.inst.cfg new file mode 100644 index 0000000000..1047360ee7 --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.4_normal.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Standard +version = 4 + +[metadata] +material = generic_pc +quality_type = normal +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 0 + +[values] +speed_print = 40 +speed_travel = 80 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.4_vfast.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.4_vfast.inst.cfg new file mode 100644 index 0000000000..cddd593db6 --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.4_vfast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fast +version = 4 + +[metadata] +material = generic_pc +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -2 + +[values] +speed_print = 50 +speed_travel = 90 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.6_draft.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.6_draft.inst.cfg new file mode 100644 index 0000000000..1742dbd9c3 --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.6_draft.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Draft +version = 4 + +[metadata] +material = generic_pc +quality_type = draft +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -3 + +[values] +speed_print = 60 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.6_fast.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.6_fast.inst.cfg new file mode 100644 index 0000000000..7e67c9f178 --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.6_fast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fast +version = 4 + +[metadata] +material = generic_pc +quality_type = fast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -2 + +[values] +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.6_vfast.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.6_vfast.inst.cfg new file mode 100644 index 0000000000..c3aecf6625 --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer3_pc_0.6_vfast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fast +version = 4 + +[metadata] +material = generic_pc +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -2 + +[values] +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.4_draft.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.4_draft.inst.cfg new file mode 100644 index 0000000000..c60aab1383 --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.4_draft.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Draft +version = 4 + +[metadata] +material = generic_pc +quality_type = draft +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -3 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 50 +speed_travel = 90 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.4_fast.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.4_fast.inst.cfg new file mode 100644 index 0000000000..4a532fe98b --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.4_fast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fast +version = 4 + +[metadata] +material = generic_pc +quality_type = fast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -1 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 40 +speed_travel = 80 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.4_normal.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.4_normal.inst.cfg new file mode 100644 index 0000000000..b44810bae8 --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.4_normal.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Standard +version = 4 + +[metadata] +material = generic_pc +quality_type = normal +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 0 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 40 +speed_travel = 80 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.4_vfast.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.4_vfast.inst.cfg new file mode 100644 index 0000000000..042d303522 --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.4_vfast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fast +version = 4 + +[metadata] +material = generic_pc +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -2 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 50 +speed_travel = 90 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.6_draft.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.6_draft.inst.cfg new file mode 100644 index 0000000000..cb40e63d8c --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.6_draft.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Draft +version = 4 + +[metadata] +material = generic_pc +quality_type = draft +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -3 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 60 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.6_fast.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.6_fast.inst.cfg new file mode 100644 index 0000000000..e66be5bc7e --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.6_fast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fast +version = 4 + +[metadata] +material = generic_pc +quality_type = fast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -2 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.6_vfast.inst.cfg b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.6_vfast.inst.cfg new file mode 100644 index 0000000000..2d2d8bdbdc --- /dev/null +++ b/resources/quality/flashforge/pc/flashforge_adventurer4_pc_0.6_vfast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fast +version = 4 + +[metadata] +material = generic_pc +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -2 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.3_fine.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.3_fine.inst.cfg new file mode 100644 index 0000000000..3405adaae5 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.3_fine.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fine +version = 4 + +[metadata] +material = generic_petg +quality_type = fine +setting_version = 22 +type = quality +variant = 0.3mm Nozzle +weight = 1 + +[values] +speed_print = 50 +speed_travel = 80 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.3_vfine.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.3_vfine.inst.cfg new file mode 100644 index 0000000000..20e2ba9ce5 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.3_vfine.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fine +version = 4 + +[metadata] +material = generic_petg +quality_type = veryfine +setting_version = 22 +type = quality +variant = 0.3mm Nozzle +weight = 2 + +[values] +speed_print = 50 +speed_travel = 80 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_draft.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_draft.inst.cfg new file mode 100644 index 0000000000..45aebad245 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_draft.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Draft +version = 4 + +[metadata] +material = generic_petg +quality_type = draft +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -3 + +[values] +speed_print = 65 +speed_travel = 100 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_fast.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_fast.inst.cfg new file mode 100644 index 0000000000..85ef922ea7 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_fast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fast +version = 4 + +[metadata] +material = generic_petg +quality_type = fast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -1 + +[values] +speed_print = 55 +speed_travel = 85 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_fine.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_fine.inst.cfg new file mode 100644 index 0000000000..ec8d0e4d04 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_fine.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fine +version = 4 + +[metadata] +material = generic_petg +quality_type = fine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 1 + +[values] +speed_print = 40 +speed_travel = 80 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_normal.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_normal.inst.cfg new file mode 100644 index 0000000000..074d4864ce --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_normal.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Standard +version = 4 + +[metadata] +material = generic_petg +quality_type = normal +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 0 + +[values] +speed_print = 50 +speed_travel = 80 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_vfast.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_vfast.inst.cfg new file mode 100644 index 0000000000..66d2184562 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_vfast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fast +version = 4 + +[metadata] +material = generic_petg +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -2 + +[values] +speed_print = 60 +speed_travel = 90 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_vfine.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_vfine.inst.cfg new file mode 100644 index 0000000000..4f7d0da1c2 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.4_vfine.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fine +version = 4 + +[metadata] +material = generic_petg +quality_type = veryfine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 2 + +[values] +speed_print = 40 +speed_travel = 80 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.6_draft.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.6_draft.inst.cfg new file mode 100644 index 0000000000..2f486d4d5d --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.6_draft.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Draft +version = 4 + +[metadata] +material = generic_petg +quality_type = draft +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -3 + +[values] +speed_print = 65 +speed_travel = 100 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.6_fast.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.6_fast.inst.cfg new file mode 100644 index 0000000000..9ac7372049 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.6_fast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fast +version = 4 + +[metadata] +material = generic_petg +quality_type = fast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -1 + +[values] +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.6_vfast.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.6_vfast.inst.cfg new file mode 100644 index 0000000000..744527c139 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer3_petg_0.6_vfast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fast +version = 4 + +[metadata] +material = generic_petg +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -2 + +[values] +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.3_fine.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.3_fine.inst.cfg new file mode 100644 index 0000000000..aeb666c82d --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.3_fine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fine +version = 4 + +[metadata] +material = generic_petg +quality_type = fine +setting_version = 22 +type = quality +variant = 0.3mm Nozzle +weight = 1 + +[values] +retraction_amount = 5 +retraction_speed = 25 +speed_print = 50 +speed_travel = 80 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.3_vfine.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.3_vfine.inst.cfg new file mode 100644 index 0000000000..cb0b7fba37 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.3_vfine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fine +version = 4 + +[metadata] +material = generic_petg +quality_type = veryfine +setting_version = 22 +type = quality +variant = 0.3mm Nozzle +weight = 2 + +[values] +retraction_amount = 5 +retraction_speed = 25 +speed_print = 50 +speed_travel = 80 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_draft.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_draft.inst.cfg new file mode 100644 index 0000000000..ec08773052 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_draft.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Draft +version = 4 + +[metadata] +material = generic_petg +quality_type = draft +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -3 + +[values] +retraction_amount = 5 +retraction_speed = 25 +speed_print = 65 +speed_travel = 100 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_fast.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_fast.inst.cfg new file mode 100644 index 0000000000..84be0afa3b --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_fast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fast +version = 4 + +[metadata] +material = generic_petg +quality_type = fast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -1 + +[values] +retraction_amount = 5 +retraction_speed = 25 +speed_print = 55 +speed_travel = 85 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_fine.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_fine.inst.cfg new file mode 100644 index 0000000000..75bde3cd43 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_fine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fine +version = 4 + +[metadata] +material = generic_petg +quality_type = fine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 1 + +[values] +retraction_amount = 5 +retraction_speed = 25 +speed_print = 40 +speed_travel = 80 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_normal.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_normal.inst.cfg new file mode 100644 index 0000000000..5f37b1e812 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_normal.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Standard +version = 4 + +[metadata] +material = generic_petg +quality_type = normal +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 0 + +[values] +retraction_amount = 5 +retraction_speed = 25 +speed_print = 50 +speed_travel = 80 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_vfast.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_vfast.inst.cfg new file mode 100644 index 0000000000..844195d2df --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_vfast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fast +version = 4 + +[metadata] +material = generic_petg +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -2 + +[values] +retraction_amount = 5 +retraction_speed = 25 +speed_print = 60 +speed_travel = 90 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_vfine.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_vfine.inst.cfg new file mode 100644 index 0000000000..2eb93f1216 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.4_vfine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fine +version = 4 + +[metadata] +material = generic_petg +quality_type = veryfine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 2 + +[values] +retraction_amount = 5 +retraction_speed = 25 +speed_print = 40 +speed_travel = 80 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.6_draft.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.6_draft.inst.cfg new file mode 100644 index 0000000000..ff190b0e23 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.6_draft.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Draft +version = 4 + +[metadata] +material = generic_petg +quality_type = draft +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -3 + +[values] +retraction_amount = 5 +retraction_speed = 20 +speed_print = 65 +speed_travel = 100 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.6_fast.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.6_fast.inst.cfg new file mode 100644 index 0000000000..91d617d234 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.6_fast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fast +version = 4 + +[metadata] +material = generic_petg +quality_type = fast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -1 + +[values] +retraction_amount = 5 +retraction_speed = 20 +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.6_vfast.inst.cfg b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.6_vfast.inst.cfg new file mode 100644 index 0000000000..22647877b8 --- /dev/null +++ b/resources/quality/flashforge/petg/flashforge_adventurer4_petg_0.6_vfast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fast +version = 4 + +[metadata] +material = generic_petg +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -2 + +[values] +retraction_amount = 5 +retraction_speed = 20 +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.3_fine.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.3_fine.inst.cfg new file mode 100644 index 0000000000..6dbc8c55db --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.3_fine.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fine +version = 4 + +[metadata] +material = generic_pla +quality_type = fine +setting_version = 22 +type = quality +variant = 0.3mm Nozzle +weight = 1 + +[values] +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.3_vfine.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.3_vfine.inst.cfg new file mode 100644 index 0000000000..690c3e6b84 --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.3_vfine.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fine +version = 4 + +[metadata] +material = generic_pla +quality_type = veryfine +setting_version = 22 +type = quality +variant = 0.3mm Nozzle +weight = 2 + +[values] +speed_print = 45 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_draft.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_draft.inst.cfg new file mode 100644 index 0000000000..6a4342197e --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_draft.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Draft +version = 4 + +[metadata] +material = generic_pla +quality_type = draft +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -3 + +[values] +speed_print = 75 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_fast.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_fast.inst.cfg new file mode 100644 index 0000000000..180e648dfd --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_fast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fast +version = 4 + +[metadata] +material = generic_pla +quality_type = fast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -1 + +[values] +speed_print = 65 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_fine.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_fine.inst.cfg new file mode 100644 index 0000000000..7e6dee0b1e --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_fine.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fine +version = 4 + +[metadata] +material = generic_pla +quality_type = fine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 1 + +[values] +speed_print = 50 +speed_travel = 80 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_normal.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_normal.inst.cfg new file mode 100644 index 0000000000..06e24e078d --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_normal.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Standard +version = 4 + +[metadata] +material = generic_pla +quality_type = normal +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 0 + +[values] +speed_print = 60 +speed_travel = 80 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_vfast.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_vfast.inst.cfg new file mode 100644 index 0000000000..d82fb0cdad --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_vfast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fast +version = 4 + +[metadata] +material = generic_pla +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -2 + +[values] +speed_print = 70 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_vfine.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_vfine.inst.cfg new file mode 100644 index 0000000000..dfd442d63c --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.4_vfine.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fine +version = 4 + +[metadata] +material = generic_pla +quality_type = veryfine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 2 + +[values] +speed_print = 40 +speed_travel = 70 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.6_draft.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.6_draft.inst.cfg new file mode 100644 index 0000000000..4508444055 --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.6_draft.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Draft +version = 4 + +[metadata] +material = generic_pla +quality_type = draft +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -2 + +[values] +speed_print = 60 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.6_fast.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.6_fast.inst.cfg new file mode 100644 index 0000000000..782b74a7dc --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.6_fast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Fast +version = 4 + +[metadata] +material = generic_pla +quality_type = fast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -1 + +[values] +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.6_vfast.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.6_vfast.inst.cfg new file mode 100644 index 0000000000..22b74b6a25 --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer3_pla_0.6_vfast.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = flashforge_adventurer3 +name = Very Fast +version = 4 + +[metadata] +material = generic_pla +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -2 + +[values] +speed_print = 55 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.3_fine.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.3_fine.inst.cfg new file mode 100644 index 0000000000..747f8a0076 --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.3_fine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fine +version = 4 + +[metadata] +material = generic_pla +quality_type = fine +setting_version = 22 +type = quality +variant = 0.3mm Nozzle +weight = 1 + +[values] +retraction_amount = 5 +retraction_speed = 30 +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.3_vfine.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.3_vfine.inst.cfg new file mode 100644 index 0000000000..e7a6ef72cd --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.3_vfine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fine +version = 4 + +[metadata] +material = generic_pla +quality_type = veryfine +setting_version = 22 +type = quality +variant = 0.3mm Nozzle +weight = 2 + +[values] +retraction_amount = 5 +retraction_speed = 30 +speed_print = 45 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_draft.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_draft.inst.cfg new file mode 100644 index 0000000000..18bd03e2fa --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_draft.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Draft +version = 4 + +[metadata] +material = generic_pla +quality_type = draft +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -2 + +[values] +retraction_amount = 5.5 +retraction_speed = 25 +speed_print = 65 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_fast.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_fast.inst.cfg new file mode 100644 index 0000000000..a40571318d --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_fast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fine +version = 4 + +[metadata] +material = generic_pla +quality_type = fine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -1 + +[values] +retraction_amount = 5.5 +retraction_speed = 25 +speed_print = 55 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_fine.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_fine.inst.cfg new file mode 100644 index 0000000000..b81f729ed7 --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_fine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fine +version = 4 + +[metadata] +material = generic_pla +quality_type = fine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 1 + +[values] +retraction_amount = 5.5 +retraction_speed = 25 +speed_print = 45 +speed_travel = 90 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_normal.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_normal.inst.cfg new file mode 100644 index 0000000000..6e3486a031 --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_normal.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Standard +version = 4 + +[metadata] +material = generic_pla +quality_type = normal +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 0 + +[values] +retraction_amount = 5.5 +retraction_speed = 25 +speed_print = 50 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_vfast.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_vfast.inst.cfg new file mode 100644 index 0000000000..7635f68944 --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_vfast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fast +version = 4 + +[metadata] +material = generic_pla +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = -2 + +[values] +retraction_amount = 5.5 +retraction_speed = 25 +speed_print = 60 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_vfine.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_vfine.inst.cfg new file mode 100644 index 0000000000..718dd4d4c7 --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.4_vfine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fine +version = 4 + +[metadata] +material = generic_pla +quality_type = veryfine +setting_version = 22 +type = quality +variant = 0.4mm Nozzle +weight = 2 + +[values] +retraction_amount = 5.5 +retraction_speed = 25 +speed_print = 40 +speed_travel = 80 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.6_draft.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.6_draft.inst.cfg new file mode 100644 index 0000000000..50e5223045 --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.6_draft.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Draft +version = 4 + +[metadata] +material = generic_pla +quality_type = draft +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -2 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 65 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.6_fast.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.6_fast.inst.cfg new file mode 100644 index 0000000000..f81ed66155 --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.6_fast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Fast +version = 4 + +[metadata] +material = generic_pla +quality_type = fast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -1 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 60 +speed_travel = 100 + diff --git a/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.6_vfast.inst.cfg b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.6_vfast.inst.cfg new file mode 100644 index 0000000000..aa065e31f0 --- /dev/null +++ b/resources/quality/flashforge/pla/flashforge_adventurer4_pla_0.6_vfast.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = flashforge_adventurer4 +name = Very Fast +version = 4 + +[metadata] +material = generic_pla +quality_type = veryfast +setting_version = 22 +type = quality +variant = 0.6mm Nozzle +weight = -2 + +[values] +retraction_amount = 6 +retraction_speed = 30 +speed_print = 60 +speed_travel = 100 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.2_Nylon_super.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.2_Nylon_super.inst.cfg new file mode 100644 index 0000000000..adfe0e26a5 --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.2_Nylon_super.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = super +setting_version = 22 +type = quality +variant = 0.2mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*8 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.2_Nylon_ultra.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.2_Nylon_ultra.inst.cfg new file mode 100644 index 0000000000..d0ed1bfc29 --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.2_Nylon_ultra.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Ultra Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = ultra +setting_version = 22 +type = quality +variant = 0.2mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*8 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.3_Nylon_adaptive.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.3_Nylon_adaptive.inst.cfg new file mode 100644 index 0000000000..98bf867ce5 --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.3_Nylon_adaptive.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = adaptive +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.3_Nylon_low.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.3_Nylon_low.inst.cfg new file mode 100644 index 0000000000..8af3672269 --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.3_Nylon_low.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Low Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = low +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.3_Nylon_standard.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.3_Nylon_standard.inst.cfg new file mode 100644 index 0000000000..5c70c697a6 --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.3_Nylon_standard.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = standard +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.3_Nylon_super.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.3_Nylon_super.inst.cfg new file mode 100644 index 0000000000..af8ea00735 --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.3_Nylon_super.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = super +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.4_Nylon_adaptive.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.4_Nylon_adaptive.inst.cfg new file mode 100644 index 0000000000..3b4589bd78 --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.4_Nylon_adaptive.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = adaptive +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] +cool_fan_speed = 40 +material_flow = 94.0 +retraction_amount = 1.6 +retraction_speed = 20 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.4_Nylon_low.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.4_Nylon_low.inst.cfg new file mode 100644 index 0000000000..addc6f2c1c --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.4_Nylon_low.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Low Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = low +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] +cool_fan_speed = 40 +material_flow = 94.0 +retraction_amount = 1.6 +retraction_speed = 20 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.4_Nylon_standard.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.4_Nylon_standard.inst.cfg new file mode 100644 index 0000000000..e74e3c9015 --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.4_Nylon_standard.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = standard +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] +cool_fan_speed = 40 +material_flow = 94.0 +retraction_amount = 1.6 +retraction_speed = 20 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.4_Nylon_super.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.4_Nylon_super.inst.cfg new file mode 100644 index 0000000000..957d89d2bf --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.4_Nylon_super.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = super +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] +cool_fan_speed = 40 +material_flow = 94.0 +retraction_amount = 1.6 +retraction_speed = 20 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.5_Nylon_adaptive.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.5_Nylon_adaptive.inst.cfg new file mode 100644 index 0000000000..46766b94c2 --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.5_Nylon_adaptive.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = adaptive +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.5_Nylon_low.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.5_Nylon_low.inst.cfg new file mode 100644 index 0000000000..22e93d8876 --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.5_Nylon_low.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Low Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = low +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.5_Nylon_standard.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.5_Nylon_standard.inst.cfg new file mode 100644 index 0000000000..0d9b6ae5c1 --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.5_Nylon_standard.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = standard +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.5_Nylon_super.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.5_Nylon_super.inst.cfg new file mode 100644 index 0000000000..372d066d4c --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.5_Nylon_super.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = super +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.6_Nylon_standard.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.6_Nylon_standard.inst.cfg new file mode 100644 index 0000000000..a57d8e22ca --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.6_Nylon_standard.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = standard +setting_version = 22 +type = quality +variant = 0.6mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*3 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_0.8_Nylon_draft.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_0.8_Nylon_draft.inst.cfg new file mode 100644 index 0000000000..1fc2e48eed --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_0.8_Nylon_draft.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = ratrig_base +name = Draft Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = draft +setting_version = 22 +type = quality +variant = 0.8mm Nozzle + +[values] +cool_fan_speed = 40 +speed_layer_0 = 30 +wall_thickness = =line_width*2 + diff --git a/resources/quality/ratrig_base/nylon/ratrig_base_1.0_Nylon_draft.inst.cfg b/resources/quality/ratrig_base/nylon/ratrig_base_1.0_Nylon_draft.inst.cfg new file mode 100644 index 0000000000..bcc88a598c --- /dev/null +++ b/resources/quality/ratrig_base/nylon/ratrig_base_1.0_Nylon_draft.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Draft Quality +version = 4 + +[metadata] +material = generic_nylon +quality_type = draft +setting_version = 22 +type = quality +variant = 1.0mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*3 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.2_PETG_super.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.2_PETG_super.inst.cfg new file mode 100644 index 0000000000..24419b5302 --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.2_PETG_super.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = super +setting_version = 22 +type = quality +variant = 0.2mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*8 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.2_PETG_ultra.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.2_PETG_ultra.inst.cfg new file mode 100644 index 0000000000..a55a6ad76a --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.2_PETG_ultra.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Ultra Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = ultra +setting_version = 22 +type = quality +variant = 0.2mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*8 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.3_PETG_adaptive.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.3_PETG_adaptive.inst.cfg new file mode 100644 index 0000000000..890652591b --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.3_PETG_adaptive.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = adaptive +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.3_PETG_low.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.3_PETG_low.inst.cfg new file mode 100644 index 0000000000..aa3787c278 --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.3_PETG_low.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Low Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = low +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.3_PETG_standard.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.3_PETG_standard.inst.cfg new file mode 100644 index 0000000000..a2afefe69c --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.3_PETG_standard.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = standard +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.3_PETG_super.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.3_PETG_super.inst.cfg new file mode 100644 index 0000000000..a90915b50c --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.3_PETG_super.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = super +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.4_PETG_adaptive.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.4_PETG_adaptive.inst.cfg new file mode 100644 index 0000000000..765547d692 --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.4_PETG_adaptive.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = adaptive +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] +cool_fan_speed = 40 +material_flow = 94.0 +retraction_amount = 1.6 +retraction_speed = 20 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.4_PETG_low.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.4_PETG_low.inst.cfg new file mode 100644 index 0000000000..d5afe46994 --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.4_PETG_low.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Low Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = low +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] +cool_fan_speed = 40 +material_flow = 94.0 +retraction_amount = 1.6 +retraction_speed = 20 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.4_PETG_standard.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.4_PETG_standard.inst.cfg new file mode 100644 index 0000000000..ea0ff5ab6b --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.4_PETG_standard.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = standard +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] +cool_fan_speed = 40 +material_flow = 94.0 +retraction_amount = 1.6 +retraction_speed = 20 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.4_PETG_super.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.4_PETG_super.inst.cfg new file mode 100644 index 0000000000..49245f85b2 --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.4_PETG_super.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = super +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] +cool_fan_speed = 40 +material_flow = 94.0 +retraction_amount = 1.6 +retraction_speed = 20 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.5_PETG_adaptive.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.5_PETG_adaptive.inst.cfg new file mode 100644 index 0000000000..7147deb58f --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.5_PETG_adaptive.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = adaptive +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.5_PETG_low.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.5_PETG_low.inst.cfg new file mode 100644 index 0000000000..e930a9415e --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.5_PETG_low.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Low Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = low +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.5_PETG_standard.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.5_PETG_standard.inst.cfg new file mode 100644 index 0000000000..92611f4b71 --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.5_PETG_standard.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = standard +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.5_PETG_super.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.5_PETG_super.inst.cfg new file mode 100644 index 0000000000..d147d87728 --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.5_PETG_super.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = super +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.6_PETG_standard.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.6_PETG_standard.inst.cfg new file mode 100644 index 0000000000..80dcecfe21 --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.6_PETG_standard.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = standard +setting_version = 22 +type = quality +variant = 0.6mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*3 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_0.8_PETG_draft.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_0.8_PETG_draft.inst.cfg new file mode 100644 index 0000000000..4d6a9a5671 --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_0.8_PETG_draft.inst.cfg @@ -0,0 +1,17 @@ +[general] +definition = ratrig_base +name = Draft Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = draft +setting_version = 22 +type = quality +variant = 0.8mm Nozzle + +[values] +cool_fan_speed = 40 +speed_layer_0 = 30 +wall_thickness = =line_width*2 + diff --git a/resources/quality/ratrig_base/petg/ratrig_base_1.0_PETG_draft.inst.cfg b/resources/quality/ratrig_base/petg/ratrig_base_1.0_PETG_draft.inst.cfg new file mode 100644 index 0000000000..bce8d9ccba --- /dev/null +++ b/resources/quality/ratrig_base/petg/ratrig_base_1.0_PETG_draft.inst.cfg @@ -0,0 +1,16 @@ +[general] +definition = ratrig_base +name = Draft Quality +version = 4 + +[metadata] +material = generic_petg +quality_type = draft +setting_version = 22 +type = quality +variant = 1.0mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*3 + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.2_PLA_super.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.2_PLA_super.inst.cfg new file mode 100644 index 0000000000..ff81d0d74e --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.2_PLA_super.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = super +setting_version = 22 +type = quality +variant = 0.2mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.2_PLA_ultra.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.2_PLA_ultra.inst.cfg new file mode 100644 index 0000000000..10465057cf --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.2_PLA_ultra.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Ultra Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = ultra +setting_version = 22 +type = quality +variant = 0.2mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.3_PLA_adaptive.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.3_PLA_adaptive.inst.cfg new file mode 100644 index 0000000000..58b51ebf4a --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.3_PLA_adaptive.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = adaptive +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.3_PLA_low.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.3_PLA_low.inst.cfg new file mode 100644 index 0000000000..3622a5927b --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.3_PLA_low.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Low Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = low +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.3_PLA_standard.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.3_PLA_standard.inst.cfg new file mode 100644 index 0000000000..39c3d77674 --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.3_PLA_standard.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = standard +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.3_PLA_super.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.3_PLA_super.inst.cfg new file mode 100644 index 0000000000..5a6b3bd348 --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.3_PLA_super.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = super +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.4_PLA_adaptive.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.4_PLA_adaptive.inst.cfg new file mode 100644 index 0000000000..4ca7bf94d4 --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.4_PLA_adaptive.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = adaptive +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.4_PLA_low.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.4_PLA_low.inst.cfg new file mode 100644 index 0000000000..0c29c77bde --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.4_PLA_low.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Low Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = low +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.4_PLA_standard.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.4_PLA_standard.inst.cfg new file mode 100644 index 0000000000..3211f4be86 --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.4_PLA_standard.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = standard +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.4_PLA_super.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.4_PLA_super.inst.cfg new file mode 100644 index 0000000000..da6ea197b2 --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.4_PLA_super.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = super +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.5_PLA_adaptive.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.5_PLA_adaptive.inst.cfg new file mode 100644 index 0000000000..f9d0649016 --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.5_PLA_adaptive.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = adaptive +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.5_PLA_low.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.5_PLA_low.inst.cfg new file mode 100644 index 0000000000..8f55fe30a4 --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.5_PLA_low.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Low Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = low +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.5_PLA_standard.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.5_PLA_standard.inst.cfg new file mode 100644 index 0000000000..f6c42831e3 --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.5_PLA_standard.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = standard +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.5_PLA_super.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.5_PLA_super.inst.cfg new file mode 100644 index 0000000000..67637bcfea --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.5_PLA_super.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = super +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.6_PLA_draft.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.6_PLA_draft.inst.cfg new file mode 100644 index 0000000000..bbafe934fe --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.6_PLA_draft.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Draft Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = draft +setting_version = 22 +type = quality +variant = 0.6mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.6_PLA_low.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.6_PLA_low.inst.cfg new file mode 100644 index 0000000000..115341b00d --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.6_PLA_low.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Low Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = low +setting_version = 22 +type = quality +variant = 0.6mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.6_PLA_standard.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.6_PLA_standard.inst.cfg new file mode 100644 index 0000000000..f365b98c5a --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.6_PLA_standard.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = standard +setting_version = 22 +type = quality +variant = 0.6mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_0.8_PLA_draft.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_0.8_PLA_draft.inst.cfg new file mode 100644 index 0000000000..eba25456a9 --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_0.8_PLA_draft.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Draft Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = draft +setting_version = 22 +type = quality +variant = 0.8mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/pla/ratrig_base_1.0_PLA_draft.inst.cfg b/resources/quality/ratrig_base/pla/ratrig_base_1.0_PLA_draft.inst.cfg new file mode 100644 index 0000000000..ffe30e68ec --- /dev/null +++ b/resources/quality/ratrig_base/pla/ratrig_base_1.0_PLA_draft.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Draft Quality +version = 4 + +[metadata] +material = generic_pla +quality_type = draft +setting_version = 22 +type = quality +variant = 1.0mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/ratrig_base_global_adaptive.inst.cfg b/resources/quality/ratrig_base/ratrig_base_global_adaptive.inst.cfg new file mode 100644 index 0000000000..7dc5adffbc --- /dev/null +++ b/resources/quality/ratrig_base/ratrig_base_global_adaptive.inst.cfg @@ -0,0 +1,20 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +global_quality = True +quality_type = adaptive +setting_version = 22 +type = quality +weight = -2 + +[values] +adaptive_layer_height_enabled = true +layer_height = 0.16 +layer_height_0 = 0.20 +support_interface_height = =layer_height*6 +top_bottom_thickness = =layer_height_0+layer_height*4 +wall_thickness = =line_width*3 + diff --git a/resources/quality/ratrig_base/ratrig_base_global_draft.inst.cfg b/resources/quality/ratrig_base/ratrig_base_global_draft.inst.cfg new file mode 100644 index 0000000000..6300ade8f6 --- /dev/null +++ b/resources/quality/ratrig_base/ratrig_base_global_draft.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Draft Quality +version = 4 + +[metadata] +global_quality = True +quality_type = draft +setting_version = 22 +type = quality +weight = -5 + +[values] +layer_height = 0.32 +layer_height_0 = 0.32 +support_interface_height = =layer_height*4 +top_bottom_thickness = =layer_height_0+layer_height*3 +wall_thickness = =line_width*2 + diff --git a/resources/quality/ratrig_base/ratrig_base_global_low.inst.cfg b/resources/quality/ratrig_base/ratrig_base_global_low.inst.cfg new file mode 100644 index 0000000000..5cd4519ac2 --- /dev/null +++ b/resources/quality/ratrig_base/ratrig_base_global_low.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Low Quality +version = 4 + +[metadata] +global_quality = True +quality_type = low +setting_version = 22 +type = quality +weight = -4 + +[values] +layer_height = 0.28 +layer_height_0 = 0.28 +support_interface_height = =layer_height*4 +top_bottom_thickness = =layer_height_0+layer_height*3 +wall_thickness = =line_width*2 + diff --git a/resources/quality/ratrig_base/ratrig_base_global_standard.inst.cfg b/resources/quality/ratrig_base/ratrig_base_global_standard.inst.cfg new file mode 100644 index 0000000000..d1bbff61ed --- /dev/null +++ b/resources/quality/ratrig_base/ratrig_base_global_standard.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +global_quality = True +quality_type = standard +setting_version = 22 +type = quality +weight = -3 + +[values] +layer_height = 0.2 +layer_height_0 = 0.2 +support_interface_height = =layer_height*4 +top_bottom_thickness = =layer_height_0+layer_height*3 +wall_thickness = =line_width*2 + diff --git a/resources/quality/ratrig_base/ratrig_base_global_super.inst.cfg b/resources/quality/ratrig_base/ratrig_base_global_super.inst.cfg new file mode 100644 index 0000000000..e73f314a27 --- /dev/null +++ b/resources/quality/ratrig_base/ratrig_base_global_super.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +global_quality = True +quality_type = super +setting_version = 22 +type = quality +weight = -1 + +[values] +layer_height = 0.12 +layer_height_0 = 0.12 +support_interface_height = =layer_height*8 +top_bottom_thickness = =layer_height_0+layer_height*6 +wall_thickness = =line_width*3 + diff --git a/resources/quality/ratrig_base/ratrig_base_global_ultra.inst.cfg b/resources/quality/ratrig_base/ratrig_base_global_ultra.inst.cfg new file mode 100644 index 0000000000..3864f61858 --- /dev/null +++ b/resources/quality/ratrig_base/ratrig_base_global_ultra.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = ratrig_base +name = Ultra Quality +version = 4 + +[metadata] +global_quality = True +quality_type = ultra +setting_version = 22 +type = quality +weight = 0 + +[values] +layer_height = 0.08 +layer_height_0 = 0.12 +support_interface_height = =layer_height*12 +top_bottom_thickness = =layer_height_0+layer_height*10 +wall_thickness = =line_width*3 + diff --git a/resources/quality/ratrig_base/tpu/ratrig_base_0.3_TPU_adaptive.inst.cfg b/resources/quality/ratrig_base/tpu/ratrig_base_0.3_TPU_adaptive.inst.cfg new file mode 100644 index 0000000000..6425ec7666 --- /dev/null +++ b/resources/quality/ratrig_base/tpu/ratrig_base_0.3_TPU_adaptive.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +material = generic_tpu +quality_type = adaptive +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/tpu/ratrig_base_0.3_TPU_standard.inst.cfg b/resources/quality/ratrig_base/tpu/ratrig_base_0.3_TPU_standard.inst.cfg new file mode 100644 index 0000000000..8f7b5f7cfa --- /dev/null +++ b/resources/quality/ratrig_base/tpu/ratrig_base_0.3_TPU_standard.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_tpu +quality_type = standard +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/tpu/ratrig_base_0.3_TPU_super.inst.cfg b/resources/quality/ratrig_base/tpu/ratrig_base_0.3_TPU_super.inst.cfg new file mode 100644 index 0000000000..4b92df6df6 --- /dev/null +++ b/resources/quality/ratrig_base/tpu/ratrig_base_0.3_TPU_super.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_tpu +quality_type = super +setting_version = 22 +type = quality +variant = 0.3mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/tpu/ratrig_base_0.4_TPU_adaptive.inst.cfg b/resources/quality/ratrig_base/tpu/ratrig_base_0.4_TPU_adaptive.inst.cfg new file mode 100644 index 0000000000..d89b488ce6 --- /dev/null +++ b/resources/quality/ratrig_base/tpu/ratrig_base_0.4_TPU_adaptive.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +material = generic_tpu +quality_type = adaptive +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/tpu/ratrig_base_0.4_TPU_standard.inst.cfg b/resources/quality/ratrig_base/tpu/ratrig_base_0.4_TPU_standard.inst.cfg new file mode 100644 index 0000000000..caa88e072a --- /dev/null +++ b/resources/quality/ratrig_base/tpu/ratrig_base_0.4_TPU_standard.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_tpu +quality_type = standard +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/tpu/ratrig_base_0.4_TPU_super.inst.cfg b/resources/quality/ratrig_base/tpu/ratrig_base_0.4_TPU_super.inst.cfg new file mode 100644 index 0000000000..c37bd5df99 --- /dev/null +++ b/resources/quality/ratrig_base/tpu/ratrig_base_0.4_TPU_super.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_tpu +quality_type = super +setting_version = 22 +type = quality +variant = 0.4mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/tpu/ratrig_base_0.5_TPU_adaptive.inst.cfg b/resources/quality/ratrig_base/tpu/ratrig_base_0.5_TPU_adaptive.inst.cfg new file mode 100644 index 0000000000..4622803d56 --- /dev/null +++ b/resources/quality/ratrig_base/tpu/ratrig_base_0.5_TPU_adaptive.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Dynamic Quality +version = 4 + +[metadata] +material = generic_tpu +quality_type = adaptive +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/tpu/ratrig_base_0.5_TPU_standard.inst.cfg b/resources/quality/ratrig_base/tpu/ratrig_base_0.5_TPU_standard.inst.cfg new file mode 100644 index 0000000000..11b90f79a1 --- /dev/null +++ b/resources/quality/ratrig_base/tpu/ratrig_base_0.5_TPU_standard.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_tpu +quality_type = standard +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/tpu/ratrig_base_0.5_TPU_super.inst.cfg b/resources/quality/ratrig_base/tpu/ratrig_base_0.5_TPU_super.inst.cfg new file mode 100644 index 0000000000..d3762fd839 --- /dev/null +++ b/resources/quality/ratrig_base/tpu/ratrig_base_0.5_TPU_super.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Super Quality +version = 4 + +[metadata] +material = generic_tpu +quality_type = super +setting_version = 22 +type = quality +variant = 0.5mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/tpu/ratrig_base_0.6_TPU_standard.inst.cfg b/resources/quality/ratrig_base/tpu/ratrig_base_0.6_TPU_standard.inst.cfg new file mode 100644 index 0000000000..11a0e7cd4e --- /dev/null +++ b/resources/quality/ratrig_base/tpu/ratrig_base_0.6_TPU_standard.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Standard Quality +version = 4 + +[metadata] +material = generic_tpu +quality_type = standard +setting_version = 22 +type = quality +variant = 0.6mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/tpu/ratrig_base_0.8_TPU_draft.inst.cfg b/resources/quality/ratrig_base/tpu/ratrig_base_0.8_TPU_draft.inst.cfg new file mode 100644 index 0000000000..fb82909a5d --- /dev/null +++ b/resources/quality/ratrig_base/tpu/ratrig_base_0.8_TPU_draft.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Draft Quality +version = 4 + +[metadata] +material = generic_tpu +quality_type = draft +setting_version = 22 +type = quality +variant = 0.8mm Nozzle + +[values] + diff --git a/resources/quality/ratrig_base/tpu/ratrig_base_1.0_TPU_draft.inst.cfg b/resources/quality/ratrig_base/tpu/ratrig_base_1.0_TPU_draft.inst.cfg new file mode 100644 index 0000000000..013dbfdcbc --- /dev/null +++ b/resources/quality/ratrig_base/tpu/ratrig_base_1.0_TPU_draft.inst.cfg @@ -0,0 +1,14 @@ +[general] +definition = ratrig_base +name = Draft Quality +version = 4 + +[metadata] +material = generic_tpu +quality_type = draft +setting_version = 22 +type = quality +variant = 1.0mm Nozzle + +[values] + diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_nylon_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_nylon_0.1mm.inst.cfg index c6d99b63b5..e0d3aa4d50 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_nylon_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_nylon_0.1mm.inst.cfg @@ -17,7 +17,6 @@ machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 20 ooze_shield_angle = 40 raft_airgap = 0.4 -retraction_min_travel = 5 speed_print = 70 speed_topbottom = =math.ceil(speed_print * 30 / 70) speed_wall = =math.ceil(speed_print * 30 / 70) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg index 644f302cde..acad5a484b 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_pc_0.1mm.inst.cfg @@ -25,7 +25,6 @@ prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg index 3fb19b43a2..262e4f4b54 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_pp_0.1mm.inst.cfg @@ -28,7 +28,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.2 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 retraction_prime_speed = 15 speed_print = 25 speed_wall = =math.ceil(speed_print * 25 / 25) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_um-abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_um-abs_0.1mm.inst.cfg index 40058561ac..24c5a1d9e6 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_um-abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_um-abs_0.1mm.inst.cfg @@ -12,11 +12,62 @@ variant = AA 0.25 weight = 0 [values] -cool_fan_speed_0 = 0 -material_print_temperature = =default_material_print_temperature - 20 -speed_topbottom = =math.ceil(speed_print * 30 / 55) +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 4 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.8 +optimize_wall_printing_order = False +prime_tower_enable = False +raft_airgap = 0.15 +retraction_amount = 6.5 +retraction_prime_speed = 15 +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 +top_bottom_thickness = =max(1.2 , layer_height * 6) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_um-petg_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_um-petg_0.1mm.inst.cfg index fe8efb08d8..e3965d9c5c 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_um-petg_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_um-petg_0.1mm.inst.cfg @@ -12,12 +12,61 @@ variant = AA 0.25 weight = 0 [values] -material_print_temperature = =default_material_print_temperature - 15 -speed_infill = =math.ceil(speed_print * 40 / 55) -speed_topbottom = =math.ceil(speed_print * 30 / 55) +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 4 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.4 +machine_nozzle_heat_up_speed = 1.7 +material_extrusion_cool_down_speed = 0.7 +optimize_wall_printing_order = False +prime_tower_enable = False +retraction_amount = 8 +retraction_prime_speed = 15 +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 0.8 +support_z_distance = 0.3 +top_bottom_thickness = =max(1.2 , layer_height * 6) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_um-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_um-pla_0.1mm.inst.cfg index b9ec617a19..9589f2f915 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_um-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_um-pla_0.1mm.inst.cfg @@ -12,21 +12,62 @@ variant = AA 0.25 weight = 0 [values] -brim_width = 8 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 2 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 6 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' -machine_nozzle_cool_down_speed = 0.9 -machine_nozzle_heat_up_speed = 1.4 -material_print_temperature = =default_material_print_temperature - 10 -retraction_hop = 0.2 -speed_print = 30 -speed_wall = =math.ceil(speed_print * 25 / 30) -speed_wall_0 = =math.ceil(speed_print * 20 / 30) +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.7 +optimize_wall_printing_order = False +prime_tower_enable = False +raft_airgap = 0.25 +retraction_amount = 6.5 +retraction_prime_speed = =retraction_speed +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 0.72 -travel_avoid_distance = 0.4 -wall_0_inset = 0.015 -wall_0_wipe_dist = 0.25 +support_z_distance = 0.3 +top_bottom_thickness = =max(1 , layer_height * 5) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.25_um-tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.25_um-tough-pla_0.1mm.inst.cfg index 4ffc038ac5..b8aec4972f 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.25_um-tough-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.25_um-tough-pla_0.1mm.inst.cfg @@ -12,20 +12,62 @@ variant = AA 0.25 weight = 0 [values] -brim_width = 8 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 2 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 6 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' -machine_nozzle_cool_down_speed = 0.9 -machine_nozzle_heat_up_speed = 1.4 -material_print_temperature = =default_material_print_temperature - 5 -speed_print = 30 -speed_topbottom = =math.ceil(speed_print * 20 / 30) -speed_wall = =math.ceil(speed_print * 25 / 30) -speed_wall_0 = =math.ceil(speed_print * 20 / 30) +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.7 +optimize_wall_printing_order = False +prime_tower_enable = False +raft_airgap = 0.25 +retraction_amount = 6.5 +retraction_prime_speed = =retraction_speed +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 26 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 0.72 -wall_0_inset = 0.015 -wall_0_wipe_dist = 0.25 +support_z_distance = 0.3 +top_bottom_thickness = =max(1 , layer_height * 5) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg index 1366b0700b..9968edc74c 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.06mm.inst.cfg @@ -26,7 +26,6 @@ prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg index 3dd4cc8cd8..0138115976 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.15mm.inst.cfg @@ -25,7 +25,6 @@ prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg index 074a3b66dd..f2a006ce6c 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.1mm.inst.cfg @@ -26,7 +26,6 @@ prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg index cc9c42e572..0e72f56e02 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pc_0.2mm.inst.cfg @@ -25,7 +25,6 @@ prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg index f1c188d7d9..775e8420df 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.15mm.inst.cfg @@ -28,7 +28,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.8 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 25 speed_topbottom = =math.ceil(speed_print * 25 / 25) speed_wall = =math.ceil(speed_print * 25 / 25) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg index 93ce7ac9b1..f8448e868b 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.1mm.inst.cfg @@ -29,7 +29,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.8 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 25 speed_topbottom = =math.ceil(speed_print * 25 / 25) speed_wall = =math.ceil(speed_print * 25 / 25) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg index 84dcf31f04..e561a64075 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_pp_0.2mm.inst.cfg @@ -29,7 +29,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.8 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 25 speed_topbottom = =math.ceil(speed_print * 25 / 25) speed_wall = =math.ceil(speed_print * 25 / 25) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.15mm.inst.cfg index 15018203e9..601886a065 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.15mm.inst.cfg @@ -28,7 +28,6 @@ prime_tower_wipe_enabled = True retraction_count_max = 15 retraction_extra_prime_amount = 0.8 retraction_hop_only_when_collides = True -retraction_min_travel = =line_width * 2 skin_line_width = =round(line_width / 0.8, 2) speed_print = 25 speed_topbottom = =math.ceil(speed_print * 0.8) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.1mm.inst.cfg index 1b9912c1d6..bb303eeb33 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.1mm.inst.cfg @@ -29,7 +29,6 @@ prime_tower_wipe_enabled = True retraction_count_max = 15 retraction_extra_prime_amount = 0.8 retraction_hop_only_when_collides = True -retraction_min_travel = =line_width * 2 skin_line_width = =round(line_width / 0.8, 2) speed_print = 25 speed_topbottom = =math.ceil(speed_print * 0.8) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.2mm.inst.cfg index 971cee7b3a..85c37d439d 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_tpu_0.2mm.inst.cfg @@ -28,7 +28,6 @@ prime_tower_wipe_enabled = True retraction_count_max = 15 retraction_extra_prime_amount = 0.8 retraction_hop_only_when_collides = True -retraction_min_travel = =line_width * 2 skin_line_width = =round(line_width / 0.8, 2) speed_print = 25 speed_topbottom = =math.ceil(speed_print * 0.8) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm.inst.cfg index 4f8a58c974..95f9c84609 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.06mm.inst.cfg @@ -12,18 +12,63 @@ variant = AA 0.4 weight = 1 [values] -machine_nozzle_cool_down_speed = 0.8 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 20 -material_print_temperature = =default_material_print_temperature - 10 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 4 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.8 +material_max_flowrate = 20 +optimize_wall_printing_order = False prime_tower_mode = none raft_airgap = 0.15 -speed_infill = =math.ceil(speed_print * 40 / 50) -speed_print = 50 -speed_topbottom = =math.ceil(speed_print * 30 / 50) -speed_wall = =math.ceil(speed_print * 30 / 50) +retraction_amount = 6.5 +retraction_prime_speed = 15 +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 +top_bottom_thickness = =max(1.2 , layer_height * 6) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.15mm.inst.cfg index f854ea8815..447b6dfee5 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.15mm.inst.cfg @@ -66,7 +66,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1.2 , layer_height * 6) wall_0_wipe_dist = 0.8 z_seam_relative = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm.inst.cfg index d854b78f65..49a6120c8f 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.1mm.inst.cfg @@ -12,18 +12,63 @@ variant = AA 0.4 weight = 0 [values] -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 20 -material_print_temperature = =default_material_print_temperature - 5 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 4 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.8 +material_max_flowrate = 20 +optimize_wall_printing_order = False prime_tower_mode = none raft_airgap = 0.15 -speed_infill = =math.ceil(speed_print * 40 / 55) -speed_print = 55 -speed_topbottom = =math.ceil(speed_print * 30 / 55) -speed_wall = =math.ceil(speed_print * 30 / 55) +retraction_amount = 6.5 +retraction_prime_speed = 15 +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 +top_bottom_thickness = =max(1.2 , layer_height * 6) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.2mm.inst.cfg index 9ac0fa149f..2f595d38d0 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.2mm.inst.cfg @@ -28,6 +28,7 @@ bridge_skin_speed = =bridge_wall_speed bridge_sparse_infill_max_density = 50 bridge_wall_speed = 30 cool_min_layer_time = 4 +infill_material_flow = =1.05 * material_flow infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_sparse_density = 15 jerk_infill = =jerk_print @@ -49,6 +50,7 @@ raft_airgap = 0.15 retraction_amount = 6.5 retraction_prime_speed = 15 retraction_speed = 45 +skin_material_flow = =material_flow small_skin_on_surface = False small_skin_width = 4 speed_infill = =speed_print @@ -67,9 +69,11 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1.2 , layer_height * 6) wall_0_wipe_dist = 0.8 +wall_x_material_flow = =1.05 * wall_material_flow +wall_x_material_flow_roofing = =wall_material_flow z_seam_relative = True z_seam_type = back zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.3mm.inst.cfg index 2d2c5a2b58..5aa2ff791b 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-abs_0.3mm.inst.cfg @@ -67,7 +67,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.4 top_bottom_thickness = =max(1.2 , layer_height * 6) wall_0_wipe_dist = 0.8 wall_line_width_0 = =line_width * (1 + magic_spiralize * 0.25) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.06mm.inst.cfg index 1b7919bd02..7eb5de8b64 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.06mm.inst.cfg @@ -12,16 +12,62 @@ variant = AA 0.4 weight = 1 [values] -infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_print_temperature = =default_material_print_temperature - 10 -speed_infill = =math.ceil(speed_print * 40 / 50) -speed_print = 50 -speed_topbottom = =math.ceil(speed_print * 30 / 50) -speed_wall = =math.ceil(speed_print * 30 / 50) +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 4 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.4 +machine_nozzle_heat_up_speed = 1.7 +material_extrusion_cool_down_speed = 0.7 +material_max_flowrate = 20 +optimize_wall_printing_order = False +prime_tower_enable = False +retraction_amount = 8 +retraction_prime_speed = 15 +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 +top_bottom_thickness = =max(1.2 , layer_height * 6) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.15mm.inst.cfg index efec8a9215..170e2199be 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.15mm.inst.cfg @@ -65,7 +65,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1.2 , layer_height * 6) wall_0_wipe_dist = 0.8 z_seam_relative = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.1mm.inst.cfg index afa05aa2cf..bb7de56356 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.1mm.inst.cfg @@ -12,16 +12,62 @@ variant = AA 0.4 weight = 0 [values] -infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_print_temperature = =default_material_print_temperature - 5 -speed_infill = =math.ceil(speed_print * 45 / 55) -speed_print = 55 -speed_topbottom = =math.ceil(speed_print * 30 / 55) -speed_wall = =math.ceil(speed_print * 30 / 55) +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 4 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.4 +machine_nozzle_heat_up_speed = 1.7 +material_extrusion_cool_down_speed = 0.7 +material_max_flowrate = 20 +optimize_wall_printing_order = False +prime_tower_enable = False +retraction_amount = 8 +retraction_prime_speed = 15 +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 +top_bottom_thickness = =max(1.2 , layer_height * 6) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.2mm.inst.cfg index 4de8ea6aa4..aae7ff42a2 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.2mm.inst.cfg @@ -28,6 +28,7 @@ bridge_skin_speed = =bridge_wall_speed bridge_sparse_infill_max_density = 50 bridge_wall_speed = 30 cool_min_layer_time = 4 +infill_material_flow = =1.1 * material_flow infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_sparse_density = 15 jerk_infill = =jerk_print @@ -48,6 +49,7 @@ prime_tower_mode = none retraction_amount = 8 retraction_prime_speed = 15 retraction_speed = 45 +skin_material_flow = =1.05 * material_flow small_skin_on_surface = False small_skin_width = 4 speed_infill = =speed_print @@ -66,9 +68,11 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1.2 , layer_height * 6) wall_0_wipe_dist = 0.8 +wall_x_material_flow = =1.1 * wall_material_flow +wall_x_material_flow_roofing = =wall_material_flow z_seam_relative = True z_seam_type = back zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.3mm.inst.cfg index da3e1d0469..96c3513a97 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-petg_0.3mm.inst.cfg @@ -66,7 +66,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.4 top_bottom_thickness = =max(1.2 , layer_height * 6) wall_0_wipe_dist = 0.8 wall_line_width_0 = =line_width * (1 + magic_spiralize * 0.25) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm.inst.cfg index ddc0bd768a..3a87267e37 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.06mm.inst.cfg @@ -12,18 +12,63 @@ variant = AA 0.4 weight = 1 [values] -machine_nozzle_cool_down_speed = 0.75 -machine_nozzle_heat_up_speed = 1.6 -material_print_temperature = =default_material_print_temperature - 5 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 2 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 6 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.7 +material_max_flowrate = 12 +optimize_wall_printing_order = False prime_tower_mode = none raft_airgap = 0.25 +retraction_amount = 6.5 retraction_prime_speed = =retraction_speed -speed_print = 50 -speed_topbottom = =math.ceil(speed_print * 35 / 50) -speed_wall = =math.ceil(speed_print * 35 / 50) +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 1 +support_z_distance = 0.3 +top_bottom_thickness = =max(1 , layer_height * 5) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.15mm.inst.cfg index cd4fc7c176..17dd161346 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.15mm.inst.cfg @@ -66,7 +66,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1 , layer_height * 5) wall_0_wipe_dist = 0.8 z_seam_relative = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm.inst.cfg index d5a719e023..70b9a95dd4 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.1mm.inst.cfg @@ -12,14 +12,63 @@ variant = AA 0.4 weight = 0 [values] -machine_nozzle_cool_down_speed = 0.75 -machine_nozzle_heat_up_speed = 1.6 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 2 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 6 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.7 +material_max_flowrate = 12 +optimize_wall_printing_order = False prime_tower_mode = none raft_airgap = 0.25 +retraction_amount = 6.5 retraction_prime_speed = =retraction_speed +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 1 +support_z_distance = 0.3 +top_bottom_thickness = =max(1 , layer_height * 5) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.2mm.inst.cfg index 71f1169b40..564b251c4b 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.2mm.inst.cfg @@ -28,6 +28,7 @@ bridge_skin_speed = =bridge_wall_speed bridge_sparse_infill_max_density = 50 bridge_wall_speed = 30 cool_min_layer_time = 6 +infill_material_flow = =1.1 * material_flow infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_sparse_density = 15 jerk_infill = =jerk_print @@ -49,6 +50,7 @@ raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed retraction_speed = 45 +skin_material_flow = =1.05 * material_flow small_skin_on_surface = False small_skin_width = 4 speed_infill = =speed_print @@ -67,9 +69,11 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1 , layer_height * 5) wall_0_wipe_dist = 0.8 +wall_x_material_flow = =1.1 * wall_material_flow +wall_x_material_flow_roofing = =wall_material_flow z_seam_relative = True z_seam_type = back zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.3mm.inst.cfg index d7abde7dff..5d27f8e05e 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-pla_0.3mm.inst.cfg @@ -67,7 +67,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1 , layer_height * 5) wall_0_wipe_dist = 0.8 wall_line_width_0 = =line_width * (1 + magic_spiralize * 0.25) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm.inst.cfg index 0fd04cc7ac..b1ac45f1b0 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.06mm.inst.cfg @@ -12,18 +12,63 @@ variant = AA 0.4 weight = 1 [values] -machine_nozzle_cool_down_speed = 0.75 -machine_nozzle_heat_up_speed = 1.6 -material_print_temperature = =default_material_print_temperature - 5 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 2 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 6 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.7 +material_max_flowrate = 14 +optimize_wall_printing_order = False prime_tower_mode = none +raft_airgap = 0.25 +retraction_amount = 6.5 retraction_prime_speed = =retraction_speed -speed_print = 45 -speed_topbottom = =math.ceil(speed_print * 35 / 45) -speed_wall = =math.ceil(speed_print * 40 / 45) -speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 26 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 1.2 +support_z_distance = 0.3 +top_bottom_thickness = =max(1 , layer_height * 5) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.15mm.inst.cfg index 8ec8119ef6..6201f53938 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.15mm.inst.cfg @@ -66,7 +66,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.35 top_bottom_thickness = =max(1 , layer_height * 5) wall_0_wipe_dist = 0.8 z_seam_relative = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm.inst.cfg index 22e6f06262..4c9e939ccc 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.1mm.inst.cfg @@ -12,18 +12,63 @@ variant = AA 0.4 weight = 0 [values] -machine_nozzle_cool_down_speed = 0.75 -machine_nozzle_heat_up_speed = 1.6 -material_print_temperature = =default_material_print_temperature - 5 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 2 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 6 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.7 +material_max_flowrate = 14 +optimize_wall_printing_order = False prime_tower_mode = none +raft_airgap = 0.25 +retraction_amount = 6.5 retraction_prime_speed = =retraction_speed -speed_print = 45 -speed_topbottom = =math.ceil(speed_print * 35 / 45) -speed_wall = =math.ceil(speed_print * 40 / 45) -speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 26 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 1.2 +support_z_distance = 0.3 +top_bottom_thickness = =max(1 , layer_height * 5) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.2mm.inst.cfg index 090d3a4839..dc07130b6c 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.2mm.inst.cfg @@ -28,6 +28,7 @@ bridge_skin_speed = =bridge_wall_speed bridge_sparse_infill_max_density = 50 bridge_wall_speed = 30 cool_min_layer_time = 6 +infill_material_flow = =1.1 * material_flow infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_sparse_density = 15 jerk_infill = =jerk_print @@ -48,6 +49,7 @@ raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed retraction_speed = 45 +skin_material_flow = =1.05 * material_flow small_skin_on_surface = False small_skin_width = 4 speed_infill = =speed_print @@ -66,9 +68,11 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.35 top_bottom_thickness = =max(1 , layer_height * 5) wall_0_wipe_dist = 0.8 +wall_x_material_flow = =1.1 * wall_material_flow +wall_x_material_flow_roofing = =wall_material_flow z_seam_relative = True z_seam_type = back zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.3mm.inst.cfg index 18434874c1..cbaf3cd89a 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.4_um-tough-pla_0.3mm.inst.cfg @@ -67,7 +67,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.4 top_bottom_thickness = =max(1 , layer_height * 5) wall_0_wipe_dist = 0.8 wall_line_width_0 = =line_width * (1 + magic_spiralize * 0.25) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.2mm.inst.cfg index 1c681aaeb2..c005c7c5b9 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.2mm.inst.cfg @@ -24,7 +24,6 @@ prime_tower_min_volume = 10 retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 -retraction_min_travel = 1.5 retraction_prime_speed = 15 speed_wall_x = =math.ceil(speed_wall * 30 / 30) switch_extruder_prime_speed = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.3mm.inst.cfg index e054336e24..f74e725cf0 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.3mm.inst.cfg @@ -24,7 +24,6 @@ prime_tower_min_volume = 15 retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 -retraction_min_travel = 1.5 retraction_prime_speed = 15 speed_wall_x = =math.ceil(speed_wall * 30 / 30) switch_extruder_prime_speed = 15 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.4mm.inst.cfg index 3afea841d3..95c8026734 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_pp_0.4mm.inst.cfg @@ -24,7 +24,6 @@ prime_tower_min_volume = 20 retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 -retraction_min_travel = 1.5 retraction_prime_speed = 15 speed_infill = =math.ceil(speed_wall * 30 / 30) speed_wall_x = =math.ceil(speed_wall * 30 / 30) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.2mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.2mm.inst.cfg index 709e798502..492d6ce579 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.2mm.inst.cfg @@ -27,7 +27,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False -retraction_min_travel = =line_width * 2 retraction_prime_speed = 15 speed_print = 30 speed_topbottom = =math.ceil(speed_print * 25 / 30) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.3mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.3mm.inst.cfg index 12aac8dcd5..1e7e9614e7 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.3mm.inst.cfg @@ -28,7 +28,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False -retraction_min_travel = =line_width * 2 retraction_prime_speed = 15 speed_print = 30 speed_topbottom = =math.ceil(speed_print * 23 / 30) diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.4mm.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.4mm.inst.cfg index 8958aa30c0..b9354f3073 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_tpu_0.4mm.inst.cfg @@ -27,7 +27,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False -retraction_min_travel = =line_width * 2 retraction_prime_speed = 15 speed_infill = =speed_print speed_print = 30 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_nylon_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_nylon_0.1mm.inst.cfg index 38267fcf24..ea86a9a9a6 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_nylon_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_nylon_0.1mm.inst.cfg @@ -17,7 +17,6 @@ machine_nozzle_heat_up_speed = 1.4 material_print_temperature = =default_material_print_temperature - 20 ooze_shield_angle = 40 raft_airgap = 0.4 -retraction_min_travel = 5 speed_print = 70 speed_topbottom = =math.ceil(speed_print * 30 / 70) speed_wall = =math.ceil(speed_print * 30 / 70) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg index dd81027cfb..dc6dc3906d 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_pc_0.1mm.inst.cfg @@ -25,7 +25,6 @@ prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg index 82df5e1ad8..69a5af3102 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_pp_0.1mm.inst.cfg @@ -28,7 +28,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.2 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 retraction_prime_speed = 15 speed_print = 25 speed_wall = =math.ceil(speed_print * 25 / 25) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_um-abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_um-abs_0.1mm.inst.cfg index 0dc15571d7..7b14730a66 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_um-abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_um-abs_0.1mm.inst.cfg @@ -12,11 +12,62 @@ variant = AA 0.25 weight = 0 [values] -cool_fan_speed_0 = 0 -material_print_temperature = =default_material_print_temperature - 20 -speed_topbottom = =math.ceil(speed_print * 30 / 55) +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 4 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.8 +optimize_wall_printing_order = False +prime_tower_enable = False +raft_airgap = 0.15 +retraction_amount = 6.5 +retraction_prime_speed = 15 +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 +top_bottom_thickness = =max(1.2 , layer_height * 6) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_um-petg_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_um-petg_0.1mm.inst.cfg index c5cadca4bd..a2233703d4 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_um-petg_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_um-petg_0.1mm.inst.cfg @@ -12,12 +12,61 @@ variant = AA 0.25 weight = 0 [values] -material_print_temperature = =default_material_print_temperature - 15 -speed_infill = =math.ceil(speed_print * 40 / 55) -speed_topbottom = =math.ceil(speed_print * 30 / 55) +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 4 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.4 +machine_nozzle_heat_up_speed = 1.7 +material_extrusion_cool_down_speed = 0.7 +optimize_wall_printing_order = False +prime_tower_enable = False +retraction_amount = 8 +retraction_prime_speed = 15 +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 0.8 +support_z_distance = 0.3 +top_bottom_thickness = =max(1.2 , layer_height * 6) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_um-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_um-pla_0.1mm.inst.cfg index c6d2afaf03..44f6670085 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_um-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_um-pla_0.1mm.inst.cfg @@ -12,21 +12,62 @@ variant = AA 0.25 weight = 0 [values] -brim_width = 8 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 2 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 6 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' -machine_nozzle_cool_down_speed = 0.9 -machine_nozzle_heat_up_speed = 1.4 -material_print_temperature = =default_material_print_temperature - 10 -retraction_hop = 0.2 -speed_print = 30 -speed_wall = =math.ceil(speed_print * 25 / 30) -speed_wall_0 = =math.ceil(speed_print * 20 / 30) +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.7 +optimize_wall_printing_order = False +prime_tower_enable = False +raft_airgap = 0.25 +retraction_amount = 6.5 +retraction_prime_speed = =retraction_speed +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 0.72 -travel_avoid_distance = 0.4 -wall_0_inset = 0.015 -wall_0_wipe_dist = 0.25 +support_z_distance = 0.3 +top_bottom_thickness = =max(1 , layer_height * 5) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.25_um-tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.25_um-tough-pla_0.1mm.inst.cfg index a28e41553f..997f823e51 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.25_um-tough-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.25_um-tough-pla_0.1mm.inst.cfg @@ -12,20 +12,62 @@ variant = AA 0.25 weight = 0 [values] -brim_width = 8 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 2 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 6 infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' -machine_nozzle_cool_down_speed = 0.9 -machine_nozzle_heat_up_speed = 1.4 -material_print_temperature = =default_material_print_temperature - 5 -speed_print = 30 -speed_topbottom = =math.ceil(speed_print * 20 / 30) -speed_wall = =math.ceil(speed_print * 25 / 30) -speed_wall_0 = =math.ceil(speed_print * 20 / 30) +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.7 +optimize_wall_printing_order = False +prime_tower_enable = False +raft_airgap = 0.25 +retraction_amount = 6.5 +retraction_prime_speed = =retraction_speed +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 26 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 0.72 -wall_0_inset = 0.015 -wall_0_wipe_dist = 0.25 +support_z_distance = 0.3 +top_bottom_thickness = =max(1 , layer_height * 5) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg index a28ac8382e..c2d943bb77 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.06mm.inst.cfg @@ -26,7 +26,6 @@ prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg index 1ed3ad4ab3..30b1896528 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.15mm.inst.cfg @@ -25,7 +25,6 @@ prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg index bfc007fd85..aa58bd07b3 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.1mm.inst.cfg @@ -26,7 +26,6 @@ prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg index b8ad1d3747..e74d6a6532 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pc_0.2mm.inst.cfg @@ -25,7 +25,6 @@ prime_tower_wipe_enabled = True raft_airgap = 0.25 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 50 speed_topbottom = =math.ceil(speed_print * 25 / 50) speed_wall = =math.ceil(speed_print * 40 / 50) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg index a392918738..0f06f432d4 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.15mm.inst.cfg @@ -28,7 +28,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.8 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 25 speed_topbottom = =math.ceil(speed_print * 25 / 25) speed_wall = =math.ceil(speed_print * 25 / 25) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg index 8e59e505fd..68aeea4c25 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.1mm.inst.cfg @@ -29,7 +29,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.8 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 25 speed_topbottom = =math.ceil(speed_print * 25 / 25) speed_wall = =math.ceil(speed_print * 25 / 25) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg index 263cee30dd..2f7a70bfa0 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_pp_0.2mm.inst.cfg @@ -29,7 +29,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.8 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 0.8 speed_print = 25 speed_topbottom = =math.ceil(speed_print * 25 / 25) speed_wall = =math.ceil(speed_print * 25 / 25) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.15mm.inst.cfg index 0b69ae0c43..db01865cf8 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.15mm.inst.cfg @@ -28,7 +28,6 @@ prime_tower_wipe_enabled = True retraction_count_max = 15 retraction_extra_prime_amount = 0.8 retraction_hop_only_when_collides = True -retraction_min_travel = =line_width * 2 skin_line_width = =round(line_width / 0.8, 2) speed_print = 25 speed_topbottom = =math.ceil(speed_print * 0.8) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.1mm.inst.cfg index 29aa42a436..27a8bb863b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.1mm.inst.cfg @@ -29,7 +29,6 @@ prime_tower_wipe_enabled = True retraction_count_max = 15 retraction_extra_prime_amount = 0.8 retraction_hop_only_when_collides = True -retraction_min_travel = =line_width * 2 skin_line_width = =round(line_width / 0.8, 2) speed_print = 25 speed_topbottom = =math.ceil(speed_print * 0.8) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.2mm.inst.cfg index 48e6ffb81b..cf3069ee0f 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_tpu_0.2mm.inst.cfg @@ -28,7 +28,6 @@ prime_tower_wipe_enabled = True retraction_count_max = 15 retraction_extra_prime_amount = 0.8 retraction_hop_only_when_collides = True -retraction_min_travel = =line_width * 2 skin_line_width = =round(line_width / 0.8, 2) speed_print = 25 speed_topbottom = =math.ceil(speed_print * 0.8) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm.inst.cfg index 3f8300e24b..e7d58a1001 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.06mm.inst.cfg @@ -12,18 +12,63 @@ variant = AA 0.4 weight = 1 [values] -machine_nozzle_cool_down_speed = 0.8 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 20 -material_print_temperature = =default_material_print_temperature - 10 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 4 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.8 +material_max_flowrate = 20 +optimize_wall_printing_order = False prime_tower_mode = none raft_airgap = 0.15 -speed_infill = =math.ceil(speed_print * 40 / 50) -speed_print = 50 -speed_topbottom = =math.ceil(speed_print * 30 / 50) -speed_wall = =math.ceil(speed_print * 30 / 50) +retraction_amount = 6.5 +retraction_prime_speed = 15 +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 +top_bottom_thickness = =max(1.2 , layer_height * 6) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.15mm.inst.cfg index cf2437cc2a..20e10b3e78 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.15mm.inst.cfg @@ -66,7 +66,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1.2 , layer_height * 6) wall_0_wipe_dist = 0.8 z_seam_relative = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm.inst.cfg index a0c9d24dab..fe37499b76 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.1mm.inst.cfg @@ -12,18 +12,63 @@ variant = AA 0.4 weight = 0 [values] -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_final_print_temperature = =material_print_temperature - 20 -material_print_temperature = =default_material_print_temperature - 5 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 4 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.8 +material_max_flowrate = 20 +optimize_wall_printing_order = False prime_tower_mode = none raft_airgap = 0.15 -speed_infill = =math.ceil(speed_print * 40 / 55) -speed_print = 55 -speed_topbottom = =math.ceil(speed_print * 30 / 55) -speed_wall = =math.ceil(speed_print * 30 / 55) +retraction_amount = 6.5 +retraction_prime_speed = 15 +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 +top_bottom_thickness = =max(1.2 , layer_height * 6) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.2mm.inst.cfg index 7ae2965c0f..5f85f0b6d1 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.2mm.inst.cfg @@ -28,6 +28,7 @@ bridge_skin_speed = =bridge_wall_speed bridge_sparse_infill_max_density = 50 bridge_wall_speed = 30 cool_min_layer_time = 4 +infill_material_flow = =1.05 * material_flow infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_sparse_density = 15 jerk_infill = =jerk_print @@ -49,6 +50,7 @@ raft_airgap = 0.15 retraction_amount = 6.5 retraction_prime_speed = 15 retraction_speed = 45 +skin_material_flow = =material_flow small_skin_on_surface = False small_skin_width = 4 speed_infill = =speed_print @@ -67,9 +69,11 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1.2 , layer_height * 6) wall_0_wipe_dist = 0.8 +wall_x_material_flow = =1.05 * wall_material_flow +wall_x_material_flow_roofing = =wall_material_flow z_seam_relative = True z_seam_type = back zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.3mm.inst.cfg index 769405708d..7d9bd13d07 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-abs_0.3mm.inst.cfg @@ -67,7 +67,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.4 top_bottom_thickness = =max(1.2 , layer_height * 6) wall_0_wipe_dist = 0.8 wall_line_width_0 = =line_width * (1 + magic_spiralize * 0.25) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.06mm.inst.cfg index 9545d34977..ef58c14663 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.06mm.inst.cfg @@ -12,16 +12,62 @@ variant = AA 0.4 weight = 1 [values] -infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_print_temperature = =default_material_print_temperature - 10 -speed_infill = =math.ceil(speed_print * 40 / 50) -speed_print = 50 -speed_topbottom = =math.ceil(speed_print * 30 / 50) -speed_wall = =math.ceil(speed_print * 30 / 50) +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 4 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.4 +machine_nozzle_heat_up_speed = 1.7 +material_extrusion_cool_down_speed = 0.7 +material_max_flowrate = 20 +optimize_wall_printing_order = False +prime_tower_enable = False +retraction_amount = 8 +retraction_prime_speed = 15 +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 +top_bottom_thickness = =max(1.2 , layer_height * 6) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.15mm.inst.cfg index 5eb8c228c6..4673f7dddc 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.15mm.inst.cfg @@ -65,7 +65,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1.2 , layer_height * 6) wall_0_wipe_dist = 0.8 z_seam_relative = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.1mm.inst.cfg index 4a20bd76b3..d23a7b8cea 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.1mm.inst.cfg @@ -12,16 +12,62 @@ variant = AA 0.4 weight = 0 [values] -infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'triangles' -machine_nozzle_cool_down_speed = 0.85 -machine_nozzle_heat_up_speed = 1.5 -material_print_temperature = =default_material_print_temperature - 5 -speed_infill = =math.ceil(speed_print * 45 / 55) -speed_print = 55 -speed_topbottom = =math.ceil(speed_print * 30 / 55) -speed_wall = =math.ceil(speed_print * 30 / 55) +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 1 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 4 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.4 +machine_nozzle_heat_up_speed = 1.7 +material_extrusion_cool_down_speed = 0.7 +material_max_flowrate = 20 +optimize_wall_printing_order = False +prime_tower_enable = False +retraction_amount = 8 +retraction_prime_speed = 15 +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 +top_bottom_thickness = =max(1.2 , layer_height * 6) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.2mm.inst.cfg index 125ceab2d7..7ffa9aa60a 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.2mm.inst.cfg @@ -28,6 +28,7 @@ bridge_skin_speed = =bridge_wall_speed bridge_sparse_infill_max_density = 50 bridge_wall_speed = 30 cool_min_layer_time = 4 +infill_material_flow = =1.1 * material_flow infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_sparse_density = 15 jerk_infill = =jerk_print @@ -48,6 +49,7 @@ prime_tower_mode = none retraction_amount = 8 retraction_prime_speed = 15 retraction_speed = 45 +skin_material_flow = =1.05 * material_flow small_skin_on_surface = False small_skin_width = 4 speed_infill = =speed_print @@ -66,9 +68,11 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1.2 , layer_height * 6) wall_0_wipe_dist = 0.8 +wall_x_material_flow = =1.1 * wall_material_flow +wall_x_material_flow_roofing = =wall_material_flow z_seam_relative = True z_seam_type = back zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.3mm.inst.cfg index dda28b98dd..5cf1740ad1 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-petg_0.3mm.inst.cfg @@ -66,7 +66,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.4 top_bottom_thickness = =max(1.2 , layer_height * 6) wall_0_wipe_dist = 0.8 wall_line_width_0 = =line_width * (1 + magic_spiralize * 0.25) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm.inst.cfg index fc03e3f464..cc05029e74 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.06mm.inst.cfg @@ -12,18 +12,63 @@ variant = AA 0.4 weight = 1 [values] -machine_nozzle_cool_down_speed = 0.75 -machine_nozzle_heat_up_speed = 1.6 -material_print_temperature = =default_material_print_temperature - 5 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 2 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 6 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.7 +material_max_flowrate = 12 +optimize_wall_printing_order = False prime_tower_mode = none raft_airgap = 0.25 +retraction_amount = 6.5 retraction_prime_speed = =retraction_speed -speed_print = 50 -speed_topbottom = =math.ceil(speed_print * 35 / 50) -speed_wall = =math.ceil(speed_print * 35 / 50) +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 1 +support_z_distance = 0.3 +top_bottom_thickness = =max(1 , layer_height * 5) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.15mm.inst.cfg index 8e77d8d49f..a7bebed472 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.15mm.inst.cfg @@ -66,7 +66,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1 , layer_height * 5) wall_0_wipe_dist = 0.8 z_seam_relative = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.1mm.inst.cfg index 1459cec327..1d07e0f63c 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.1mm.inst.cfg @@ -12,14 +12,63 @@ variant = AA 0.4 weight = 0 [values] -machine_nozzle_cool_down_speed = 0.75 -machine_nozzle_heat_up_speed = 1.6 -prime_tower_mode = none +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 2 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 6 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.7 +material_max_flowrate = 12 +optimize_wall_printing_order = False +prime_tower_enable = False raft_airgap = 0.25 +retraction_amount = 6.5 retraction_prime_speed = =retraction_speed +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 30 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 1 +support_z_distance = 0.3 +top_bottom_thickness = =max(1 , layer_height * 5) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.2mm.inst.cfg index d2a1d5a176..4ca8ccaa86 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.2mm.inst.cfg @@ -28,6 +28,7 @@ bridge_skin_speed = =bridge_wall_speed bridge_sparse_infill_max_density = 50 bridge_wall_speed = 30 cool_min_layer_time = 6 +infill_material_flow = =1.1 * material_flow infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_sparse_density = 15 jerk_infill = =jerk_print @@ -49,6 +50,7 @@ raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed retraction_speed = 45 +skin_material_flow = =1.05 * material_flow small_skin_on_surface = False small_skin_width = 4 speed_infill = =speed_print @@ -67,9 +69,11 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1 , layer_height * 5) wall_0_wipe_dist = 0.8 +wall_x_material_flow = =1.1 * wall_material_flow +wall_x_material_flow_roofing = =wall_material_flow z_seam_relative = True z_seam_type = back zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.3mm.inst.cfg index 7cffc4b104..c1ea2d98dd 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-pla_0.3mm.inst.cfg @@ -67,7 +67,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.3 top_bottom_thickness = =max(1 , layer_height * 5) wall_0_wipe_dist = 0.8 wall_line_width_0 = =line_width * (1 + magic_spiralize * 0.25) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm.inst.cfg index e4ab6230a7..597bf3b302 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.06mm.inst.cfg @@ -12,18 +12,63 @@ variant = AA 0.4 weight = 1 [values] -machine_nozzle_cool_down_speed = 0.75 -machine_nozzle_heat_up_speed = 1.6 -material_print_temperature = =default_material_print_temperature - 5 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 2 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 6 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.7 +material_max_flowrate = 14 +optimize_wall_printing_order = False prime_tower_mode = none +raft_airgap = 0.25 +retraction_amount = 6.5 retraction_prime_speed = =retraction_speed -speed_print = 45 -speed_topbottom = =math.ceil(speed_print * 35 / 45) -speed_wall = =math.ceil(speed_print * 40 / 45) -speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 26 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 1.2 +support_z_distance = 0.3 +top_bottom_thickness = =max(1 , layer_height * 5) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.15mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.15mm.inst.cfg index f4f251df8c..81f4e207be 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.15mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.15mm.inst.cfg @@ -66,7 +66,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.35 top_bottom_thickness = =max(1 , layer_height * 5) wall_0_wipe_dist = 0.8 z_seam_relative = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm.inst.cfg index 902e921ce3..a38a73679d 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.1mm.inst.cfg @@ -12,18 +12,63 @@ variant = AA 0.4 weight = 0 [values] -machine_nozzle_cool_down_speed = 0.75 -machine_nozzle_heat_up_speed = 1.6 -material_print_temperature = =default_material_print_temperature - 5 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_discretisation_step_size = 0.2 +_plugin__curaenginegradualflow__0_1_0__gradual_flow_enabled = True +_plugin__curaenginegradualflow__0_1_0__max_flow_acceleration = 2 +acceleration_infill = =acceleration_print +acceleration_ironing = 1000 +acceleration_layer_0 = =acceleration_wall_0 +acceleration_print = 3500 +acceleration_roofing = =acceleration_wall_0 +acceleration_topbottom = =acceleration_wall +acceleration_wall = =acceleration_infill +acceleration_wall_0 = 1500 +acceleration_wall_x = =acceleration_wall +bridge_skin_speed = =bridge_wall_speed +bridge_sparse_infill_max_density = 50 +bridge_wall_speed = 30 +cool_min_layer_time = 6 +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' +infill_sparse_density = 15 +jerk_infill = =jerk_print +jerk_layer_0 = =jerk_wall_0 +jerk_print = =max(30, speed_print/2) +jerk_roofing = =jerk_wall_0 +jerk_topbottom = =jerk_wall +jerk_wall = =jerk_infill +jerk_wall_0 = =max(30, speed_wall_0/2) +machine_nozzle_cool_down_speed = 1.3 +machine_nozzle_heat_up_speed = 1.9 +material_extrusion_cool_down_speed = 0.7 +material_max_flowrate = 14 +optimize_wall_printing_order = False prime_tower_mode = none +raft_airgap = 0.25 +retraction_amount = 6.5 retraction_prime_speed = =retraction_speed -speed_print = 45 -speed_topbottom = =math.ceil(speed_print * 35 / 45) -speed_wall = =math.ceil(speed_print * 40 / 45) -speed_wall_0 = =math.ceil(speed_wall * 35 / 45) +retraction_speed = 45 +small_skin_on_surface = False +small_skin_width = 4 +speed_infill = =speed_print +speed_ironing = 20 +speed_layer_0 = 26 +speed_prime_tower = =speed_wall_0 +speed_print = 100 +speed_roofing = =math.ceil(speed_wall*(45/100)) +speed_support_interface = =speed_wall_0 +speed_topbottom = =speed_print +speed_wall = =speed_infill +speed_wall_0 = =math.ceil(speed_wall*(20/100)) +speed_wall_x = =speed_wall +speed_wall_x_roofing = =speed_roofing support_bottom_distance = =support_z_distance support_interface_enable = True +support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height -top_bottom_thickness = 1.2 +support_z_distance = 0.3 +top_bottom_thickness = =max(1 , layer_height * 5) +wall_0_wipe_dist = 0.8 +z_seam_relative = True +z_seam_type = back +zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.2mm.inst.cfg index cc3bdb2234..f045d5425d 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.2mm.inst.cfg @@ -28,6 +28,7 @@ bridge_skin_speed = =bridge_wall_speed bridge_sparse_infill_max_density = 50 bridge_wall_speed = 30 cool_min_layer_time = 6 +infill_material_flow = =1.1 * material_flow infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'grid' infill_sparse_density = 15 jerk_infill = =jerk_print @@ -48,6 +49,7 @@ raft_airgap = 0.25 retraction_amount = 6.5 retraction_prime_speed = =retraction_speed retraction_speed = 45 +skin_material_flow = =1.05 * material_flow small_skin_on_surface = False small_skin_width = 4 speed_infill = =speed_print @@ -66,9 +68,11 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.35 top_bottom_thickness = =max(1 , layer_height * 5) wall_0_wipe_dist = 0.8 +wall_x_material_flow = =1.1 * wall_material_flow +wall_x_material_flow_roofing = =wall_material_flow z_seam_relative = True z_seam_type = back zig_zaggify_infill = True diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.3mm.inst.cfg index 9e10ff65b0..79e8161047 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.4_um-tough-pla_0.3mm.inst.cfg @@ -67,7 +67,7 @@ support_bottom_distance = =support_z_distance support_interface_enable = True support_structure = tree support_top_distance = =support_z_distance -support_z_distance = =math.ceil(0.3/layer_height)*layer_height +support_z_distance = 0.4 top_bottom_thickness = =max(1 , layer_height * 5) wall_0_wipe_dist = 0.8 wall_line_width_0 = =line_width * (1 + magic_spiralize * 0.25) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.2mm.inst.cfg index addcc8e504..3c91ac5dc0 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.2mm.inst.cfg @@ -24,7 +24,6 @@ prime_tower_min_volume = 10 retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 -retraction_min_travel = 1.5 retraction_prime_speed = 15 speed_wall_x = =math.ceil(speed_wall * 30 / 30) switch_extruder_prime_speed = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.3mm.inst.cfg index dde38061ca..dbb9af642b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.3mm.inst.cfg @@ -24,7 +24,6 @@ prime_tower_min_volume = 15 retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 -retraction_min_travel = 1.5 retraction_prime_speed = 15 speed_wall_x = =math.ceil(speed_wall * 30 / 30) switch_extruder_prime_speed = 15 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.4mm.inst.cfg index bab23c5ee1..a8c9d2158a 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_pp_0.4mm.inst.cfg @@ -24,7 +24,6 @@ prime_tower_min_volume = 20 retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 0.5 -retraction_min_travel = 1.5 retraction_prime_speed = 15 speed_infill = =math.ceil(speed_wall * 30 / 30) speed_wall_x = =math.ceil(speed_wall * 30 / 30) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.2mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.2mm.inst.cfg index 132a0e0760..52d2baf4be 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.2mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.2mm.inst.cfg @@ -27,7 +27,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False -retraction_min_travel = =line_width * 2 retraction_prime_speed = 15 speed_print = 30 speed_topbottom = =math.ceil(speed_print * 25 / 30) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.3mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.3mm.inst.cfg index c0b54402f2..689986eca7 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.3mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.3mm.inst.cfg @@ -28,7 +28,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False -retraction_min_travel = =line_width * 2 retraction_prime_speed = 15 speed_print = 30 speed_topbottom = =math.ceil(speed_print * 23 / 30) diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.4mm.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.4mm.inst.cfg index 076f3df437..b709965661 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.4mm.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_tpu_0.4mm.inst.cfg @@ -27,7 +27,6 @@ retraction_count_max = 15 retraction_extra_prime_amount = 0.5 retraction_hop = 1.5 retraction_hop_only_when_collides = False -retraction_min_travel = =line_width * 2 speed_infill = =speed_print speed_print = 30 speed_topbottom = =math.ceil(speed_print * 20 / 30) diff --git a/resources/setting_visibility/advanced.cfg b/resources/setting_visibility/advanced.cfg index 1b59302c4d..57698bf252 100644 --- a/resources/setting_visibility/advanced.cfg +++ b/resources/setting_visibility/advanced.cfg @@ -136,6 +136,7 @@ prime_tower_brim_enable [blackmagic] print_sequence +user_defined_print_order_enabled magic_mesh_surface_mode magic_spiralize smooth_spiralized_contours diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index 5439cdcab8..0a07fff449 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -340,6 +340,7 @@ raft_surface_layers raft_surface_thickness raft_surface_line_width raft_surface_line_spacing +raft_surface_monotonic raft_interface_layers raft_interface_thickness raft_interface_line_width @@ -391,6 +392,7 @@ meshfix_fluid_motion_angle [blackmagic] print_sequence +user_defined_print_order_enabled infill_mesh infill_mesh_order cutting_mesh diff --git a/resources/variants/elegoo/elegoo_neptune_4max/elegoo_neptune_4max_0.20.inst.cfg b/resources/variants/elegoo/elegoo_neptune_4max/elegoo_neptune_4max_0.20.inst.cfg new file mode 100644 index 0000000000..5dea2c50ce --- /dev/null +++ b/resources/variants/elegoo/elegoo_neptune_4max/elegoo_neptune_4max_0.20.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = elegoo_neptune_4max +name = 0.20mm_Elegoo_Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.2 + diff --git a/resources/variants/elegoo/elegoo_neptune_4max/elegoo_neptune_4max_0.40.inst.cfg b/resources/variants/elegoo/elegoo_neptune_4max/elegoo_neptune_4max_0.40.inst.cfg new file mode 100644 index 0000000000..a7d62bdcff --- /dev/null +++ b/resources/variants/elegoo/elegoo_neptune_4max/elegoo_neptune_4max_0.40.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = elegoo_neptune_4max +name = 0.40mm_Elegoo_Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/elegoo/elegoo_neptune_4max/elegoo_neptune_4max_0.60.inst.cfg b/resources/variants/elegoo/elegoo_neptune_4max/elegoo_neptune_4max_0.60.inst.cfg new file mode 100644 index 0000000000..018d6d4881 --- /dev/null +++ b/resources/variants/elegoo/elegoo_neptune_4max/elegoo_neptune_4max_0.60.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = elegoo_neptune_4max +name = 0.60mm_Elegoo_Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/elegoo/elegoo_neptune_4max/elegoo_neptune_4max_0.80.inst.cfg b/resources/variants/elegoo/elegoo_neptune_4max/elegoo_neptune_4max_0.80.inst.cfg new file mode 100644 index 0000000000..fc7177d14c --- /dev/null +++ b/resources/variants/elegoo/elegoo_neptune_4max/elegoo_neptune_4max_0.80.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = elegoo_neptune_4max +name = 0.80mm_Elegoo_Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.8 + diff --git a/resources/variants/elegoo/elegoo_neptune_4plus/elegoo_neptune_4plus_0.20.inst.cfg b/resources/variants/elegoo/elegoo_neptune_4plus/elegoo_neptune_4plus_0.20.inst.cfg new file mode 100644 index 0000000000..16ac330f8a --- /dev/null +++ b/resources/variants/elegoo/elegoo_neptune_4plus/elegoo_neptune_4plus_0.20.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = elegoo_neptune_4plus +name = 0.20mm_Elegoo_Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.2 + diff --git a/resources/variants/elegoo/elegoo_neptune_4plus/elegoo_neptune_4plus_0.40.inst.cfg b/resources/variants/elegoo/elegoo_neptune_4plus/elegoo_neptune_4plus_0.40.inst.cfg new file mode 100644 index 0000000000..2d0237ff34 --- /dev/null +++ b/resources/variants/elegoo/elegoo_neptune_4plus/elegoo_neptune_4plus_0.40.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = elegoo_neptune_4plus +name = 0.40mm_Elegoo_Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/elegoo/elegoo_neptune_4plus/elegoo_neptune_4plus_0.60.inst.cfg b/resources/variants/elegoo/elegoo_neptune_4plus/elegoo_neptune_4plus_0.60.inst.cfg new file mode 100644 index 0000000000..bd960d80e1 --- /dev/null +++ b/resources/variants/elegoo/elegoo_neptune_4plus/elegoo_neptune_4plus_0.60.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = elegoo_neptune_4plus +name = 0.60mm_Elegoo_Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/elegoo/elegoo_neptune_4plus/elegoo_neptune_4plus_0.80.inst.cfg b/resources/variants/elegoo/elegoo_neptune_4plus/elegoo_neptune_4plus_0.80.inst.cfg new file mode 100644 index 0000000000..32d3860498 --- /dev/null +++ b/resources/variants/elegoo/elegoo_neptune_4plus/elegoo_neptune_4plus_0.80.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = elegoo_neptune_4plus +name = 0.80mm_Elegoo_Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.8 + diff --git a/resources/variants/flashforge/flashforge_adventurer3_0.3.inst.cfg b/resources/variants/flashforge/flashforge_adventurer3_0.3.inst.cfg new file mode 100644 index 0000000000..fdaea7e9f0 --- /dev/null +++ b/resources/variants/flashforge/flashforge_adventurer3_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = flashforge_adventurer3 +name = 0.3mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.3 + diff --git a/resources/variants/flashforge/flashforge_adventurer3_0.4.inst.cfg b/resources/variants/flashforge/flashforge_adventurer3_0.4.inst.cfg new file mode 100644 index 0000000000..5a7a2520ad --- /dev/null +++ b/resources/variants/flashforge/flashforge_adventurer3_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = flashforge_adventurer3 +name = 0.4mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/flashforge/flashforge_adventurer3_0.6.inst.cfg b/resources/variants/flashforge/flashforge_adventurer3_0.6.inst.cfg new file mode 100644 index 0000000000..bee4393cc9 --- /dev/null +++ b/resources/variants/flashforge/flashforge_adventurer3_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = flashforge_adventurer3 +name = 0.6mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/flashforge/flashforge_adventurer3c_0.3.inst.cfg b/resources/variants/flashforge/flashforge_adventurer3c_0.3.inst.cfg new file mode 100644 index 0000000000..404c0efb06 --- /dev/null +++ b/resources/variants/flashforge/flashforge_adventurer3c_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = flashforge_adventurer3c +name = 0.3mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.3 + diff --git a/resources/variants/flashforge/flashforge_adventurer3c_0.4.inst.cfg b/resources/variants/flashforge/flashforge_adventurer3c_0.4.inst.cfg new file mode 100644 index 0000000000..20cb91c62e --- /dev/null +++ b/resources/variants/flashforge/flashforge_adventurer3c_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = flashforge_adventurer3c +name = 0.4mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/flashforge/flashforge_adventurer3c_0.6.inst.cfg b/resources/variants/flashforge/flashforge_adventurer3c_0.6.inst.cfg new file mode 100644 index 0000000000..531763721a --- /dev/null +++ b/resources/variants/flashforge/flashforge_adventurer3c_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = flashforge_adventurer3c +name = 0.6mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/flashforge/flashforge_adventurer4_0.3.inst.cfg b/resources/variants/flashforge/flashforge_adventurer4_0.3.inst.cfg new file mode 100644 index 0000000000..661de9a802 --- /dev/null +++ b/resources/variants/flashforge/flashforge_adventurer4_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = flashforge_adventurer4 +name = 0.3mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.3 + diff --git a/resources/variants/flashforge/flashforge_adventurer4_0.4.inst.cfg b/resources/variants/flashforge/flashforge_adventurer4_0.4.inst.cfg new file mode 100644 index 0000000000..7944ab4d6a --- /dev/null +++ b/resources/variants/flashforge/flashforge_adventurer4_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = flashforge_adventurer4 +name = 0.4mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/flashforge/flashforge_adventurer4_0.6.inst.cfg b/resources/variants/flashforge/flashforge_adventurer4_0.6.inst.cfg new file mode 100644 index 0000000000..2e0bb4d36a --- /dev/null +++ b/resources/variants/flashforge/flashforge_adventurer4_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = flashforge_adventurer4 +name = 0.6mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/flashforge/flashforge_adventurer4lite_0.3.inst.cfg b/resources/variants/flashforge/flashforge_adventurer4lite_0.3.inst.cfg new file mode 100644 index 0000000000..25f6eba9bf --- /dev/null +++ b/resources/variants/flashforge/flashforge_adventurer4lite_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = flashforge_adventurer4lite +name = 0.3mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.3 + diff --git a/resources/variants/flashforge/flashforge_adventurer4lite_0.4.inst.cfg b/resources/variants/flashforge/flashforge_adventurer4lite_0.4.inst.cfg new file mode 100644 index 0000000000..c073e05831 --- /dev/null +++ b/resources/variants/flashforge/flashforge_adventurer4lite_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = flashforge_adventurer4lite +name = 0.4mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/flashforge/flashforge_adventurer4lite_0.6.inst.cfg b/resources/variants/flashforge/flashforge_adventurer4lite_0.6.inst.cfg new file mode 100644 index 0000000000..5801637f40 --- /dev/null +++ b/resources/variants/flashforge/flashforge_adventurer4lite_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = flashforge_adventurer4lite +name = 0.6mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/ratrig/ratrig_base_0.2.inst.cfg b/resources/variants/ratrig/ratrig_base_0.2.inst.cfg new file mode 100644 index 0000000000..bb337f309a --- /dev/null +++ b/resources/variants/ratrig/ratrig_base_0.2.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_base +name = 0.2mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.2 + diff --git a/resources/variants/ratrig/ratrig_base_0.3.inst.cfg b/resources/variants/ratrig/ratrig_base_0.3.inst.cfg new file mode 100644 index 0000000000..ba4d9f74b9 --- /dev/null +++ b/resources/variants/ratrig/ratrig_base_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_base +name = 0.3mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.3 + diff --git a/resources/variants/ratrig/ratrig_base_0.4.inst.cfg b/resources/variants/ratrig/ratrig_base_0.4.inst.cfg new file mode 100644 index 0000000000..e784998708 --- /dev/null +++ b/resources/variants/ratrig/ratrig_base_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_base +name = 0.4mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/ratrig/ratrig_base_0.6.inst.cfg b/resources/variants/ratrig/ratrig_base_0.6.inst.cfg new file mode 100644 index 0000000000..da6595ad28 --- /dev/null +++ b/resources/variants/ratrig/ratrig_base_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_base +name = 0.6mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/ratrig/ratrig_base_0.8.inst.cfg b/resources/variants/ratrig/ratrig_base_0.8.inst.cfg new file mode 100644 index 0000000000..d710879bd0 --- /dev/null +++ b/resources/variants/ratrig/ratrig_base_0.8.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_base +name = 0.8mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.8 + diff --git a/resources/variants/ratrig/ratrig_base_1.0.inst.cfg b/resources/variants/ratrig/ratrig_base_1.0.inst.cfg new file mode 100644 index 0000000000..3a8241c15a --- /dev/null +++ b/resources/variants/ratrig/ratrig_base_1.0.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_base +name = 1.0mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 1.0 + diff --git a/resources/variants/ratrig/ratrig_vcore3_200_0.2.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_200_0.2.inst.cfg new file mode 100644 index 0000000000..495d2ba3a3 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_200_0.2.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_200 +name = 0.2mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.2 + diff --git a/resources/variants/ratrig/ratrig_vcore3_200_0.3.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_200_0.3.inst.cfg new file mode 100644 index 0000000000..890d7bf30f --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_200_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_200 +name = 0.3mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.3 + diff --git a/resources/variants/ratrig/ratrig_vcore3_200_0.4.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_200_0.4.inst.cfg new file mode 100644 index 0000000000..e640ef7adf --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_200_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_200 +name = 0.4mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/ratrig/ratrig_vcore3_200_0.6.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_200_0.6.inst.cfg new file mode 100644 index 0000000000..b25e6ee64a --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_200_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_200 +name = 0.6mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/ratrig/ratrig_vcore3_200_0.8.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_200_0.8.inst.cfg new file mode 100644 index 0000000000..9462fa7748 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_200_0.8.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_200 +name = 0.8mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.8 + diff --git a/resources/variants/ratrig/ratrig_vcore3_200_1.0.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_200_1.0.inst.cfg new file mode 100644 index 0000000000..f817ee13a8 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_200_1.0.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_200 +name = 1.0mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 1.0 + diff --git a/resources/variants/ratrig/ratrig_vcore3_300_0.2.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_300_0.2.inst.cfg new file mode 100644 index 0000000000..a39e02aab2 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_300_0.2.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_300 +name = 0.2mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.2 + diff --git a/resources/variants/ratrig/ratrig_vcore3_300_0.3.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_300_0.3.inst.cfg new file mode 100644 index 0000000000..a49459aac3 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_300_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_300 +name = 0.3mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.3 + diff --git a/resources/variants/ratrig/ratrig_vcore3_300_0.4.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_300_0.4.inst.cfg new file mode 100644 index 0000000000..e0bf634a2c --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_300_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_300 +name = 0.4mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/ratrig/ratrig_vcore3_300_0.6.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_300_0.6.inst.cfg new file mode 100644 index 0000000000..c2026ce463 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_300_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_300 +name = 0.6mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/ratrig/ratrig_vcore3_300_0.8.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_300_0.8.inst.cfg new file mode 100644 index 0000000000..99d6d7e38b --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_300_0.8.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_300 +name = 0.8mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.8 + diff --git a/resources/variants/ratrig/ratrig_vcore3_300_1.0.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_300_1.0.inst.cfg new file mode 100644 index 0000000000..7ad21e8c09 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_300_1.0.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_300 +name = 1.0mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 1.0 + diff --git a/resources/variants/ratrig/ratrig_vcore3_400_0.2.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_400_0.2.inst.cfg new file mode 100644 index 0000000000..bd02a12125 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_400_0.2.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_400 +name = 0.2mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.2 + diff --git a/resources/variants/ratrig/ratrig_vcore3_400_0.3.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_400_0.3.inst.cfg new file mode 100644 index 0000000000..85a585d692 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_400_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_400 +name = 0.3mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.3 + diff --git a/resources/variants/ratrig/ratrig_vcore3_400_0.4.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_400_0.4.inst.cfg new file mode 100644 index 0000000000..0bcee4f011 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_400_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_400 +name = 0.4mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/ratrig/ratrig_vcore3_400_0.6.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_400_0.6.inst.cfg new file mode 100644 index 0000000000..0b7ea7fc2e --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_400_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_400 +name = 0.6mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/ratrig/ratrig_vcore3_400_0.8.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_400_0.8.inst.cfg new file mode 100644 index 0000000000..e5baf012f0 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_400_0.8.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_400 +name = 0.8mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.8 + diff --git a/resources/variants/ratrig/ratrig_vcore3_400_1.0.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_400_1.0.inst.cfg new file mode 100644 index 0000000000..4b13608cf1 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_400_1.0.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_400 +name = 1.0mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 1.0 + diff --git a/resources/variants/ratrig/ratrig_vcore3_500_0.2.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_500_0.2.inst.cfg new file mode 100644 index 0000000000..3866031f65 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_500_0.2.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_500 +name = 0.2mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.2 + diff --git a/resources/variants/ratrig/ratrig_vcore3_500_0.3.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_500_0.3.inst.cfg new file mode 100644 index 0000000000..c3dcc2fa25 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_500_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_500 +name = 0.3mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.3 + diff --git a/resources/variants/ratrig/ratrig_vcore3_500_0.4.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_500_0.4.inst.cfg new file mode 100644 index 0000000000..8c1911df41 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_500_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_500 +name = 0.4mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/ratrig/ratrig_vcore3_500_0.6.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_500_0.6.inst.cfg new file mode 100644 index 0000000000..fa9170ee16 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_500_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_500 +name = 0.6mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/ratrig/ratrig_vcore3_500_0.8.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_500_0.8.inst.cfg new file mode 100644 index 0000000000..ee71589ca2 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_500_0.8.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_500 +name = 0.8mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.8 + diff --git a/resources/variants/ratrig/ratrig_vcore3_500_1.0.inst.cfg b/resources/variants/ratrig/ratrig_vcore3_500_1.0.inst.cfg new file mode 100644 index 0000000000..6e91017f1e --- /dev/null +++ b/resources/variants/ratrig/ratrig_vcore3_500_1.0.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vcore3_500 +name = 1.0mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 1.0 + diff --git a/resources/variants/ratrig/ratrig_vminion_0.2.inst.cfg b/resources/variants/ratrig/ratrig_vminion_0.2.inst.cfg new file mode 100644 index 0000000000..0f9433e1b2 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vminion_0.2.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vminion +name = 0.2mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.2 + diff --git a/resources/variants/ratrig/ratrig_vminion_0.3.inst.cfg b/resources/variants/ratrig/ratrig_vminion_0.3.inst.cfg new file mode 100644 index 0000000000..0faf86e4d0 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vminion_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vminion +name = 0.3mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.3 + diff --git a/resources/variants/ratrig/ratrig_vminion_0.4.inst.cfg b/resources/variants/ratrig/ratrig_vminion_0.4.inst.cfg new file mode 100644 index 0000000000..0d126748d1 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vminion_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vminion +name = 0.4mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/ratrig/ratrig_vminion_0.6.inst.cfg b/resources/variants/ratrig/ratrig_vminion_0.6.inst.cfg new file mode 100644 index 0000000000..189218b151 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vminion_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vminion +name = 0.6mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/ratrig/ratrig_vminion_0.8.inst.cfg b/resources/variants/ratrig/ratrig_vminion_0.8.inst.cfg new file mode 100644 index 0000000000..e8a6437abd --- /dev/null +++ b/resources/variants/ratrig/ratrig_vminion_0.8.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vminion +name = 0.8mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.8 + diff --git a/resources/variants/ratrig/ratrig_vminion_1.0.inst.cfg b/resources/variants/ratrig/ratrig_vminion_1.0.inst.cfg new file mode 100644 index 0000000000..9a55294853 --- /dev/null +++ b/resources/variants/ratrig/ratrig_vminion_1.0.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = ratrig_vminion +name = 1.0mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 1.0 + diff --git a/resources/variants/ultimaker_s3_aa0.25.inst.cfg b/resources/variants/ultimaker_s3_aa0.25.inst.cfg index 1f3baa432f..97b303035c 100644 --- a/resources/variants/ultimaker_s3_aa0.25.inst.cfg +++ b/resources/variants/ultimaker_s3_aa0.25.inst.cfg @@ -16,7 +16,6 @@ machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = AA 0.25 machine_nozzle_size = 0.25 machine_nozzle_tip_outer_diameter = 0.65 -retraction_min_travel = 0.7 retraction_prime_speed = =retraction_speed speed_print = 55 speed_topbottom = 20 diff --git a/resources/variants/ultimaker_s3_aa0.8.inst.cfg b/resources/variants/ultimaker_s3_aa0.8.inst.cfg index e8ac3c5714..5385e5e540 100644 --- a/resources/variants/ultimaker_s3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker_s3_aa0.8.inst.cfg @@ -29,7 +29,6 @@ raft_surface_layers = 1 retraction_amount = 6.5 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = =line_width * 2 retraction_speed = 25 speed_print = 35 speed_topbottom = =math.ceil(speed_print * 25 / 35) diff --git a/resources/variants/ultimaker_s3_aa04.inst.cfg b/resources/variants/ultimaker_s3_aa04.inst.cfg index b3f76758f4..76992b5805 100644 --- a/resources/variants/ultimaker_s3_aa04.inst.cfg +++ b/resources/variants/ultimaker_s3_aa04.inst.cfg @@ -14,7 +14,6 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_id = AA 0.4 machine_nozzle_tip_outer_diameter = 1.0 retraction_amount = 6.5 -retraction_min_travel = =line_width * 2 speed_print = 70 speed_topbottom = =math.ceil(speed_print * 30 / 70) speed_wall = =math.ceil(speed_print * 30 / 70) diff --git a/resources/variants/ultimaker_s3_bb0.8.inst.cfg b/resources/variants/ultimaker_s3_bb0.8.inst.cfg index ef97986a94..56b1ea9af7 100644 --- a/resources/variants/ultimaker_s3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker_s3_bb0.8.inst.cfg @@ -30,7 +30,6 @@ prime_tower_wipe_enabled = True raft_surface_layers = 1 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = =line_width * 3 speed_prime_tower = =math.ceil(speed_print * 7 / 35) speed_print = 35 speed_support = =math.ceil(speed_print * 25 / 35) diff --git a/resources/variants/ultimaker_s3_bb04.inst.cfg b/resources/variants/ultimaker_s3_bb04.inst.cfg index e50241aa3a..4e232cbb5e 100644 --- a/resources/variants/ultimaker_s3_bb04.inst.cfg +++ b/resources/variants/ultimaker_s3_bb04.inst.cfg @@ -16,7 +16,6 @@ acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000) machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = BB 0.4 machine_nozzle_tip_outer_diameter = 1.0 -retraction_min_travel = =3 * line_width speed_prime_tower = =math.ceil(speed_print * 10 / 35) speed_support = =math.ceil(speed_print * 25 / 35) speed_support_interface = =math.ceil(speed_support * 20 / 25) diff --git a/resources/variants/ultimaker_s3_cc04.inst.cfg b/resources/variants/ultimaker_s3_cc04.inst.cfg index 19192bfba6..38f04547aa 100644 --- a/resources/variants/ultimaker_s3_cc04.inst.cfg +++ b/resources/variants/ultimaker_s3_cc04.inst.cfg @@ -13,7 +13,6 @@ brim_width = 7 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_id = CC 0.4 machine_nozzle_size = 0.4 -retraction_min_travel = =line_width * 2 retraction_prime_speed = =retraction_speed speed_infill = =speed_print speed_print = 45 diff --git a/resources/variants/ultimaker_s3_cc06.inst.cfg b/resources/variants/ultimaker_s3_cc06.inst.cfg index 925a9f68d6..e42817e8f8 100644 --- a/resources/variants/ultimaker_s3_cc06.inst.cfg +++ b/resources/variants/ultimaker_s3_cc06.inst.cfg @@ -13,7 +13,6 @@ brim_width = 7 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_id = CC 0.6 machine_nozzle_size = 0.6 -retraction_min_travel = =line_width * 2 retraction_prime_speed = =retraction_speed speed_infill = =speed_print speed_print = 45 diff --git a/resources/variants/ultimaker_s5_aa0.25.inst.cfg b/resources/variants/ultimaker_s5_aa0.25.inst.cfg index 519b21c920..08ed6132f5 100644 --- a/resources/variants/ultimaker_s5_aa0.25.inst.cfg +++ b/resources/variants/ultimaker_s5_aa0.25.inst.cfg @@ -16,7 +16,6 @@ machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = AA 0.25 machine_nozzle_size = 0.25 machine_nozzle_tip_outer_diameter = 0.65 -retraction_min_travel = 0.7 retraction_prime_speed = =retraction_speed speed_print = 55 speed_topbottom = 20 diff --git a/resources/variants/ultimaker_s5_aa0.8.inst.cfg b/resources/variants/ultimaker_s5_aa0.8.inst.cfg index 522723db86..4bb5eda5db 100644 --- a/resources/variants/ultimaker_s5_aa0.8.inst.cfg +++ b/resources/variants/ultimaker_s5_aa0.8.inst.cfg @@ -29,7 +29,6 @@ raft_surface_layers = 1 retraction_amount = 6.5 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = =line_width * 2 retraction_speed = 25 speed_print = 35 speed_topbottom = =math.ceil(speed_print * 25 / 35) diff --git a/resources/variants/ultimaker_s5_aa04.inst.cfg b/resources/variants/ultimaker_s5_aa04.inst.cfg index 09f528162d..fd4f1ff778 100644 --- a/resources/variants/ultimaker_s5_aa04.inst.cfg +++ b/resources/variants/ultimaker_s5_aa04.inst.cfg @@ -14,7 +14,6 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_id = AA 0.4 machine_nozzle_tip_outer_diameter = 1.0 retraction_amount = 6.5 -retraction_min_travel = =line_width * 2 speed_print = 70 speed_topbottom = =math.ceil(speed_print * 30 / 70) speed_wall = =math.ceil(speed_print * 30 / 70) diff --git a/resources/variants/ultimaker_s5_bb0.8.inst.cfg b/resources/variants/ultimaker_s5_bb0.8.inst.cfg index 3cdaa70171..b833c4bcf3 100644 --- a/resources/variants/ultimaker_s5_bb0.8.inst.cfg +++ b/resources/variants/ultimaker_s5_bb0.8.inst.cfg @@ -30,7 +30,6 @@ prime_tower_wipe_enabled = True raft_surface_layers = 1 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = =line_width * 3 speed_prime_tower = =math.ceil(speed_print * 7 / 35) speed_print = 35 speed_support = =math.ceil(speed_print * 25 / 35) diff --git a/resources/variants/ultimaker_s5_bb04.inst.cfg b/resources/variants/ultimaker_s5_bb04.inst.cfg index 2058185bb8..7959fc75c2 100644 --- a/resources/variants/ultimaker_s5_bb04.inst.cfg +++ b/resources/variants/ultimaker_s5_bb04.inst.cfg @@ -16,7 +16,6 @@ acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000) machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = BB 0.4 machine_nozzle_tip_outer_diameter = 1.0 -retraction_min_travel = =3 * line_width speed_prime_tower = =math.ceil(speed_print * 10 / 35) speed_support = =math.ceil(speed_print * 25 / 35) speed_support_interface = =math.ceil(speed_support * 20 / 25) diff --git a/resources/variants/ultimaker_s5_cc04.inst.cfg b/resources/variants/ultimaker_s5_cc04.inst.cfg index ef64dc0ae4..5510d0126f 100644 --- a/resources/variants/ultimaker_s5_cc04.inst.cfg +++ b/resources/variants/ultimaker_s5_cc04.inst.cfg @@ -13,7 +13,6 @@ brim_width = 7 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_id = CC 0.4 machine_nozzle_size = 0.4 -retraction_min_travel = =line_width * 2 retraction_prime_speed = =retraction_speed speed_infill = =speed_print speed_print = 45 diff --git a/resources/variants/ultimaker_s5_cc06.inst.cfg b/resources/variants/ultimaker_s5_cc06.inst.cfg index ba33bab17b..a49c790e4f 100644 --- a/resources/variants/ultimaker_s5_cc06.inst.cfg +++ b/resources/variants/ultimaker_s5_cc06.inst.cfg @@ -13,7 +13,6 @@ brim_width = 7 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_id = CC 0.6 machine_nozzle_size = 0.6 -retraction_min_travel = =line_width * 2 retraction_prime_speed = =retraction_speed speed_infill = =speed_print speed_print = 45 diff --git a/resources/variants/ultimaker_s7_aa0.25.inst.cfg b/resources/variants/ultimaker_s7_aa0.25.inst.cfg index 1495af6c48..fc1bdcfef2 100644 --- a/resources/variants/ultimaker_s7_aa0.25.inst.cfg +++ b/resources/variants/ultimaker_s7_aa0.25.inst.cfg @@ -16,7 +16,6 @@ machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = AA 0.25 machine_nozzle_size = 0.25 machine_nozzle_tip_outer_diameter = 0.65 -retraction_min_travel = 0.7 retraction_prime_speed = =retraction_speed speed_print = 55 speed_topbottom = 20 diff --git a/resources/variants/ultimaker_s7_aa0.8.inst.cfg b/resources/variants/ultimaker_s7_aa0.8.inst.cfg index ca6079aeb9..1feea8c676 100644 --- a/resources/variants/ultimaker_s7_aa0.8.inst.cfg +++ b/resources/variants/ultimaker_s7_aa0.8.inst.cfg @@ -29,7 +29,6 @@ raft_surface_layers = 1 retraction_amount = 6.5 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = =line_width * 2 retraction_speed = 25 speed_print = 35 speed_topbottom = =math.ceil(speed_print * 25 / 35) diff --git a/resources/variants/ultimaker_s7_aa04.inst.cfg b/resources/variants/ultimaker_s7_aa04.inst.cfg index a9079c975e..6aee6597e0 100644 --- a/resources/variants/ultimaker_s7_aa04.inst.cfg +++ b/resources/variants/ultimaker_s7_aa04.inst.cfg @@ -14,7 +14,6 @@ machine_nozzle_cool_down_speed = 0.9 machine_nozzle_id = AA 0.4 machine_nozzle_tip_outer_diameter = 1.0 retraction_amount = 6.5 -retraction_min_travel = =line_width * 2 speed_print = 70 speed_topbottom = =math.ceil(speed_print * 30 / 70) speed_wall = =math.ceil(speed_print * 30 / 70) diff --git a/resources/variants/ultimaker_s7_bb0.8.inst.cfg b/resources/variants/ultimaker_s7_bb0.8.inst.cfg index 06eb01ee0f..17a9971002 100644 --- a/resources/variants/ultimaker_s7_bb0.8.inst.cfg +++ b/resources/variants/ultimaker_s7_bb0.8.inst.cfg @@ -31,7 +31,6 @@ raft_surface_layers = 1 retraction_amount = 4.5 retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = =line_width * 3 speed_prime_tower = =math.ceil(speed_print * 7 / 35) speed_print = 35 speed_support = =math.ceil(speed_print * 25 / 35) diff --git a/resources/variants/ultimaker_s7_bb04.inst.cfg b/resources/variants/ultimaker_s7_bb04.inst.cfg index bead299de3..1ec0dfab98 100644 --- a/resources/variants/ultimaker_s7_bb04.inst.cfg +++ b/resources/variants/ultimaker_s7_bb04.inst.cfg @@ -17,7 +17,6 @@ machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = BB 0.4 machine_nozzle_tip_outer_diameter = 1.0 retraction_amount = 4.5 -retraction_min_travel = =3 * line_width speed_prime_tower = =math.ceil(speed_print * 10 / 35) speed_support = =math.ceil(speed_print * 25 / 35) speed_support_interface = =math.ceil(speed_support * 20 / 25) diff --git a/resources/variants/ultimaker_s7_cc04.inst.cfg b/resources/variants/ultimaker_s7_cc04.inst.cfg index d46d387330..6949c5be74 100644 --- a/resources/variants/ultimaker_s7_cc04.inst.cfg +++ b/resources/variants/ultimaker_s7_cc04.inst.cfg @@ -13,7 +13,6 @@ brim_width = 7 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_id = CC 0.4 machine_nozzle_size = 0.4 -retraction_min_travel = =line_width * 2 retraction_prime_speed = =retraction_speed speed_infill = =speed_print speed_print = 45 diff --git a/resources/variants/ultimaker_s7_cc06.inst.cfg b/resources/variants/ultimaker_s7_cc06.inst.cfg index d0c0d3670f..576701fc2b 100644 --- a/resources/variants/ultimaker_s7_cc06.inst.cfg +++ b/resources/variants/ultimaker_s7_cc06.inst.cfg @@ -13,7 +13,6 @@ brim_width = 7 machine_nozzle_cool_down_speed = 0.9 machine_nozzle_id = CC 0.6 machine_nozzle_size = 0.6 -retraction_min_travel = =line_width * 2 retraction_prime_speed = =retraction_speed speed_infill = =speed_print speed_print = 45 diff --git a/scripts/fix_translation_memory.py b/scripts/fix_translation_memory.py index 610fb93ac6..979cc92eb7 100644 --- a/scripts/fix_translation_memory.py +++ b/scripts/fix_translation_memory.py @@ -5,9 +5,8 @@ import re import argparse from pathlib import Path from fuzzywuzzy import fuzz -from fuzzywuzzy import process import xml.etree.ElementTree as ET -from xml.sax.saxutils import unescape, escape, quoteattr +from xml.sax.saxutils import unescape def load_existing_xmtm(path: Path) -> ET.Element: diff --git a/scripts/lionbridge_import.py b/scripts/lionbridge_import.py index 65b07183a3..c73361a912 100644 --- a/scripts/lionbridge_import.py +++ b/scripts/lionbridge_import.py @@ -1,10 +1,10 @@ # Copyright (c) 2021 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. -import argparse #To get the source directory from command line arguments. +import argparse # To get the source directory from command line arguments. import io # To fix encoding issues in Windows -import os #To find files from the source. -import os.path #To find files from the source and the destination path. +import os # To find files from the source. +import os.path # To find files from the source and the destination path. cura_files = {"cura", "fdmprinter.def.json", "fdmextruder.def.json"} uranium_files = {"uranium"} diff --git a/tests/TestHitChecker.py b/tests/TestHitChecker.py new file mode 100644 index 0000000000..59ee1d8162 --- /dev/null +++ b/tests/TestHitChecker.py @@ -0,0 +1,141 @@ +from unittest.mock import patch + +from cura.HitChecker import HitChecker +from cura.OneAtATimeIterator import OneAtATimeIterator +from cura.Scene.CuraSceneNode import CuraSceneNode + + +def test_anyTwoNodesBlockEachOther_True(): + node1 = CuraSceneNode(no_setting_override=True) + node2 = CuraSceneNode(no_setting_override=True) + # node1 and node2 block each other + hit_map = { + node1: {node1: 0, node2: 1}, + node2: {node1: 1, node2: 0} + } + + with patch.object(HitChecker, "_buildHitMap", return_value=hit_map): + hit_checker = HitChecker([node1, node2]) + assert hit_checker.anyTwoNodesBlockEachOther([node1, node2]) + assert hit_checker.anyTwoNodesBlockEachOther([node2, node1]) + + +def test_anyTwoNodesBlockEachOther_False(): + node1 = CuraSceneNode(no_setting_override=True) + node2 = CuraSceneNode(no_setting_override=True) + # node1 blocks node2, but node2 doesn't block node1 + hit_map = { + node1: {node1: 0, node2: 1}, + node2: {node1: 0, node2: 0} + } + + with patch.object(HitChecker, "_buildHitMap", return_value=hit_map): + hit_checker = HitChecker([node1, node2]) + assert not hit_checker.anyTwoNodesBlockEachOther([node1, node2]) + assert not hit_checker.anyTwoNodesBlockEachOther([node2, node1]) + + +def test_canPrintBefore(): + node1 = CuraSceneNode(no_setting_override=True) + node2 = CuraSceneNode(no_setting_override=True) + node3 = CuraSceneNode(no_setting_override=True) + # nodes can be printed only in order node1 -> node2 -> node3 + hit_map = { + node1: {node1: 0, node2: 0, node3: 0}, + node2: {node1: 1, node2: 0, node3: 0}, + node3: {node1: 1, node2: 1, node3: 0}, + } + + with patch.object(HitChecker, "_buildHitMap", return_value=hit_map): + hit_checker = HitChecker([node1, node2, node3]) + + assert hit_checker.canPrintBefore(node1, [node2]) + assert hit_checker.canPrintBefore(node1, [node3]) + assert hit_checker.canPrintBefore(node1, [node2, node3]) + assert hit_checker.canPrintBefore(node1, [node3, node2]) + + assert hit_checker.canPrintBefore(node2, [node3]) + assert not hit_checker.canPrintBefore(node2, [node1]) + assert not hit_checker.canPrintBefore(node2, [node1, node3]) + assert not hit_checker.canPrintBefore(node2, [node3, node1]) + + assert not hit_checker.canPrintBefore(node3, [node1]) + assert not hit_checker.canPrintBefore(node3, [node2]) + assert not hit_checker.canPrintBefore(node3, [node1, node2]) + assert not hit_checker.canPrintBefore(node3, [node2, node1]) + + +def test_canPrintAfter(): + node1 = CuraSceneNode(no_setting_override=True) + node2 = CuraSceneNode(no_setting_override=True) + node3 = CuraSceneNode(no_setting_override=True) + + # nodes can be printed only in order node1 -> node2 -> node3 + hit_map = { + node1: {node1: 0, node2: 0, node3: 0}, + node2: {node1: 1, node2: 0, node3: 0}, + node3: {node1: 1, node2: 1, node3: 0}, + } + + with patch.object(HitChecker, "_buildHitMap", return_value=hit_map): + hit_checker = HitChecker([node1, node2, node3]) + + assert not hit_checker.canPrintAfter(node1, [node2]) + assert not hit_checker.canPrintAfter(node1, [node3]) + assert not hit_checker.canPrintAfter(node1, [node2, node3]) + assert not hit_checker.canPrintAfter(node1, [node3, node2]) + + assert hit_checker.canPrintAfter(node2, [node1]) + assert not hit_checker.canPrintAfter(node2, [node3]) + assert not hit_checker.canPrintAfter(node2, [node1, node3]) + assert not hit_checker.canPrintAfter(node2, [node3, node1]) + + assert hit_checker.canPrintAfter(node3, [node1]) + assert hit_checker.canPrintAfter(node3, [node2]) + assert hit_checker.canPrintAfter(node3, [node1, node2]) + assert hit_checker.canPrintAfter(node3, [node2, node1]) + + +def test_calculateScore(): + node1 = CuraSceneNode(no_setting_override=True) + node2 = CuraSceneNode(no_setting_override=True) + node3 = CuraSceneNode(no_setting_override=True) + + hit_map = { + node1: {node1: 0, node2: 0, node3: 0}, # sum is 0 + node2: {node1: 1, node2: 0, node3: 0}, # sum is 1 + node3: {node1: 1, node2: 1, node3: 0}, # sum is 2 + } + + with patch.object(HitChecker, "_buildHitMap", return_value=hit_map): + hit_checker = HitChecker([node1, node2, node3]) + + # score is a diff between sums + assert hit_checker.calculateScore(node1, node2) == -1 + assert hit_checker.calculateScore(node2, node1) == 1 + assert hit_checker.calculateScore(node1, node3) == -2 + assert hit_checker.calculateScore(node3, node1) == 2 + assert hit_checker.calculateScore(node2, node3) == -1 + assert hit_checker.calculateScore(node3, node2) == 1 + + +def test_canPrintNodesInProvidedOrder(): + node1 = CuraSceneNode(no_setting_override=True) + node2 = CuraSceneNode(no_setting_override=True) + node3 = CuraSceneNode(no_setting_override=True) + + # nodes can be printed only in order node1 -> node2 -> node3 + hit_map = { + node1: {node1: 0, node2: 0, node3: 0}, # 0 + node2: {node1: 1, node2: 0, node3: 0}, # 1 + node3: {node1: 1, node2: 1, node3: 0}, # 2 + } + + with patch.object(HitChecker, "_buildHitMap", return_value=hit_map): + hit_checker = HitChecker([node1, node2, node3]) + assert hit_checker.canPrintNodesInProvidedOrder([node1, node2, node3]) + assert not hit_checker.canPrintNodesInProvidedOrder([node1, node3, node2]) + assert not hit_checker.canPrintNodesInProvidedOrder([node2, node1, node3]) + assert not hit_checker.canPrintNodesInProvidedOrder([node2, node3, node1]) + assert not hit_checker.canPrintNodesInProvidedOrder([node3, node1, node2]) + assert not hit_checker.canPrintNodesInProvidedOrder([node3, node2, node1]) \ No newline at end of file diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py index 09fa555af4..41edaebbf7 100644 --- a/tests/TestOAuth2.py +++ b/tests/TestOAuth2.py @@ -97,7 +97,7 @@ def test__parseJWTNoRefreshToken(): mock_reply = Mock() # The user profile that the service should respond with. mock_reply.error = Mock(return_value = QNetworkReply.NetworkError.NoError) http_mock = Mock() - http_mock.get = lambda url, headers_dict, callback, error_callback: callback(mock_reply) + http_mock.get = lambda url, headers_dict, callback, error_callback, timeout: callback(mock_reply) http_mock.readJSON = Mock(return_value = {"data": {"user_id": "id_ego_or_superego", "username": "Ghostkeeper"}}) with patch("UM.TaskManagement.HttpRequestManager.HttpRequestManager.getInstance", MagicMock(return_value = http_mock)): @@ -119,8 +119,8 @@ def test__parseJWTFailOnRefresh(): mock_reply = Mock() # The response that the request should give, containing an error about it failing to authenticate. mock_reply.error = Mock(return_value = QNetworkReply.NetworkError.AuthenticationRequiredError) # The reply is 403: Authentication required, meaning the server responded with a "Can't do that, Dave". http_mock = Mock() - http_mock.get = lambda url, headers_dict, callback, error_callback: callback(mock_reply) - http_mock.post = lambda url, data, headers_dict, callback, error_callback: callback(mock_reply) + http_mock.get = lambda url, headers_dict, callback, error_callback, timeout: callback(mock_reply) + http_mock.post = lambda url, data, headers_dict, callback, error_callback, urgent, timeout: callback(mock_reply) with patch("UM.TaskManagement.HttpRequestManager.HttpRequestManager.readJSON", Mock(return_value = {"error_description": "Mock a failed request!"})): with patch("UM.TaskManagement.HttpRequestManager.HttpRequestManager.getInstance", MagicMock(return_value = http_mock)): @@ -142,7 +142,7 @@ def test__parseJWTSucceedOnRefresh(): mock_reply_failure = Mock() mock_reply_failure.error = Mock(return_value = QNetworkReply.NetworkError.AuthenticationRequiredError) http_mock = Mock() - def mock_get(url, headers_dict, callback, error_callback): + def mock_get(url, headers_dict, callback, error_callback, timeout): if(headers_dict == {"Authorization": "Bearer beep"}): callback(mock_reply_success) else: @@ -181,8 +181,8 @@ def test_refreshAccessTokenFailed(): mock_reply = Mock() # The response that the request should give, containing an error about it failing to authenticate. mock_reply.error = Mock(return_value = QNetworkReply.NetworkError.AuthenticationRequiredError) # The reply is 403: Authentication required, meaning the server responded with a "Can't do that, Dave". http_mock = Mock() - http_mock.get = lambda url, headers_dict, callback, error_callback: callback(mock_reply) - http_mock.post = lambda url, data, headers_dict, callback, error_callback: callback(mock_reply) + http_mock.get = lambda url, headers_dict, callback, error_callback, timeout: callback(mock_reply) + http_mock.post = lambda url, data, headers_dict, callback, error_callback, urgent, timeout: callback(mock_reply) with patch("UM.TaskManagement.HttpRequestManager.HttpRequestManager.readJSON", Mock(return_value = {"error_description": "Mock a failed request!"})): with patch("UM.TaskManagement.HttpRequestManager.HttpRequestManager.getInstance", MagicMock(return_value = http_mock)): @@ -263,7 +263,7 @@ def test_loginAndLogout() -> None: mock_reply = Mock() # The user profile that the service should respond with. mock_reply.error = Mock(return_value = QNetworkReply.NetworkError.NoError) http_mock = Mock() - http_mock.get = lambda url, headers_dict, callback, error_callback: callback(mock_reply) + http_mock.get = lambda url, headers_dict, callback, error_callback, timeout: callback(mock_reply) http_mock.readJSON = Mock(return_value = {"data": {"user_id": "di_resu", "username": "Emanresu"}}) # Let the service think there was a successful response diff --git a/tests/TestPrintOrderManager.py b/tests/TestPrintOrderManager.py new file mode 100644 index 0000000000..8b2c0475b2 --- /dev/null +++ b/tests/TestPrintOrderManager.py @@ -0,0 +1,175 @@ +from unittest.mock import patch, MagicMock + +from cura.PrintOrderManager import PrintOrderManager +from cura.Scene.CuraSceneNode import CuraSceneNode + + +def test_getNodeName(): + node1 = CuraSceneNode(name="cat", no_setting_override=True) + node2 = CuraSceneNode(name="dog", no_setting_override=True) + assert PrintOrderManager._getNodeName(node1) == "cat" + assert PrintOrderManager._getNodeName(node2) == "dog" + assert PrintOrderManager._getNodeName(None) == "" + + +def test_getNodeName_truncatesLongName(): + node = CuraSceneNode(name="some_name_longer_than_30_characters", no_setting_override=True) + assert PrintOrderManager._getNodeName(node) == "some_name_longer_than_30_chara" + assert PrintOrderManager._getNodeName(node, max_length=10) == "some_name_" + + +def test_getSingleSelectedNode(): + node1 = CuraSceneNode(no_setting_override=True) + with patch("UM.Scene.Selection.Selection.getAllSelectedObjects", MagicMock(return_value=[node1])): + with patch("UM.Scene.Selection.Selection.getSelectedObject", MagicMock(return_value=node1)): + assert PrintOrderManager._getSingleSelectedNode() == node1 + + +def test_getSingleSelectedNode_returnsNoneIfNothingSelected(): + with patch("UM.Scene.Selection.Selection.getAllSelectedObjects", MagicMock(return_value=[])): + assert PrintOrderManager._getSingleSelectedNode() is None + + +def test_getSingleSelectedNode_returnsNoneIfMultipleObjectsSelected(): + node1 = CuraSceneNode(no_setting_override=True) + node2 = CuraSceneNode(no_setting_override=True) + with patch("UM.Scene.Selection.Selection.getAllSelectedObjects", MagicMock(return_value=[node1, node2])): + assert PrintOrderManager._getSingleSelectedNode() is None + + +def test_neighborNodeNamesCorrect_WhenSomeNodeSelected(): + node1 = CuraSceneNode(no_setting_override=True, name="node1") + node2 = CuraSceneNode(no_setting_override=True, name="node2") + node3 = CuraSceneNode(no_setting_override=True, name="node3") + node1.printOrder = 1 + node2.printOrder = 2 + node3.printOrder = 3 + with patch.object(PrintOrderManager, "_configureEvents", return_value=None): + with patch.object(PrintOrderManager, "_getSingleSelectedNode", return_value=node1): + print_order_manager = PrintOrderManager(get_nodes=lambda: [node1, node2, node3]) + + assert print_order_manager.previousNodeName == "" + assert print_order_manager.nextNodeName == "node2" + assert not print_order_manager.shouldEnablePrintBeforeAction + assert print_order_manager.shouldEnablePrintAfterAction + + print_order_manager.swapSelectedAndNextNodes() # swaps node1 with node2, result: [node2, node1, node3] + assert print_order_manager.previousNodeName == "node2" + assert print_order_manager.nextNodeName == "node3" + assert print_order_manager.shouldEnablePrintBeforeAction + assert print_order_manager.shouldEnablePrintAfterAction + + print_order_manager.swapSelectedAndNextNodes() # swaps node1 with node3, result: [node2, node3, node1] + assert print_order_manager.previousNodeName == "node3" + assert print_order_manager.nextNodeName == "" + assert print_order_manager.shouldEnablePrintBeforeAction + assert not print_order_manager.shouldEnablePrintAfterAction + + print_order_manager.swapSelectedAndPreviousNodes() # swaps node1 with node3, result: [node2, node1, node3] + assert print_order_manager.previousNodeName == "node2" + assert print_order_manager.nextNodeName == "node3" + assert print_order_manager.shouldEnablePrintBeforeAction + assert print_order_manager.shouldEnablePrintAfterAction + + print_order_manager.swapSelectedAndPreviousNodes() # swaps node1 with node2, result: [node1, node2, node3] + assert print_order_manager.previousNodeName == "" + assert print_order_manager.nextNodeName == "node2" + assert not print_order_manager.shouldEnablePrintBeforeAction + assert print_order_manager.shouldEnablePrintAfterAction + + +def test_neighborNodeNamesEmpty_WhenNothingSelected(): + node1 = CuraSceneNode(no_setting_override=True, name="node1") + node2 = CuraSceneNode(no_setting_override=True, name="node2") + node3 = CuraSceneNode(no_setting_override=True, name="node3") + node1.printOrder = 1 + node2.printOrder = 2 + node3.printOrder = 3 + with patch.object(PrintOrderManager, "_configureEvents", return_value=None): + with patch.object(PrintOrderManager, "_getSingleSelectedNode", return_value=None): + print_order_manager = PrintOrderManager(get_nodes=lambda: [node1, node2, node3]) + assert print_order_manager.previousNodeName == "" + assert print_order_manager.nextNodeName == "" + assert not print_order_manager.shouldEnablePrintBeforeAction + assert not print_order_manager.shouldEnablePrintAfterAction + + +def test_initializePrintOrders(): + node1 = CuraSceneNode(no_setting_override=True) + node2 = CuraSceneNode(no_setting_override=True) + + # assume print orders are 0 + assert node1.printOrder == 0 + assert node2.printOrder == 0 + + PrintOrderManager.initializePrintOrders([node1, node2]) + + # assert print orders initialized + assert node1.printOrder == 1 + assert node2.printOrder == 2 + + node3 = CuraSceneNode(no_setting_override=True) + node4 = CuraSceneNode(no_setting_override=True) + # assume print orders are 0 + assert node3.printOrder == 0 + assert node4.printOrder == 0 + + PrintOrderManager.initializePrintOrders([node2, node1, node3, node4]) + + # assert print orders not changed for node1 and node2 and initialized for node3 and node4 + assert node1.printOrder == 1 + assert node2.printOrder == 2 + assert node3.printOrder == 3 + assert node4.printOrder == 4 + + +def test_updatePrintOrdersAfterGroupOperation(): + node1 = CuraSceneNode(no_setting_override=True) + node2 = CuraSceneNode(no_setting_override=True) + node3 = CuraSceneNode(no_setting_override=True) + node4 = CuraSceneNode(no_setting_override=True) + node5 = CuraSceneNode(no_setting_override=True) + node1.printOrder = 1 + node2.printOrder = 2 + node3.printOrder = 3 + node4.printOrder = 4 + node5.printOrder = 5 + + all_nodes = [node1, node2, node3, node4, node5] + grouped_nodes = [node2, node4] + group_node = CuraSceneNode(no_setting_override=True) + + PrintOrderManager.updatePrintOrdersAfterGroupOperation(all_nodes, group_node, grouped_nodes) + + assert node1.printOrder == 1 + assert group_node.printOrder == 2 + assert node3.printOrder == 3 + assert node5.printOrder == 4 + + +def test_updatePrintOrdersAfterUngroupOperation(): + node1 = CuraSceneNode(no_setting_override=True) + node2 = CuraSceneNode(no_setting_override=True) + node3 = CuraSceneNode(no_setting_override=True) + node1.printOrder = 1 + node2.printOrder = 2 + node3.printOrder = 3 + + all_nodes = [node1, node2, node3] + node4 = CuraSceneNode(no_setting_override=True) + node5 = CuraSceneNode(no_setting_override=True) + + group_node = node2 + ungrouped_nodes = [node4, node5] + PrintOrderManager.updatePrintOrdersAfterUngroupOperation(all_nodes, group_node, ungrouped_nodes) + + assert node1.printOrder == 1 + assert node4.printOrder == 2 + assert node5.printOrder == 3 + assert node3.printOrder == 4 + + assert node1 in all_nodes + assert node2 not in all_nodes + assert node3 in all_nodes + assert node4 in all_nodes + assert node5 in all_nodes