diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index a6327de3b6..8a014c17bc 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -28,6 +28,6 @@ This fixes... OR This improves... --> - [ ] My code follows the style guidelines of this project as described in [UltiMaker Meta](https://github.com/Ultimaker/Meta) and [Cura QML best practices](https://github.com/Ultimaker/Cura/wiki/QML-Best-Practices) -- [ ] I have read the [Contribution guide](https://github.com/Ultimaker/Cura/blob/main/contributing.md) +- [ ] I have read the [Contribution guide](https://github.com/Ultimaker/Cura/blob/main/CONTRIBUTING.md) - [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] I have uploaded any files required to test this change \ No newline at end of file +- [ ] I have uploaded any files required to test this change diff --git a/.gitignore b/.gitignore index 45cf4400f6..048bb915c7 100644 --- a/.gitignore +++ b/.gitignore @@ -101,3 +101,4 @@ graph_info.json Ultimaker-Cura.spec .run/ /printer-linter/src/printerlinter.egg-info/ +/resources/qml/Dialogs/AboutDialogVersionsList.qml diff --git a/AboutDialogVersionsList.qml.jinja b/AboutDialogVersionsList.qml.jinja new file mode 100644 index 0000000000..0503469660 --- /dev/null +++ b/AboutDialogVersionsList.qml.jinja @@ -0,0 +1,61 @@ +import QtQuick 2.2 +import QtQuick.Controls 2.9 + +import UM 1.6 as UM +import Cura 1.5 as Cura + + +ListView +{ + id: projectBuildInfoList + visible: false + anchors.top: creditsNotes.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height + width: parent.width + height: base.height - y - (2 * UM.Theme.getSize("default_margin").height + closeButton.height) + + ScrollBar.vertical: UM.ScrollBar + { + id: projectBuildInfoListScrollBar + } + + delegate: Row + { + spacing: UM.Theme.getSize("narrow_margin").width + UM.Label + { + text: (model.name) + width: (projectBuildInfoList.width* 0.4) | 0 + elide: Text.ElideRight + } + UM.Label + { + text: (model.version) + width: (projectBuildInfoList.width *0.6) | 0 + elide: Text.ElideRight + } + + } + model: ListModel + { + id: developerInfo + } + Component.onCompleted: + { + var conan_installs = {{ conan_installs }}; + var python_installs = {{ python_installs }}; + developerInfo.append({ name : "

Conan Installs

", version : '' }); + for (var n in conan_installs) + { + developerInfo.append({ name : conan_installs[n][0], version : conan_installs[n][1] }); + } + developerInfo.append({ name : '', version : '' }); + developerInfo.append({ name : "

Python Installs

", version : '' }); + for (var n in python_installs) + { + developerInfo.append({ name : python_installs[n][0], version : python_installs[n][1] }); + } + + } +} + diff --git a/conanfile.py b/conanfile.py index 46e143cc10..d4f365c7a4 100644 --- a/conanfile.py +++ b/conanfile.py @@ -10,7 +10,7 @@ from conan.tools.env import VirtualRunEnv, Environment, VirtualBuildEnv from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration, ConanException -required_conan_version = "<=1.56.0" +required_conan_version = ">=1.54 <=1.56.0 || >=1.58.0 <2.0.0" class CuraConan(ConanFile): @@ -21,7 +21,7 @@ class CuraConan(ConanFile): description = "3D printer / slicing GUI built on top of the Uranium framework" topics = ("conan", "python", "pyqt6", "qt", "qml", "3d-printing", "slicer") build_policy = "missing" - exports = "LICENSE*", "UltiMaker-Cura.spec.jinja", "CuraVersion.py.jinja" + exports = "LICENSE*", "UltiMaker-Cura.spec.jinja", "CuraVersion.py.jinja", "AboutDialogVersionsList.qml.jinja" settings = "os", "compiler", "build_type", "arch" # FIXME: Remove specific branch once merged to main @@ -138,6 +138,37 @@ class CuraConan(ConanFile): return "'x86_64'" return "None" + def _generate_about_versions(self, location): + with open(os.path.join(self.recipe_folder, "AboutDialogVersionsList.qml.jinja"), "r") as f: + cura_version_py = Template(f.read()) + + conan_installs = [] + python_installs = [] + + # list of conan installs + for _, dependency in self.dependencies.host.items(): + conan_installs.append([dependency.ref.name,dependency.ref.version]) + + #list of python installs + outer = '"' if self.settings.os == "Windows" else "'" + inner = "'" if self.settings.os == "Windows" else '"' + python_ins_cmd = 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}" + from six import StringIO + buffer = StringIO() + self.run(python_ins_cmd, run_environment= True, env = "conanrun", output=buffer) + + packages = str(buffer.getvalue()).split("-----------------\n") + package = packages[1].strip('\r\n').split(";") + for pack in package: + python_installs.append(pack.split(",")) + + with open(os.path.join(location, "AboutDialogVersionsList.qml"), "w") as f: + f.write(cura_version_py.render( + conan_installs = conan_installs, + python_installs = python_installs + )) + + def _generate_cura_version(self, location): with open(os.path.join(self.recipe_folder, "CuraVersion.py.jinja"), "r") as f: cura_version_py = Template(f.read()) @@ -308,6 +339,7 @@ class CuraConan(ConanFile): self._generate_cura_version(os.path.join(self.source_folder, "cura")) + if self.options.devtools: entitlements_file = "'{}'".format(os.path.join(self.source_folder, "packaging", "MacOS", "cura.entitlements")) self._generate_pyinstaller_spec(location = self.generators_folder, @@ -325,6 +357,8 @@ class CuraConan(ConanFile): pot = self.python_requires["translationextractor"].module.ExtractTranslations(self, cpp_info.bindirs[0]) pot.generate() + self._generate_about_versions(os.path.join(self.source_folder, "resources","qml", "Dialogs")) + def build(self): if self.options.devtools: if self.settings.os != "Windows" or self.conf.get("tools.microsoft.bash:path", check_type = str): @@ -439,6 +473,8 @@ echo "CURA_APP_NAME={{ cura_app_name }}" >> ${{ env_prefix }}GITHUB_ENV icon_path = "'{}'".format(os.path.join(self.package_folder, self.cpp_info.resdirs[2], self.conan_data["pyinstaller"]["icon"][str(self.settings.os)])).replace("\\", "\\\\"), entitlements_file = entitlements_file if self.settings.os == "Macos" else "None") + self._generate_about_versions(os.path.join(self.source_folder, "resources", "qml", "Dialogs")) + def package(self): copy(self, "cura_app.py", src = self.source_folder, dst = os.path.join(self.package_folder, self.cpp.package.bindirs[0])) copy(self, "*", src = os.path.join(self.source_folder, "cura"), dst = os.path.join(self.package_folder, self.cpp.package.libdirs[0])) diff --git a/cura/CrashHandler.py b/cura/CrashHandler.py index e6214d7073..e2f20355c7 100644 --- a/cura/CrashHandler.py +++ b/cura/CrashHandler.py @@ -22,7 +22,7 @@ except ImportError: from PyQt6.QtCore import QT_VERSION_STR, PYQT_VERSION_STR, QUrl from PyQt6.QtWidgets import QDialog, QDialogButtonBox, QVBoxLayout, QLabel, QTextEdit, QGroupBox, QCheckBox, QPushButton -from PyQt6.QtGui import QDesktopServices +from PyQt6.QtGui import QDesktopServices, QTextCursor from UM.Application import Application from UM.Logger import Logger @@ -309,7 +309,7 @@ class CrashHandler: trace = "".join(trace_list) text_area.setText(trace) text_area.setReadOnly(True) - + text_area.moveCursor(QTextCursor.MoveOperation.End) # Move cursor to end, so we see last bit of the exception layout.addWidget(text_area) group.setLayout(layout) @@ -400,7 +400,7 @@ class CrashHandler: text_area.setText(logdata) text_area.setReadOnly(True) - + text_area.moveCursor(QTextCursor.MoveOperation.End) # Move cursor to end, so we see last bit of the log layout.addWidget(text_area) group.setLayout(layout) diff --git a/cura/Machines/Models/IntentSelectionModel.py b/cura/Machines/Models/IntentSelectionModel.py index 603244a12b..3df94e4ad8 100644 --- a/cura/Machines/Models/IntentSelectionModel.py +++ b/cura/Machines/Models/IntentSelectionModel.py @@ -71,15 +71,15 @@ class IntentSelectionModel(ListModel): def _update(self) -> None: Logger.log("d", "Updating {model_class_name}.".format(model_class_name = self.__class__.__name__)) - - global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack() + cura_application = cura.CuraApplication.CuraApplication.getInstance() + global_stack = cura_application.getGlobalContainerStack() if global_stack is None: self.setItems([]) Logger.log("d", "No active GlobalStack, set quality profile model as empty.") return # Check for material compatibility - if not cura.CuraApplication.CuraApplication.getInstance().getMachineManager().activeMaterialsCompatible(): + if not cura_application.getMachineManager().activeMaterialsCompatible(): Logger.log("d", "No active material compatibility, set quality profile model as empty.") self.setItems([]) return @@ -101,17 +101,18 @@ class IntentSelectionModel(ListModel): else: # There can be multiple intents with the same category, use one of these # intent-metadata's for the icon/description defintions for the intent - intent_metadata = cura.CuraApplication.CuraApplication \ - .getInstance() \ - .getContainerRegistry() \ - .findContainersMetadata(type="intent", definition=global_stack.definition.getId(), - intent_category=category)[0] + + + + intent_metadata = cura_application.getContainerRegistry().findContainersMetadata(type="intent", + definition=global_stack.findInstanceContainerDefinitionId(global_stack.definition), + intent_category=category)[0] intent_name = intent_metadata.get("name", category.title()) icon = intent_metadata.get("icon", None) description = intent_metadata.get("description", None) - if icon is not None: + if icon is not None and icon != '': try: icon = QUrl.fromLocalFile( Resources.getPath(cura.CuraApplication.CuraApplication.ResourceTypes.ImageFiles, icon)) diff --git a/cura/Machines/Models/MachineListModel.py b/cura/Machines/Models/MachineListModel.py index 74ef7ae7b4..69a3c53d03 100644 --- a/cura/Machines/Models/MachineListModel.py +++ b/cura/Machines/Models/MachineListModel.py @@ -110,22 +110,22 @@ class MachineListModel(ListModel): for abstract_machine in abstract_machine_stacks: definition_id = abstract_machine.definition.getId() - online_machine_stacks = machines_manager.getMachinesWithDefinition(definition_id, online_only = True) + connected_machine_stacks = machines_manager.getMachinesWithDefinition(definition_id, online_only = False) - online_machine_stacks = list(filter(lambda machine: machine.hasNetworkedConnection(), online_machine_stacks)) - online_machine_stacks.sort(key=lambda machine: machine.getName().upper()) + connected_machine_stacks = list(filter(lambda machine: machine.hasNetworkedConnection(), connected_machine_stacks)) + connected_machine_stacks.sort(key=lambda machine: machine.getName().upper()) if abstract_machine in other_machine_stacks: other_machine_stacks.remove(abstract_machine) - if abstract_machine in online_machine_stacks: - online_machine_stacks.remove(abstract_machine) + if abstract_machine in connected_machine_stacks: + connected_machine_stacks.remove(abstract_machine) # Create a list item for abstract machine - self.addItem(abstract_machine, True, len(online_machine_stacks)) + self.addItem(abstract_machine, True, len(connected_machine_stacks)) # Create list of machines that are children of the abstract machine - for stack in online_machine_stacks: + for stack in connected_machine_stacks: if self._show_cloud_printers: self.addItem(stack, True) # Remove this machine from the other stack list diff --git a/cura/Settings/CuraContainerStack.py b/cura/Settings/CuraContainerStack.py index 41502f8874..b5b8a1b721 100755 --- a/cura/Settings/CuraContainerStack.py +++ b/cura/Settings/CuraContainerStack.py @@ -359,7 +359,7 @@ class CuraContainerStack(ContainerStack): return self.definition @classmethod - def _findInstanceContainerDefinitionId(cls, machine_definition: DefinitionContainerInterface) -> str: + def findInstanceContainerDefinitionId(cls, machine_definition: DefinitionContainerInterface) -> str: """Find the ID that should be used when searching for instance containers for a specified definition. This handles the situation where the definition specifies we should use a different definition when @@ -379,7 +379,7 @@ class CuraContainerStack(ContainerStack): Logger.log("w", "Unable to find parent definition {parent} for machine {machine}", parent = quality_definition, machine = machine_definition.id) #type: ignore return machine_definition.id #type: ignore - return cls._findInstanceContainerDefinitionId(definitions[0]) + return cls.findInstanceContainerDefinitionId(definitions[0]) def getExtruderPositionValueWithDefault(self, key): """getProperty for extruder positions, with translation from -1 to default extruder number""" diff --git a/plugins/Marketplace/RemotePackageList.py b/plugins/Marketplace/RemotePackageList.py index d06d2c64c5..f8826ff395 100644 --- a/plugins/Marketplace/RemotePackageList.py +++ b/plugins/Marketplace/RemotePackageList.py @@ -21,6 +21,7 @@ catalog = i18nCatalog("cura") class RemotePackageList(PackageList): ITEMS_PER_PAGE = 20 # Pagination of number of elements to download at once. + SORT_TYPE = "last_updated" # Default value to send for sort_by filter. def __init__(self, parent: Optional["QObject"] = None) -> None: super().__init__(parent) @@ -28,6 +29,7 @@ class RemotePackageList(PackageList): self._package_type_filter = "" self._requested_search_string = "" self._current_search_string = "" + self._search_sort = "sort_by" self._search_type = "search" self._request_url = self._initialRequestUrl() self._ongoing_requests["get_packages"] = None @@ -102,6 +104,8 @@ class RemotePackageList(PackageList): request_url += f"&package_type={self._package_type_filter}" if self._current_search_string != "": request_url += f"&{self._search_type}={self._current_search_string}" + if self.SORT_TYPE: + request_url += f"&{self._search_sort}={self.SORT_TYPE}" return request_url def _parseResponse(self, reply: "QNetworkReply") -> None: diff --git a/plugins/Marketplace/resources/qml/Marketplace.qml b/plugins/Marketplace/resources/qml/Marketplace.qml index 97ba2303e9..8028b89e02 100644 --- a/plugins/Marketplace/resources/qml/Marketplace.qml +++ b/plugins/Marketplace/resources/qml/Marketplace.qml @@ -280,7 +280,7 @@ Window onClicked: { marketplaceDialog.hide(); - CuraApplication.closeApplication(); + CuraApplication.checkAndExitApplication(); } } } diff --git a/plugins/USBPrinting/AutoDetectBaudJob.py b/plugins/USBPrinting/AutoDetectBaudJob.py index 1b791f6187..1a7187be4d 100644 --- a/plugins/USBPrinting/AutoDetectBaudJob.py +++ b/plugins/USBPrinting/AutoDetectBaudJob.py @@ -21,7 +21,7 @@ class AutoDetectBaudJob(Job): self._all_baud_rates = [115200, 250000, 500000, 230400, 76800, 57600, 38400, 19200, 9600] def run(self) -> None: - Logger.log("d", "Auto detect baud rate started.") + Logger.debug(f"Auto detect baud rate started for {self._serial_port}") wait_response_timeouts = [3, 15, 30] wait_bootloader_times = [1.5, 5, 15] write_timeout = 3 @@ -46,8 +46,7 @@ class AutoDetectBaudJob(Job): wait_bootloader = wait_bootloader_times[retry] else: wait_bootloader = wait_bootloader_times[-1] - Logger.log("d", "Checking {serial} if baud rate {baud_rate} works. Retry nr: {retry}. Wait timeout: {timeout}".format( - serial = self._serial_port, baud_rate = baud_rate, retry = retry, timeout = wait_response_timeout)) + Logger.debug(f"Checking {self._serial_port} if baud rate {baud_rate} works. Retry nr: {retry}. Wait timeout: {wait_response_timeout}") if serial is None: try: @@ -61,7 +60,9 @@ class AutoDetectBaudJob(Job): serial.baudrate = baud_rate except ValueError: continue - sleep(wait_bootloader) # Ensure that we are not talking to the boot loader. 1.5 seconds seems to be the magic number + + # Ensure that we are not talking to the boot loader. 1.5 seconds seems to be the magic number + sleep(wait_bootloader) serial.write(b"\n") # Ensure we clear out previous responses serial.write(b"M105\n") @@ -83,4 +84,5 @@ class AutoDetectBaudJob(Job): serial.write(b"M105\n") sleep(15) # Give the printer some time to init and try again. + Logger.debug(f"Unable to find a working baudrate for {serial}") self.setResult(None) # Unable to detect the correct baudrate. diff --git a/resources/definitions/anycubic_kobra_plus.def.json b/resources/definitions/anycubic_kobra_plus.def.json new file mode 100644 index 0000000000..944398711f --- /dev/null +++ b/resources/definitions/anycubic_kobra_plus.def.json @@ -0,0 +1,29 @@ +{ + "version": 2, + "name": "Anycubic Kobra Plus", + "inherits": "fdmprinter", + "metadata": + { + "visible": true, + "author": "Jordon Brooks", + "manufacturer": "Anycubic", + "file_formats": "text/x-gcode", + "has_machine_quality": true, + "has_materials": true, + "machine_extruder_trains": { "0": "anycubic_kobra_plus_extruder_0" }, + "preferred_material": "generic_pla", + "preferred_quality_type": "normal", + "quality_definition": "anycubic_kobra_plus" + }, + "overrides": + { + "machine_depth": { "default_value": 302 }, + "machine_end_gcode": { "default_value": "M104 S0\nM140 S0\n;Retract the filament\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84\nM355 S0; led off" }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + "machine_heated_bed": { "default_value": true }, + "machine_height": { "default_value": 352 }, + "machine_name": { "default_value": "Anycubic Kobra Plus" }, + "machine_start_gcode": { "default_value": "G28 ;Home\nG1 Z15.0 F6000 ;Move the platform down 15mm\n;Prime the extruder\nG92 E0\nM355 S1; Turn LED on\n; Add Custom purge lines\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X1.0 Y30 Z0.3 F5000.0 ; Move to start position\nG1 X1.0 Y100.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X1.3 Y100.0 Z0.3 F5000.0 ; Move to side a little\nG1 X1.3 Y30 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 E-2 F500 ; Retract a little \nG1 X50 F500 ; wipe away from the filament line\nG1 X100 F9000 ; Quickly wipe away from the filament line\nG1 Z5.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\n; End custom purge lines" }, + "machine_width": { "default_value": 302 } + } +} \ No newline at end of file diff --git a/resources/definitions/anycubic_kossel.def.json b/resources/definitions/anycubic_kossel.def.json index 28d6ac141d..50ee14db4e 100644 --- a/resources/definitions/anycubic_kossel.def.json +++ b/resources/definitions/anycubic_kossel.def.json @@ -18,51 +18,6 @@ { "machine_center_is_zero": { "default_value": true }, "machine_depth": { "default_value": 180 }, - "machine_disallowed_areas": - { - "default_value": [ - [ - [-50, -85], - [-85, -85], - [-90, -90] - ], - [ - [-85, -85], - [-85, -50], - [-90, -90] - ], - [ - [50, -85], - [85, -85], - [90, -90] - ], - [ - [85, -85], - [85, -50], - [90, -90] - ], - [ - [-50, 85], - [-85, 85], - [-90, 90] - ], - [ - [-85, 85], - [-85, 50], - [-90, 90] - ], - [ - [50, 85], - [85, 85], - [90, 90] - ], - [ - [85, 85], - [85, 50], - [90, 90] - ] - ] - }, "machine_end_gcode": { "default_value": "M400 ;Free buffer\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 F{speed_travel} Z+1 E-5 ;move Z up a bit and retract filament even more\nG90 ;absolute positioning\nM104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off\nM107 ;fan off\nM84 ;steppers off\nG28 ;move to endstop\nM84 ;steppers off" }, "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, "machine_heated_bed": { "default_value": true }, diff --git a/resources/definitions/anycubic_kossel_linear_plus.def.json b/resources/definitions/anycubic_kossel_linear_plus.def.json index 8f8080d58f..4e35fff69a 100644 --- a/resources/definitions/anycubic_kossel_linear_plus.def.json +++ b/resources/definitions/anycubic_kossel_linear_plus.def.json @@ -16,51 +16,6 @@ "overrides": { "machine_depth": { "default_value": 240 }, - "machine_disallowed_areas": - { - "default_value": [ - [ - [-50, -115], - [-115, -115], - [-90, -90] - ], - [ - [-115, -115], - [-115, -50], - [-90, -90] - ], - [ - [50, -115], - [115, -115], - [90, -90] - ], - [ - [115, -115], - [115, -50], - [90, -90] - ], - [ - [-50, 115], - [-115, 115], - [-90, 90] - ], - [ - [-115, 115], - [-115, 50], - [-90, 90] - ], - [ - [50, 115], - [115, 115], - [90, 90] - ], - [ - [115, 115], - [115, 50], - [90, 90] - ] - ] - }, "machine_name": { "default_value": "Anycubic Kossel Linear Plus" }, "machine_width": { "default_value": 240 } } diff --git a/resources/definitions/creality_ender3pro.def.json b/resources/definitions/creality_ender3pro.def.json index de0d4ed0bf..aa5daa132b 100644 --- a/resources/definitions/creality_ender3pro.def.json +++ b/resources/definitions/creality_ender3pro.def.json @@ -23,7 +23,7 @@ }, "machine_height": { "default_value": 250 }, "machine_name": { "default_value": "Creality Ender-3 Pro" }, - "machine_start_gcode": { "default_value": "; Ender 3 Custom Start G-code\nG92 E0 ; Reset Extruder\nG28 ; Home all axes\nM104 S{material_standby_temperature} ; Start heating up the nozzle most of the way\nM190 S{material_bed_temperature_layer_0} ; Start heating the bed, wait until target temperature reached\nM109 S{material_print_temperature_layer_0} ; Finish heating the nozzle\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish" }, + "machine_start_gcode": { "default_value": "; Ender 3 Custom Start G-code\nG92 E0 ; Reset Extruder\nG28 ; Home all axes\nG1 Z5.0 F3000 ; Move Z Axis up a bit during heating to not damage bed\nM104 S{material_standby_temperature} ; Start heating up the nozzle most of the way\nM190 S{material_bed_temperature_layer_0} ; Start heating the bed, wait until target temperature reached\nM109 S{material_print_temperature_layer_0} ; Finish heating the nozzle\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish" }, "machine_width": { "default_value": 220 } } } \ No newline at end of file diff --git a/resources/definitions/creality_ender3s1.def.json b/resources/definitions/creality_ender3s1.def.json index 37e69d72c0..62405572d7 100644 --- a/resources/definitions/creality_ender3s1.def.json +++ b/resources/definitions/creality_ender3s1.def.json @@ -24,7 +24,7 @@ }, "machine_height": { "default_value": 270 }, "machine_name": { "default_value": "Creality Ender-3 S1" }, - "machine_start_gcode": { "default_value": "; Ender 3 S1 Start G-code\n; M413 S0 ; Disable power loss recovery\nG92 E0 ; Reset Extruder\n\n; Prep surfaces before auto home for better accuracy\nM140 S{material_bed_temperature_layer_0}\nM104 S{material_print_temperature_layer_0}\n\nG28 O ; Home all untrusted axes\nG1 Z10.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0 Y0\n\nM190 S{material_bed_temperature_layer_0}\nM109 S{material_print_temperature_layer_0}\n\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish\n" }, + "machine_start_gcode": { "default_value": "; Ender 3 S1 Start G-code\n; M413 S0 ; Disable power loss recovery\nG92 E0 ; Reset Extruder\n\n; Prep surfaces before auto home for better accuracy\nM140 S{material_bed_temperature_layer_0}\nM104 S{material_print_temperature_layer_0}\n\nG28 ; Home all axes\nG1 Z10.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0 Y0\n\nM190 S{material_bed_temperature_layer_0}\nM109 S{material_print_temperature_layer_0}\n\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish\n" }, "machine_width": { "default_value": 220 }, "retraction_amount": { "value": 0.8 }, "retraction_extrusion_window": { "value": 1.5 }, diff --git a/resources/definitions/creality_ender3s1plus.def.json b/resources/definitions/creality_ender3s1plus.def.json index 61da5b690e..0982104cd9 100644 --- a/resources/definitions/creality_ender3s1plus.def.json +++ b/resources/definitions/creality_ender3s1plus.def.json @@ -24,7 +24,7 @@ }, "machine_height": { "default_value": 300 }, "machine_name": { "default_value": "Creality Ender-3 S1 Plus" }, - "machine_start_gcode": { "default_value": "; Ender 3 S1 Plus Start G-code\n; M413 S0 ; Disable power loss recovery\nG92 E0 ; Reset Extruder\n\n; Prep surfaces before auto home for better accuracy\nM140 S{material_bed_temperature_layer_0}\nM104 S{material_print_temperature_layer_0}\n\nG28 O ; Home all untrusted axes\nG1 Z10.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0 Y0\n\nM190 S{material_bed_temperature_layer_0}\nM109 S{material_print_temperature_layer_0}\n\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish\n" }, + "machine_start_gcode": { "default_value": "; Ender 3 S1 Plus Start G-code\n; M413 S0 ; Disable power loss recovery\nG92 E0 ; Reset Extruder\n\n; Prep surfaces before auto home for better accuracy\nM140 S{material_bed_temperature_layer_0}\nM104 S{material_print_temperature_layer_0}\n\nG28 ; Home all axes\nG1 Z10.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0 Y0\n\nM190 S{material_bed_temperature_layer_0}\nM109 S{material_print_temperature_layer_0}\n\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish\n" }, "machine_width": { "default_value": 300 }, "retraction_amount": { "value": 0.8 }, "retraction_extrusion_window": { "value": 1.5 }, diff --git a/resources/definitions/creality_ender3s1pro.def.json b/resources/definitions/creality_ender3s1pro.def.json index ba5d22e2dc..d375a904de 100644 --- a/resources/definitions/creality_ender3s1pro.def.json +++ b/resources/definitions/creality_ender3s1pro.def.json @@ -24,7 +24,7 @@ }, "machine_height": { "default_value": 270 }, "machine_name": { "default_value": "Creality Ender-3 S1 Pro" }, - "machine_start_gcode": { "default_value": "; Ender 3 S1 Pro Start G-code\n; M413 S0 ; Disable power loss recovery\nG92 E0 ; Reset Extruder\n\n; Prep surfaces before auto home for better accuracy\nM140 S{material_bed_temperature_layer_0}\nM104 S{material_print_temperature_layer_0}\n\nG28 O ; Home all untrusted axes\nG1 Z10.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0 Y0\n\nM190 S{material_bed_temperature_layer_0}\nM109 S{material_print_temperature_layer_0}\n\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish\n" }, + "machine_start_gcode": { "default_value": "; Ender 3 S1 Pro Start G-code\n; M413 S0 ; Disable power loss recovery\nG92 E0 ; Reset Extruder\n\n; Prep surfaces before auto home for better accuracy\nM140 S{material_bed_temperature_layer_0}\nM104 S{material_print_temperature_layer_0}\n\nG28 ; Home all axes\nG1 Z10.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0 Y0\n\nM190 S{material_bed_temperature_layer_0}\nM109 S{material_print_temperature_layer_0}\n\nG1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish\n" }, "machine_width": { "default_value": 220 }, "retraction_amount": { "value": 0.8 }, "retraction_extrusion_window": { "value": 1.5 }, diff --git a/resources/definitions/creality_ender5s1.def.json b/resources/definitions/creality_ender5s1.def.json new file mode 100644 index 0000000000..32dbf75b02 --- /dev/null +++ b/resources/definitions/creality_ender5s1.def.json @@ -0,0 +1,37 @@ +{ + "version": 2, + "name": "Creality Ender-5 S1", + "inherits": "creality_base", + "metadata": + { + "visible": true, + "quality_definition": "creality_base" + }, + "overrides": + { + "build_volume_temperature": { "value": 195 }, + "cool_min_layer_time": { "value": 5 }, + "gantry_height": { "value": 25 }, + "machine_depth": { "default_value": 225 }, + "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 Z10 ;Raise Z more\nG90 ;Absolute positionning\n\nG1 X0 Y0 ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\n\nM84 X Y E ;Disable all steppers but Z\n" }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [-26, 34], + [-26, -32], + [32, -32], + [32, 34] + ] + }, + "machine_height": { "default_value": 305 }, + "machine_name": { "default_value": "Creality Ender-5 S1" }, + "machine_width": { "default_value": 225 }, + "material_bed_temperature": { "value": 60 }, + "retraction_amount": { "value": 2 }, + "retraction_speed": { "value": 45 }, + "speed_print": { "value": 80.0 }, + "support_z_distance": { "value": 0.25 }, + "wall_thickness": { "value": "line_width * 3" }, + "z_seam_type": { "value": "'sharpest_corner'" } + } +} \ No newline at end of file diff --git a/resources/definitions/entina_tina2.def.json b/resources/definitions/entina_tina2.def.json new file mode 100644 index 0000000000..7e6b18a982 --- /dev/null +++ b/resources/definitions/entina_tina2.def.json @@ -0,0 +1,200 @@ +{ + "version": 2, + "name": "ENTINA TINA2", + "inherits": "weedo_base", + "metadata": + { + "visible": true, + "author": "ENTINA", + "manufacturer": "ENTINA", + "file_formats": "text/x-gcode", + "exclude_materials": [ + "3D-Fuel_PLA_PRO_Black", + "3D-Fuel_PLA_SnapSupport", + "bestfilament_abs_skyblue", + "bestfilament_petg_orange", + "bestfilament_pla_green", + "leapfrog_abs_natural", + "leapfrog_epla_natural", + "leapfrog_pva_natural", + "generic_abs_175", + "generic_asa_175", + "generic_bvoh_175", + "generic_cpe_175", + "generic_hips_175", + "generic_nylon_175", + "generic_pc_175", + "generic_petg_175", + "generic_pva_175", + "goofoo_abs", + "goofoo_asa", + "goofoo_bronze_pla", + "goofoo_emarble_pla", + "goofoo_esilk_pla", + "goofoo_hips", + "goofoo_pa_cf", + "goofoo_pa", + "goofoo_pc", + "goofoo_peek", + "goofoo_petg", + "goofoo_pla", + "goofoo_pva", + "goofoo_tpe_83a", + "goofoo_tpu_87a", + "goofoo_tpu_95a", + "goofoo_wood_pla", + "emotiontech_abs", + "emotiontech_absx", + "emotiontech_acetate", + "emotiontech_asax", + "emotiontech_bvoh", + "emotiontech_copa", + "emotiontech_hips", + "emotiontech_nylon_1030", + "emotiontech_nylon_1030cf", + "emotiontech_nylon_1070", + "emotiontech_pc", + "emotiontech_pekk", + "emotiontech_petg", + "emotiontech_pla", + "emotiontech_pla_hr_870", + "emotiontech_pva-m", + "emotiontech_pva-s", + "emotiontech_tpu98a", + "eryone_petg", + "eryone_pla_glow", + "eryone_pla_matte", + "eryone_pla_wood", + "eryone_pla", + "eryone_tpu", + "eSUN_PETG_Black", + "eSUN_PETG_Grey", + "eSUN_PETG_Purple", + "eSUN_PLA_PRO_Black", + "eSUN_PLA_PRO_Grey", + "eSUN_PLA_PRO_Purple", + "eSUN_PLA_PRO_White", + "Extrudr_GreenTECPro_Anthracite_175", + "Extrudr_GreenTECPro_Black_175", + "Extrudr_GreenTECPro_Blue_175", + "Extrudr_GreenTECPro_Nature_175", + "Extrudr_GreenTECPro_Red_175", + "Extrudr_GreenTECPro_Silver_175", + "Extrudr_GreenTECPro_White_175", + "verbatim_bvoh_175", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "chromatik_pla", + "dsm_arnitel2045_175", + "dsm_novamid1070_175", + "fabtotum_abs", + "fabtotum_nylon", + "fabtotum_pla", + "fabtotum_tpu", + "fdplast_abs_tomato", + "fdplast_petg_gray", + "fdplast_pla_olive", + "fiberlogy_hd_pla", + "filo3d_pla", + "filo3d_pla_green", + "filo3d_pla_red", + "imade3d_petg_green", + "imade3d_petg_pink", + "imade3d_pla_green", + "imade3d_pla_pink", + "imade3d_petg_175", + "imade3d_pla_175", + "innofill_innoflex60_175", + "layer_one_black_pla", + "layer_one_dark_gray_pla", + "layer_one_white_pla", + "octofiber_pla", + "polyflex_pla", + "polymax_pla", + "polyplus_pla", + "polywood_pla", + "redd_abs", + "redd_asa", + "redd_hips", + "redd_nylon", + "redd_petg", + "redd_pla", + "redd_tpe", + "tizyx_abs", + "tizyx_flex", + "tizyx_petg", + "tizyx_pla_bois", + "tizyx_pla", + "tizyx_pva", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA_Glitter", + "Vertex_Delta_PLA_Mat", + "Vertex_Delta_PLA_Satin", + "Vertex_Delta_PLA_Wood", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "volumic_abs_ultra", + "volumic_arma_ultra", + "volumic_asa_ultra", + "volumic_br80_ultra", + "volumic_bumper_ultra", + "volumic_cu80_ultra", + "volumic_flex93_ultra", + "volumic_medical_ultra", + "volumic_nylon_ultra", + "volumic_pekk_carbone", + "volumic_petg_ultra", + "volumic_petgcarbone_ultra", + "volumic_pla_ultra", + "volumic_pp_ultra", + "volumic_strong_ultra", + "volumic_support_ultra", + "xyzprinting_abs", + "xyzprinting_antibact_pla", + "xyzprinting_carbon_fiber", + "xyzprinting_colorinkjet_pla", + "xyzprinting_flexible", + "xyzprinting_metallic_pla", + "xyzprinting_nylon", + "xyzprinting_petg", + "xyzprinting_pla", + "xyzprinting_tough_pla", + "xyzprinting_tpu", + "zyyx_pro_flex", + "zyyx_pro_pla" + ], + "platform_offset": [ + 0, + 0, + 0 + ] + }, + "overrides": + { + "infill_pattern": { "value": "'lines' if infill_sparse_density > 45 else 'grid'" }, + "machine_depth": { "default_value": 120 }, + "machine_end_gcode": { "default_value": ";(**** end.gcode for tina2****)\nM203 Z15\nM104 S0\nM107\nG92 E0 (Reset after prime)\nG0 E-1 F300\nG28 Z F300\nG28 X0 Y0\nG1 Y90 F1000" }, + "machine_heated_bed": { "default_value": false }, + "machine_height": { "default_value": 100 }, + "machine_name": { "default_value": "ENTINA TINA2" }, + "machine_start_gcode": { "default_value": ";MachineType:{machine_name}\n;FilamentType:{material_type}\n;InfillDensity:{infill_sparse_density}\n;Extruder0Temperature:{material_print_temperature}\n\n;(**** start.gcode for tina2****)\nM203 Z15\nM104 S150\nG28 Z\nG28 X Y; Home extruder\nG1 X55 Y55 F1000\nG29\nM107 ; Turn off fan\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nM109 S{material_print_temperature_layer_0}\nG92 E0 ; Reset extruder position\nG1 X90 Y6 Z0.27 F2000\nG1 X20 Y6 Z0.27 E15 F1000\nG92 E0 ; Reset extruder position\nM203 Z5" }, + "machine_width": { "default_value": 100 }, + "raft_base_thickness": { "value": 0.35 }, + "speed_infill": { "value": 40.0 }, + "speed_print": { "value": 40.0 }, + "speed_print_layer_0": { "value": 22.0 }, + "speed_roofing": { "value": 25.0 }, + "speed_support_bottom": { "value": 30.0 }, + "speed_support_infill": { "value": 45.0 }, + "speed_support_roof": { "value": 30.0 }, + "speed_topbottom": { "value": 30.0 }, + "speed_travel": { "value": 65.0 }, + "speed_travel_layer_0": { "value": 60 }, + "speed_wall": { "value": 25.0 }, + "speed_wall_0": { "value": 20.0 }, + "speed_wall_x": { "value": 25.0 } + } +} \ No newline at end of file diff --git a/resources/definitions/entina_tina2s.def.json b/resources/definitions/entina_tina2s.def.json new file mode 100644 index 0000000000..82dc85b36e --- /dev/null +++ b/resources/definitions/entina_tina2s.def.json @@ -0,0 +1,201 @@ +{ + "version": 2, + "name": "ENTINA TINA2S", + "inherits": "weedo_base", + "metadata": + { + "visible": true, + "author": "ENTINA", + "manufacturer": "ENTINA", + "file_formats": "text/x-gcode", + "exclude_materials": [ + "3D-Fuel_PLA_PRO_Black", + "3D-Fuel_PLA_SnapSupport", + "bestfilament_abs_skyblue", + "bestfilament_petg_orange", + "bestfilament_pla_green", + "leapfrog_abs_natural", + "leapfrog_epla_natural", + "leapfrog_pva_natural", + "generic_abs_175", + "generic_asa_175", + "generic_cpe_175", + "generic_nylon_175", + "generic_pc_175", + "generic_petg_175", + "generic_pva_175", + "goofoo_abs", + "goofoo_asa", + "goofoo_bronze_pla", + "goofoo_emarble_pla", + "goofoo_esilk_pla", + "goofoo_hips", + "goofoo_pa_cf", + "goofoo_pa", + "goofoo_pc", + "goofoo_peek", + "goofoo_petg", + "goofoo_pla", + "goofoo_pva", + "goofoo_tpe_83a", + "goofoo_tpu_87a", + "goofoo_tpu_95a", + "goofoo_wood_pla", + "emotiontech_abs", + "emotiontech_absx", + "emotiontech_acetate", + "emotiontech_asax", + "emotiontech_bvoh", + "emotiontech_copa", + "emotiontech_hips", + "emotiontech_nylon_1030", + "emotiontech_nylon_1030cf", + "emotiontech_nylon_1070", + "emotiontech_pc", + "emotiontech_pekk", + "emotiontech_petg", + "emotiontech_pla", + "emotiontech_pla_hr_870", + "emotiontech_pva-m", + "emotiontech_pva-s", + "emotiontech_tpu98a", + "eryone_petg", + "eryone_pla_glow", + "eryone_pla_matte", + "eryone_pla_wood", + "eryone_pla", + "eryone_tpu", + "eSUN_PETG_Black", + "eSUN_PETG_Grey", + "eSUN_PETG_Purple", + "eSUN_PLA_PRO_Black", + "eSUN_PLA_PRO_Grey", + "eSUN_PLA_PRO_Purple", + "eSUN_PLA_PRO_White", + "Extrudr_GreenTECPro_Anthracite_175", + "Extrudr_GreenTECPro_Black_175", + "Extrudr_GreenTECPro_Blue_175", + "Extrudr_GreenTECPro_Nature_175", + "Extrudr_GreenTECPro_Red_175", + "Extrudr_GreenTECPro_Silver_175", + "Extrudr_GreenTECPro_White_175", + "verbatim_bvoh_175", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "chromatik_pla", + "dsm_arnitel2045_175", + "dsm_novamid1070_175", + "fabtotum_abs", + "fabtotum_nylon", + "fabtotum_pla", + "fabtotum_tpu", + "fdplast_abs_tomato", + "fdplast_petg_gray", + "fdplast_pla_olive", + "fiberlogy_hd_pla", + "filo3d_pla", + "filo3d_pla_green", + "filo3d_pla_red", + "imade3d_petg_green", + "imade3d_petg_pink", + "imade3d_pla_green", + "imade3d_pla_pink", + "imade3d_petg_175", + "imade3d_pla_175", + "innofill_innoflex60_175", + "layer_one_black_pla", + "layer_one_dark_gray_pla", + "layer_one_white_pla", + "octofiber_pla", + "polyflex_pla", + "polymax_pla", + "polyplus_pla", + "polywood_pla", + "redd_abs", + "redd_asa", + "redd_hips", + "redd_nylon", + "redd_petg", + "redd_pla", + "redd_tpe", + "tizyx_abs", + "tizyx_flex", + "tizyx_petg", + "tizyx_pla_bois", + "tizyx_pla", + "tizyx_pva", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA_Glitter", + "Vertex_Delta_PLA_Mat", + "Vertex_Delta_PLA_Satin", + "Vertex_Delta_PLA_Wood", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "volumic_abs_ultra", + "volumic_arma_ultra", + "volumic_asa_ultra", + "volumic_br80_ultra", + "volumic_bumper_ultra", + "volumic_cu80_ultra", + "volumic_flex93_ultra", + "volumic_medical_ultra", + "volumic_nylon_ultra", + "volumic_pekk_carbone", + "volumic_petg_ultra", + "volumic_petgcarbone_ultra", + "volumic_pla_ultra", + "volumic_pp_ultra", + "volumic_strong_ultra", + "volumic_support_ultra", + "xyzprinting_abs", + "xyzprinting_antibact_pla", + "xyzprinting_carbon_fiber", + "xyzprinting_colorinkjet_pla", + "xyzprinting_flexible", + "xyzprinting_metallic_pla", + "xyzprinting_nylon", + "xyzprinting_petg", + "xyzprinting_pla", + "xyzprinting_tough_pla", + "xyzprinting_tpu", + "zyyx_pro_flex", + "zyyx_pro_pla" + ], + "platform_offset": [ + 0, + 0, + 0 + ] + }, + "overrides": + { + "machine_depth": { "default_value": 110 }, + "machine_end_gcode": { "default_value": ";(**** end.gcode for tina2****)\nM203 Z15\nM104 S0\nM107\nG92 E0 (Reset after prime)\nG0 E-1 F300\nG28 Z F300\nG28 X0 Y0\nG1 Y90 F1000" }, + "machine_height": { "default_value": 100 }, + "machine_name": { "default_value": "ENTINA TINA2S" }, + "machine_start_gcode": { "default_value": ";MachineType:{machine_name}\n;FilamentType:{material_type}\n;InfillDensity:{infill_sparse_density}\n;Extruder0Temperature:{material_print_temperature}\n;BedTemperature:{material_bed_temperature}\n\n;(**** start.gcode for tina2****)\nM203 Z15\nM104 S150\nG28 Z\nG28 X Y; Home extruder\nG1 X55 Y55 F1000\nG29\nM107 ; Turn off fan\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nM109 S{material_print_temperature_layer_0}\nG92 E0 ; Reset extruder position\nG1 X90 Y6 Z0.27 F2000\nG1 X20 Y6 Z0.27 E15 F1000\nG92 E0 ; Reset extruder position\nM203 Z5" }, + "machine_width": { "default_value": 100 }, + "material_bed_temperature": + { + "maximum_value": "65", + "maximum_value_warning": "60" + }, + "raft_base_thickness": { "value": 0.35 }, + "speed_infill": { "value": 40.0 }, + "speed_print": { "value": 40.0 }, + "speed_print_layer_0": { "value": 22.0 }, + "speed_roofing": { "value": 25.0 }, + "speed_support_bottom": { "value": 30.0 }, + "speed_support_infill": { "value": 45.0 }, + "speed_support_roof": { "value": 30.0 }, + "speed_topbottom": { "value": 30.0 }, + "speed_travel": { "value": 65.0 }, + "speed_travel_layer_0": { "value": 60 }, + "speed_wall": { "value": 25.0 }, + "speed_wall_0": { "value": 20.0 }, + "speed_wall_x": { "value": 25.0 } + } +} \ No newline at end of file diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 915a550a33..d1c532a32d 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1289,7 +1289,7 @@ "hole_xy_offset": { "label": "Hole Horizontal Expansion", - "description": "Amount of offset applied to all holes in each layer. Positive values increase the size of the holes, negative values reduce the size of the holes.", + "description": "When greater than zero, the Hole Horizontal Expansion is the amount of offset applied to all holes in each layer. Positive values increase the size of the holes, negative values reduce the size of the holes. When this setting is enabled it can be further tuned with Hole Horizontal Expansion Max Diameter.", "unit": "mm", "type": "float", "minimum_value_warning": "-1", diff --git a/resources/definitions/kingroon_kp3s_pro.def.json b/resources/definitions/kingroon_kp3s_pro.def.json index 3d768e3bd0..79a4916680 100644 --- a/resources/definitions/kingroon_kp3s_pro.def.json +++ b/resources/definitions/kingroon_kp3s_pro.def.json @@ -6,7 +6,8 @@ { "visible": true, "platform": "kingroon_kp3s.stl", - "quality_definition": "kingroon_base" + "quality_definition": "kingroon_base", + "author": "willuhmjs" }, "overrides": { @@ -33,4 +34,4 @@ "retraction_speed": { "value": 40 }, "speed_z_hop": { "value": 4 } } -} \ No newline at end of file +} diff --git a/resources/definitions/weedo_base.def.json b/resources/definitions/weedo_base.def.json index 0a43dae8cc..bbc1fcd09e 100644 --- a/resources/definitions/weedo_base.def.json +++ b/resources/definitions/weedo_base.def.json @@ -9,19 +9,154 @@ "manufacturer": "WEEDO", "file_formats": "text/x-gcode", "exclude_materials": [ - "Extrudr_GreenTECPro_Anthracite", - "Extrudr_GreenTECPro_Black", - "Extrudr_GreenTECPro_Blue", - "Extrudr_GreenTECPro_Nature", - "Extrudr_GreenTECPro_Red", - "Extrudr_GreenTECPro_Silver", - "Extrudr_GreenTECPro_White", - "verbatim_bvoh", - "dsm_arnitel2045", - "dsm_novamid1070", - "imade3d_petg", - "imade3d_pla", - "innofill_innoflex60" + "3D-Fuel_PLA_PRO_Black", + "3D-Fuel_PLA_SnapSupport", + "bestfilament_abs_skyblue", + "bestfilament_petg_orange", + "bestfilament_pla_green", + "leapfrog_abs_natural", + "leapfrog_epla_natural", + "leapfrog_pva_natural", + "generic_pc_175", + "goofoo_abs", + "goofoo_asa", + "goofoo_bronze_pla", + "goofoo_emarble_pla", + "goofoo_esilk_pla", + "goofoo_hips", + "goofoo_pa_cf", + "goofoo_pa", + "goofoo_pc", + "goofoo_peek", + "goofoo_petg", + "goofoo_pla", + "goofoo_pva", + "goofoo_tpe_83a", + "goofoo_tpu_87a", + "goofoo_tpu_95a", + "goofoo_wood_pla", + "emotiontech_abs", + "emotiontech_absx", + "emotiontech_acetate", + "emotiontech_asax", + "emotiontech_bvoh", + "emotiontech_copa", + "emotiontech_hips", + "emotiontech_nylon_1030", + "emotiontech_nylon_1030cf", + "emotiontech_nylon_1070", + "emotiontech_pc", + "emotiontech_pekk", + "emotiontech_petg", + "emotiontech_pla", + "emotiontech_pla_hr_870", + "emotiontech_pva-m", + "emotiontech_pva-s", + "emotiontech_tpu98a", + "eryone_petg", + "eryone_pla_glow", + "eryone_pla_matte", + "eryone_pla_wood", + "eryone_pla", + "eryone_tpu", + "eSUN_PETG_Black", + "eSUN_PETG_Grey", + "eSUN_PETG_Purple", + "eSUN_PLA_PRO_Black", + "eSUN_PLA_PRO_Grey", + "eSUN_PLA_PRO_Purple", + "eSUN_PLA_PRO_White", + "Extrudr_GreenTECPro_Anthracite_175", + "Extrudr_GreenTECPro_Black_175", + "Extrudr_GreenTECPro_Blue_175", + "Extrudr_GreenTECPro_Nature_175", + "Extrudr_GreenTECPro_Red_175", + "Extrudr_GreenTECPro_Silver_175", + "Extrudr_GreenTECPro_White_175", + "verbatim_bvoh_175", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "chromatik_pla", + "dsm_arnitel2045_175", + "dsm_novamid1070_175", + "fabtotum_abs", + "fabtotum_nylon", + "fabtotum_pla", + "fabtotum_tpu", + "fdplast_abs_tomato", + "fdplast_petg_gray", + "fdplast_pla_olive", + "fiberlogy_hd_pla", + "filo3d_pla", + "filo3d_pla_green", + "filo3d_pla_red", + "imade3d_petg_green", + "imade3d_petg_pink", + "imade3d_pla_green", + "imade3d_pla_pink", + "imade3d_petg_175", + "imade3d_pla_175", + "innofill_innoflex60_175", + "layer_one_black_pla", + "layer_one_dark_gray_pla", + "layer_one_white_pla", + "octofiber_pla", + "polyflex_pla", + "polymax_pla", + "polyplus_pla", + "polywood_pla", + "redd_abs", + "redd_asa", + "redd_hips", + "redd_nylon", + "redd_petg", + "redd_pla", + "redd_tpe", + "tizyx_abs", + "tizyx_flex", + "tizyx_petg", + "tizyx_pla_bois", + "tizyx_pla", + "tizyx_pva", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA_Glitter", + "Vertex_Delta_PLA_Mat", + "Vertex_Delta_PLA_Satin", + "Vertex_Delta_PLA_Wood", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "volumic_abs_ultra", + "volumic_arma_ultra", + "volumic_asa_ultra", + "volumic_br80_ultra", + "volumic_bumper_ultra", + "volumic_cu80_ultra", + "volumic_flex93_ultra", + "volumic_medical_ultra", + "volumic_nylon_ultra", + "volumic_pekk_carbone", + "volumic_petg_ultra", + "volumic_petgcarbone_ultra", + "volumic_pla_ultra", + "volumic_pp_ultra", + "volumic_strong_ultra", + "volumic_support_ultra", + "xyzprinting_abs", + "xyzprinting_antibact_pla", + "xyzprinting_carbon_fiber", + "xyzprinting_colorinkjet_pla", + "xyzprinting_flexible", + "xyzprinting_metallic_pla", + "xyzprinting_nylon", + "xyzprinting_petg", + "xyzprinting_pla", + "xyzprinting_tough_pla", + "xyzprinting_tpu", + "zyyx_pro_flex", + "zyyx_pro_pla" ], "has_machine_quality": false, "has_materials": true, @@ -33,63 +168,91 @@ "overrides": { "adhesion_type": { "default_value": "raft" }, - "default_material_bed_temperature": { "default_value": 35 }, - "extruder_prime_pos_x": - { - "maximum_value": "machine_width", - "minimum_value": "0" - }, - "extruder_prime_pos_y": - { - "maximum_value": "machine_depth", - "minimum_value": "0" - }, - "infill_sparse_density": { "default_value": 10 }, - "machine_endstop_positive_direction_x": { "default_value": true }, - "machine_endstop_positive_direction_y": { "default_value": true }, - "machine_endstop_positive_direction_z": { "default_value": false }, - "machine_feeder_wheel_diameter": { "default_value": 10.61 }, - "machine_max_feedrate_e": { "default_value": 45 }, - "machine_max_feedrate_x": { "default_value": 250 }, - "machine_max_feedrate_y": { "default_value": 250 }, + "draft_shield_dist": { "default_value": 3 }, + "infill_before_walls": { "default_value": false }, + "infill_line_width": { "value": "line_width * 1.25" }, + "infill_material_flow": { "value": "max(0, material_flow - 5)" }, + "infill_pattern": { "value": "'zigzag'" }, + "infill_sparse_density": { "default_value": 10.0 }, + "initial_layer_line_width_factor": { "default_value": 110.0 }, + "layer_0_z_overlap": { "value": 0.09 }, + "machine_acceleration": { "default_value": 3000 }, + "machine_end_gcode": { "default_value": "G92 E0\nG1 E-3 F1680 \nG28 Z F400; Get extruder out of way.\nM107 ; Turn off fan\n; Disable all extruder\nM104 T0 S0\nG90 ; Absolute positioning\nG92 E0 ; Reset extruder position\nM84 ; Turn steppers off\n" }, + "machine_heated_bed": { "default_value": true }, + "machine_max_acceleration_e": { "default_value": 1600 }, + "machine_max_acceleration_x": { "default_value": 3000 }, + "machine_max_acceleration_y": { "default_value": 3000 }, + "machine_max_acceleration_z": { "default_value": 120 }, + "machine_max_feedrate_e": { "default_value": 50 }, + "machine_max_feedrate_x": { "default_value": 200 }, + "machine_max_feedrate_y": { "default_value": 130 }, "machine_max_feedrate_z": { "default_value": 10 }, - "machine_nozzle_size": { "default_value": 0.4 }, + "machine_max_jerk_e": { "default_value": 5.1 }, + "machine_max_jerk_xy": { "default_value": 10.0 }, + "machine_max_jerk_z": { "default_value": 5 }, + "machine_min_cool_heat_time_window": { "default_value": 1200.0 }, + "machine_name": { "default_value": "WEEDO Base" }, + "machine_nozzle_cool_down_speed": { "default_value": 0.67 }, + "machine_nozzle_heat_up_speed": { "default_value": 1.8 }, + "machine_nozzle_tip_outer_diameter": { "default_value": 0.8 }, + "machine_start_gcode": { "default_value": "G28 ;Home\nG92 E0\nG1 F200 E3\nG92 E0" }, "machine_steps_per_mm_e": { "default_value": 96 }, "machine_steps_per_mm_x": { "default_value": 94 }, "machine_steps_per_mm_y": { "default_value": 94 }, "machine_steps_per_mm_z": { "default_value": 400 }, "material_bed_temp_wait": { "default_value": false }, + "material_bed_temperature": { "maximum_value_warning": "96" }, "material_diameter": { "default_value": 1.75 }, - "material_flow": { "default_value": 95 }, - "material_print_temp_prepend": { "default_value": false }, + "material_final_print_temperature": { "value": "material_print_temperature" }, + "material_flow": { "default_value": 95.0 }, + "material_flow_layer_0": { "default_value": 95.0 }, + "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_print_temp_wait": { "default_value": false }, - "material_standby_temperature": { "minimum_value": "0" }, - "prime_tower_min_volume": { "default_value": 10 }, - "prime_tower_size": { "default_value": 15 }, - "raft_airgap": { "default_value": 0.22 }, - "raft_base_speed": { "value": 20 }, - "raft_interface_speed": { "value": 33 }, - "raft_margin": { "default_value": 8 }, - "raft_surface_fan_speed": { "value": 100 }, - "raft_surface_speed": { "value": 40 }, - "retraction_amount": { "default_value": 1.5 }, + "material_print_temperature": { "maximum_value": "300" }, + "material_print_temperature_layer_0": { "value": "min(material_print_temperature + 10, 300)" }, + "material_standby_temperature": { "default_value": 175.0 }, + "prime_tower_min_volume": { "default_value": 10.0 }, + "prime_tower_size": { "default_value": 15.0 }, + "raft_airgap": { "default_value": 0.19 }, + "raft_base_fan_speed": { "value": 0.0 }, + "raft_base_speed": { "value": 20.0 }, + "raft_base_thickness": { "value": 0.3 }, + "raft_interface_speed": { "value": 33.0 }, + "raft_margin": { "default_value": 8.0 }, + "raft_surface_speed": { "value": 40.0 }, + "raft_surface_thickness": { "value": 0.25 }, + "retraction_amount": { "default_value": 3 }, "retraction_combing": { "value": "off" }, - "retraction_speed": { "default_value": 28 }, + "retraction_extrusion_window": { "value": 1.0 }, + "retraction_hop_after_extruder_switch": { "default_value": false }, + "retraction_min_travel": { "value": 0.8 }, + "retraction_speed": { "default_value": 28.0 }, + "skin_outline_count": { "value": "0" }, "skirt_brim_speed": { "value": 26.0 }, + "skirt_line_count": { "default_value": 2 }, "speed_layer_0": { "value": 26.0 }, "speed_prime_tower": { "value": "speed_support" }, - "speed_print_layer_0": { "value": 26.0 }, - "speed_support": { "value": "round(speed_print*0.82,1)" }, - "speed_support_interface": { "value": "round(speed_support*0.689,1)" }, - "speed_topbottom": { "value": "round(speed_print * 0.65,1)" }, + "speed_print": { "default_value": 70.0 }, + "speed_support": { "value": "round(speed_print * 0.82, 1)" }, + "speed_support_interface": { "value": "round(speed_support * 0.689, 1)" }, + "speed_topbottom": { "value": "round(speed_print * 0.65, 1)" }, "speed_travel": { "value": 105.0 }, "speed_travel_layer_0": { "value": 80.0 }, - "speed_wall": { "value": "max(5,round(speed_print / 2,1))" }, - "speed_wall_0": { "value": "max(5,speed_wall-5)" }, + "speed_wall": { "value": "max(5, round(speed_print / 2 - 5, 1))" }, + "speed_wall_0": { "value": "max(5, speed_wall - 5)" }, "speed_wall_x": { "value": "speed_wall" }, - "support_angle": { "default_value": 60 }, + "support_angle": { "default_value": 60.0 }, + "support_connect_zigzags": { "default_value": false }, + "support_interface_density": { "default_value": 60.0 }, + "support_interface_enable": { "default_value": true }, + "support_interface_height": { "default_value": 0.8 }, "support_interface_pattern": { "default_value": "lines" }, + "support_material_flow": { "value": "max(0, material_flow - 5)" }, + "support_z_distance": { "default_value": 0.18 }, "switch_extruder_retraction_amount": { "value": 16.5 }, - "switch_extruder_retraction_speeds": { "default_value": 28 } + "switch_extruder_retraction_speeds": { "default_value": 28.0 }, + "top_skin_preshrink": { "value": 0.0 }, + "wall_0_wipe_dist": { "value": 0.0 }, + "z_seam_corner": { "default_value": "z_seam_corner_any" } } } \ No newline at end of file diff --git a/resources/definitions/weedo_tina2.def.json b/resources/definitions/weedo_tina2.def.json new file mode 100644 index 0000000000..7824aa3006 --- /dev/null +++ b/resources/definitions/weedo_tina2.def.json @@ -0,0 +1,200 @@ +{ + "version": 2, + "name": "WEEDO TINA2", + "inherits": "weedo_base", + "metadata": + { + "visible": true, + "author": "WEEDO", + "manufacturer": "WEEDO", + "file_formats": "text/x-gcode", + "exclude_materials": [ + "3D-Fuel_PLA_PRO_Black", + "3D-Fuel_PLA_SnapSupport", + "bestfilament_abs_skyblue", + "bestfilament_petg_orange", + "bestfilament_pla_green", + "leapfrog_abs_natural", + "leapfrog_epla_natural", + "leapfrog_pva_natural", + "generic_abs_175", + "generic_asa_175", + "generic_bvoh_175", + "generic_cpe_175", + "generic_hips_175", + "generic_nylon_175", + "generic_pc_175", + "generic_petg_175", + "generic_pva_175", + "goofoo_abs", + "goofoo_asa", + "goofoo_bronze_pla", + "goofoo_emarble_pla", + "goofoo_esilk_pla", + "goofoo_hips", + "goofoo_pa_cf", + "goofoo_pa", + "goofoo_pc", + "goofoo_peek", + "goofoo_petg", + "goofoo_pla", + "goofoo_pva", + "goofoo_tpe_83a", + "goofoo_tpu_87a", + "goofoo_tpu_95a", + "goofoo_wood_pla", + "emotiontech_abs", + "emotiontech_absx", + "emotiontech_acetate", + "emotiontech_asax", + "emotiontech_bvoh", + "emotiontech_copa", + "emotiontech_hips", + "emotiontech_nylon_1030", + "emotiontech_nylon_1030cf", + "emotiontech_nylon_1070", + "emotiontech_pc", + "emotiontech_pekk", + "emotiontech_petg", + "emotiontech_pla", + "emotiontech_pla_hr_870", + "emotiontech_pva-m", + "emotiontech_pva-s", + "emotiontech_tpu98a", + "eryone_petg", + "eryone_pla_glow", + "eryone_pla_matte", + "eryone_pla_wood", + "eryone_pla", + "eryone_tpu", + "eSUN_PETG_Black", + "eSUN_PETG_Grey", + "eSUN_PETG_Purple", + "eSUN_PLA_PRO_Black", + "eSUN_PLA_PRO_Grey", + "eSUN_PLA_PRO_Purple", + "eSUN_PLA_PRO_White", + "Extrudr_GreenTECPro_Anthracite_175", + "Extrudr_GreenTECPro_Black_175", + "Extrudr_GreenTECPro_Blue_175", + "Extrudr_GreenTECPro_Nature_175", + "Extrudr_GreenTECPro_Red_175", + "Extrudr_GreenTECPro_Silver_175", + "Extrudr_GreenTECPro_White_175", + "verbatim_bvoh_175", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "chromatik_pla", + "dsm_arnitel2045_175", + "dsm_novamid1070_175", + "fabtotum_abs", + "fabtotum_nylon", + "fabtotum_pla", + "fabtotum_tpu", + "fdplast_abs_tomato", + "fdplast_petg_gray", + "fdplast_pla_olive", + "fiberlogy_hd_pla", + "filo3d_pla", + "filo3d_pla_green", + "filo3d_pla_red", + "imade3d_petg_green", + "imade3d_petg_pink", + "imade3d_pla_green", + "imade3d_pla_pink", + "imade3d_petg_175", + "imade3d_pla_175", + "innofill_innoflex60_175", + "layer_one_black_pla", + "layer_one_dark_gray_pla", + "layer_one_white_pla", + "octofiber_pla", + "polyflex_pla", + "polymax_pla", + "polyplus_pla", + "polywood_pla", + "redd_abs", + "redd_asa", + "redd_hips", + "redd_nylon", + "redd_petg", + "redd_pla", + "redd_tpe", + "tizyx_abs", + "tizyx_flex", + "tizyx_petg", + "tizyx_pla_bois", + "tizyx_pla", + "tizyx_pva", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA_Glitter", + "Vertex_Delta_PLA_Mat", + "Vertex_Delta_PLA_Satin", + "Vertex_Delta_PLA_Wood", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "volumic_abs_ultra", + "volumic_arma_ultra", + "volumic_asa_ultra", + "volumic_br80_ultra", + "volumic_bumper_ultra", + "volumic_cu80_ultra", + "volumic_flex93_ultra", + "volumic_medical_ultra", + "volumic_nylon_ultra", + "volumic_pekk_carbone", + "volumic_petg_ultra", + "volumic_petgcarbone_ultra", + "volumic_pla_ultra", + "volumic_pp_ultra", + "volumic_strong_ultra", + "volumic_support_ultra", + "xyzprinting_abs", + "xyzprinting_antibact_pla", + "xyzprinting_carbon_fiber", + "xyzprinting_colorinkjet_pla", + "xyzprinting_flexible", + "xyzprinting_metallic_pla", + "xyzprinting_nylon", + "xyzprinting_petg", + "xyzprinting_pla", + "xyzprinting_tough_pla", + "xyzprinting_tpu", + "zyyx_pro_flex", + "zyyx_pro_pla" + ], + "platform_offset": [ + 0, + 0, + 0 + ] + }, + "overrides": + { + "infill_pattern": { "value": "'lines' if infill_sparse_density > 45 else 'grid'" }, + "machine_depth": { "default_value": 120 }, + "machine_end_gcode": { "default_value": ";(**** end.gcode for tina2****)\nM203 Z15\nM104 S0\nM107\nG92 E0 (Reset after prime)\nG0 E-1 F300\nG28 Z F300\nG28 X0 Y0\nG1 Y90 F1000" }, + "machine_heated_bed": { "default_value": false }, + "machine_height": { "default_value": 100 }, + "machine_name": { "default_value": "WEEDO TINA2" }, + "machine_start_gcode": { "default_value": ";MachineType:{machine_name}\n;FilamentType:{material_type}\n;InfillDensity:{infill_sparse_density}\n;Extruder0Temperature:{material_print_temperature}\n\n;(**** start.gcode for tina2****)\nM203 Z15\nM104 S150\nG28 Z\nG28 X Y; Home extruder\nG1 X55 Y55 F1000\nG29\nM107 ; Turn off fan\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nM109 S{material_print_temperature_layer_0}\nG92 E0 ; Reset extruder position\nG1 X90 Y6 Z0.27 F2000\nG1 X20 Y6 Z0.27 E15 F1000\nG92 E0 ; Reset extruder position\nM203 Z5" }, + "machine_width": { "default_value": 100 }, + "raft_base_thickness": { "value": 0.35 }, + "speed_infill": { "value": 40.0 }, + "speed_print": { "value": 40.0 }, + "speed_print_layer_0": { "value": 22.0 }, + "speed_roofing": { "value": 25.0 }, + "speed_support_bottom": { "value": 30.0 }, + "speed_support_infill": { "value": 45.0 }, + "speed_support_roof": { "value": 30.0 }, + "speed_topbottom": { "value": 30.0 }, + "speed_travel": { "value": 65.0 }, + "speed_travel_layer_0": { "value": 60 }, + "speed_wall": { "value": 25.0 }, + "speed_wall_0": { "value": 20.0 }, + "speed_wall_x": { "value": 25.0 } + } +} \ No newline at end of file diff --git a/resources/definitions/weedo_tina2s.def.json b/resources/definitions/weedo_tina2s.def.json new file mode 100644 index 0000000000..5c11529854 --- /dev/null +++ b/resources/definitions/weedo_tina2s.def.json @@ -0,0 +1,201 @@ +{ + "version": 2, + "name": "WEEDO TINA2S", + "inherits": "weedo_base", + "metadata": + { + "visible": true, + "author": "WEEDO", + "manufacturer": "WEEDO", + "file_formats": "text/x-gcode", + "exclude_materials": [ + "3D-Fuel_PLA_PRO_Black", + "3D-Fuel_PLA_SnapSupport", + "bestfilament_abs_skyblue", + "bestfilament_petg_orange", + "bestfilament_pla_green", + "leapfrog_abs_natural", + "leapfrog_epla_natural", + "leapfrog_pva_natural", + "generic_abs_175", + "generic_asa_175", + "generic_cpe_175", + "generic_nylon_175", + "generic_pc_175", + "generic_petg_175", + "generic_pva_175", + "goofoo_abs", + "goofoo_asa", + "goofoo_bronze_pla", + "goofoo_emarble_pla", + "goofoo_esilk_pla", + "goofoo_hips", + "goofoo_pa_cf", + "goofoo_pa", + "goofoo_pc", + "goofoo_peek", + "goofoo_petg", + "goofoo_pla", + "goofoo_pva", + "goofoo_tpe_83a", + "goofoo_tpu_87a", + "goofoo_tpu_95a", + "goofoo_wood_pla", + "emotiontech_abs", + "emotiontech_absx", + "emotiontech_acetate", + "emotiontech_asax", + "emotiontech_bvoh", + "emotiontech_copa", + "emotiontech_hips", + "emotiontech_nylon_1030", + "emotiontech_nylon_1030cf", + "emotiontech_nylon_1070", + "emotiontech_pc", + "emotiontech_pekk", + "emotiontech_petg", + "emotiontech_pla", + "emotiontech_pla_hr_870", + "emotiontech_pva-m", + "emotiontech_pva-s", + "emotiontech_tpu98a", + "eryone_petg", + "eryone_pla_glow", + "eryone_pla_matte", + "eryone_pla_wood", + "eryone_pla", + "eryone_tpu", + "eSUN_PETG_Black", + "eSUN_PETG_Grey", + "eSUN_PETG_Purple", + "eSUN_PLA_PRO_Black", + "eSUN_PLA_PRO_Grey", + "eSUN_PLA_PRO_Purple", + "eSUN_PLA_PRO_White", + "Extrudr_GreenTECPro_Anthracite_175", + "Extrudr_GreenTECPro_Black_175", + "Extrudr_GreenTECPro_Blue_175", + "Extrudr_GreenTECPro_Nature_175", + "Extrudr_GreenTECPro_Red_175", + "Extrudr_GreenTECPro_Silver_175", + "Extrudr_GreenTECPro_White_175", + "verbatim_bvoh_175", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "chromatik_pla", + "dsm_arnitel2045_175", + "dsm_novamid1070_175", + "fabtotum_abs", + "fabtotum_nylon", + "fabtotum_pla", + "fabtotum_tpu", + "fdplast_abs_tomato", + "fdplast_petg_gray", + "fdplast_pla_olive", + "fiberlogy_hd_pla", + "filo3d_pla", + "filo3d_pla_green", + "filo3d_pla_red", + "imade3d_petg_green", + "imade3d_petg_pink", + "imade3d_pla_green", + "imade3d_pla_pink", + "imade3d_petg_175", + "imade3d_pla_175", + "innofill_innoflex60_175", + "layer_one_black_pla", + "layer_one_dark_gray_pla", + "layer_one_white_pla", + "octofiber_pla", + "polyflex_pla", + "polymax_pla", + "polyplus_pla", + "polywood_pla", + "redd_abs", + "redd_asa", + "redd_hips", + "redd_nylon", + "redd_petg", + "redd_pla", + "redd_tpe", + "tizyx_abs", + "tizyx_flex", + "tizyx_petg", + "tizyx_pla_bois", + "tizyx_pla", + "tizyx_pva", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA_Glitter", + "Vertex_Delta_PLA_Mat", + "Vertex_Delta_PLA_Satin", + "Vertex_Delta_PLA_Wood", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "volumic_abs_ultra", + "volumic_arma_ultra", + "volumic_asa_ultra", + "volumic_br80_ultra", + "volumic_bumper_ultra", + "volumic_cu80_ultra", + "volumic_flex93_ultra", + "volumic_medical_ultra", + "volumic_nylon_ultra", + "volumic_pekk_carbone", + "volumic_petg_ultra", + "volumic_petgcarbone_ultra", + "volumic_pla_ultra", + "volumic_pp_ultra", + "volumic_strong_ultra", + "volumic_support_ultra", + "xyzprinting_abs", + "xyzprinting_antibact_pla", + "xyzprinting_carbon_fiber", + "xyzprinting_colorinkjet_pla", + "xyzprinting_flexible", + "xyzprinting_metallic_pla", + "xyzprinting_nylon", + "xyzprinting_petg", + "xyzprinting_pla", + "xyzprinting_tough_pla", + "xyzprinting_tpu", + "zyyx_pro_flex", + "zyyx_pro_pla" + ], + "platform_offset": [ + 0, + 0, + 0 + ] + }, + "overrides": + { + "machine_depth": { "default_value": 110 }, + "machine_end_gcode": { "default_value": ";(**** end.gcode for tina2****)\nM203 Z15\nM104 S0\nM107\nG92 E0 (Reset after prime)\nG0 E-1 F300\nG28 Z F300\nG28 X0 Y0\nG1 Y90 F1000" }, + "machine_height": { "default_value": 100 }, + "machine_name": { "default_value": "WEEDO TINA2S" }, + "machine_start_gcode": { "default_value": ";MachineType:{machine_name}\n;FilamentType:{material_type}\n;InfillDensity:{infill_sparse_density}\n;Extruder0Temperature:{material_print_temperature}\n;BedTemperature:{material_bed_temperature}\n\n;(**** start.gcode for tina2****)\nM203 Z15\nM104 S150\nG28 Z\nG28 X Y; Home extruder\nG1 X55 Y55 F1000\nG29\nM107 ; Turn off fan\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nM109 S{material_print_temperature_layer_0}\nG92 E0 ; Reset extruder position\nG1 X90 Y6 Z0.27 F2000\nG1 X20 Y6 Z0.27 E15 F1000\nG92 E0 ; Reset extruder position\nM203 Z5" }, + "machine_width": { "default_value": 100 }, + "material_bed_temperature": + { + "maximum_value": "65", + "maximum_value_warning": "60" + }, + "raft_base_thickness": { "value": 0.35 }, + "speed_infill": { "value": 40.0 }, + "speed_print": { "value": 40.0 }, + "speed_print_layer_0": { "value": 22.0 }, + "speed_roofing": { "value": 25.0 }, + "speed_support_bottom": { "value": 30.0 }, + "speed_support_infill": { "value": 45.0 }, + "speed_support_roof": { "value": 30.0 }, + "speed_topbottom": { "value": 30.0 }, + "speed_travel": { "value": 65.0 }, + "speed_travel_layer_0": { "value": 60 }, + "speed_wall": { "value": 25.0 }, + "speed_wall_0": { "value": 20.0 }, + "speed_wall_x": { "value": 25.0 } + } +} \ No newline at end of file diff --git a/resources/definitions/weefun_tina2.def.json b/resources/definitions/weefun_tina2.def.json index ebe026b163..8177da741c 100644 --- a/resources/definitions/weefun_tina2.def.json +++ b/resources/definitions/weefun_tina2.def.json @@ -8,6 +8,164 @@ "author": "WEEFUN", "manufacturer": "WEEFUN", "file_formats": "text/x-gcode", + "exclude_materials": [ + "3D-Fuel_PLA_PRO_Black", + "3D-Fuel_PLA_SnapSupport", + "bestfilament_abs_skyblue", + "bestfilament_petg_orange", + "bestfilament_pla_green", + "leapfrog_abs_natural", + "leapfrog_epla_natural", + "leapfrog_pva_natural", + "generic_abs_175", + "generic_asa_175", + "generic_bvoh_175", + "generic_cpe_175", + "generic_hips_175", + "generic_nylon_175", + "generic_pc_175", + "generic_petg_175", + "generic_pva_175", + "goofoo_abs", + "goofoo_asa", + "goofoo_bronze_pla", + "goofoo_emarble_pla", + "goofoo_esilk_pla", + "goofoo_hips", + "goofoo_pa_cf", + "goofoo_pa", + "goofoo_pc", + "goofoo_peek", + "goofoo_petg", + "goofoo_pla", + "goofoo_pva", + "goofoo_tpe_83a", + "goofoo_tpu_87a", + "goofoo_tpu_95a", + "goofoo_wood_pla", + "emotiontech_abs", + "emotiontech_absx", + "emotiontech_acetate", + "emotiontech_asax", + "emotiontech_bvoh", + "emotiontech_copa", + "emotiontech_hips", + "emotiontech_nylon_1030", + "emotiontech_nylon_1030cf", + "emotiontech_nylon_1070", + "emotiontech_pc", + "emotiontech_pekk", + "emotiontech_petg", + "emotiontech_pla", + "emotiontech_pla_hr_870", + "emotiontech_pva-m", + "emotiontech_pva-s", + "emotiontech_tpu98a", + "eryone_petg", + "eryone_pla_glow", + "eryone_pla_matte", + "eryone_pla_wood", + "eryone_pla", + "eryone_tpu", + "eSUN_PETG_Black", + "eSUN_PETG_Grey", + "eSUN_PETG_Purple", + "eSUN_PLA_PRO_Black", + "eSUN_PLA_PRO_Grey", + "eSUN_PLA_PRO_Purple", + "eSUN_PLA_PRO_White", + "Extrudr_GreenTECPro_Anthracite_175", + "Extrudr_GreenTECPro_Black_175", + "Extrudr_GreenTECPro_Blue_175", + "Extrudr_GreenTECPro_Nature_175", + "Extrudr_GreenTECPro_Red_175", + "Extrudr_GreenTECPro_Silver_175", + "Extrudr_GreenTECPro_White_175", + "verbatim_bvoh_175", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "chromatik_pla", + "dsm_arnitel2045_175", + "dsm_novamid1070_175", + "fabtotum_abs", + "fabtotum_nylon", + "fabtotum_pla", + "fabtotum_tpu", + "fdplast_abs_tomato", + "fdplast_petg_gray", + "fdplast_pla_olive", + "fiberlogy_hd_pla", + "filo3d_pla", + "filo3d_pla_green", + "filo3d_pla_red", + "imade3d_petg_green", + "imade3d_petg_pink", + "imade3d_pla_green", + "imade3d_pla_pink", + "imade3d_petg_175", + "imade3d_pla_175", + "innofill_innoflex60_175", + "layer_one_black_pla", + "layer_one_dark_gray_pla", + "layer_one_white_pla", + "octofiber_pla", + "polyflex_pla", + "polymax_pla", + "polyplus_pla", + "polywood_pla", + "redd_abs", + "redd_asa", + "redd_hips", + "redd_nylon", + "redd_petg", + "redd_pla", + "redd_tpe", + "tizyx_abs", + "tizyx_flex", + "tizyx_petg", + "tizyx_pla_bois", + "tizyx_pla", + "tizyx_pva", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA_Glitter", + "Vertex_Delta_PLA_Mat", + "Vertex_Delta_PLA_Satin", + "Vertex_Delta_PLA_Wood", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "volumic_abs_ultra", + "volumic_arma_ultra", + "volumic_asa_ultra", + "volumic_br80_ultra", + "volumic_bumper_ultra", + "volumic_cu80_ultra", + "volumic_flex93_ultra", + "volumic_medical_ultra", + "volumic_nylon_ultra", + "volumic_pekk_carbone", + "volumic_petg_ultra", + "volumic_petgcarbone_ultra", + "volumic_pla_ultra", + "volumic_pp_ultra", + "volumic_strong_ultra", + "volumic_support_ultra", + "xyzprinting_abs", + "xyzprinting_antibact_pla", + "xyzprinting_carbon_fiber", + "xyzprinting_colorinkjet_pla", + "xyzprinting_flexible", + "xyzprinting_metallic_pla", + "xyzprinting_nylon", + "xyzprinting_petg", + "xyzprinting_pla", + "xyzprinting_tough_pla", + "xyzprinting_tpu", + "zyyx_pro_flex", + "zyyx_pro_pla" + ], "platform_offset": [ 0, 0, @@ -16,28 +174,27 @@ }, "overrides": { - "machine_center_is_zero": { "default_value": false }, + "infill_pattern": { "value": "'lines' if infill_sparse_density > 45 else 'grid'" }, "machine_depth": { "default_value": 120 }, - "machine_end_gcode": { "default_value": ";(**** end.gcode for TINA2****)\nM104 S0\nM107\nG92 E0 (Reset after prime)\nG0 E-1 F300\nG1 Z105 F300\nG28 X0 Y0\nG1 Y90 F1000\nM203 Z30" }, - "machine_extruder_count": { "default_value": 1 }, + "machine_end_gcode": { "default_value": ";(**** end.gcode for tina2****)\nM203 Z15\nM104 S0\nM107\nG92 E0 (Reset after prime)\nG0 E-1 F300\nG28 Z F300\nG28 X0 Y0\nG1 Y90 F1000" }, "machine_heated_bed": { "default_value": false }, "machine_height": { "default_value": 100 }, "machine_name": { "default_value": "WEEFUN TINA2" }, - "machine_start_gcode": { "default_value": ";(**** start.gcode for TINA2****)\nM104 S150\nG28 Z\nG28 X Y; Home extruder\nG1 X55 Y55 F1000\nG1 Z10 F200\nG29\nG1 Z15 F100\nM107 ; Turn off fan\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nM109 S{material_print_temperature_layer_0}\nG92 E0 ; Reset extruder position\nG1 X90 Y6 Z0.27 F2000\nG1 X20 Y6 Z0.27 E15 F1000 \nG92 E0 ; Reset extruder position\n\nM203 Z5" }, + "machine_start_gcode": { "default_value": ";MachineType:{machine_name}\n;FilamentType:{material_type}\n;InfillDensity:{infill_sparse_density}\n;Extruder0Temperature:{material_print_temperature}\n\n;(**** start.gcode for tina2****)\nM203 Z15\nM104 S150\nG28 Z\nG28 X Y; Home extruder\nG1 X55 Y55 F1000\nG29\nM107 ; Turn off fan\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nM109 S{material_print_temperature_layer_0}\nG92 E0 ; Reset extruder position\nG1 X90 Y6 Z0.27 F2000\nG1 X20 Y6 Z0.27 E15 F1000\nG92 E0 ; Reset extruder position\nM203 Z5" }, "machine_width": { "default_value": 100 }, - "retraction_amount": { "default_value": 3 }, - "retraction_count_max": { "default_value": 10 }, - "retraction_speed": { "default_value": 35 }, + "raft_base_thickness": { "value": 0.35 }, "speed_infill": { "value": 40.0 }, + "speed_print": { "value": 40.0 }, "speed_print_layer_0": { "value": 22.0 }, "speed_roofing": { "value": 25.0 }, - "speed_support_bottom": { "dvalue": 30.0 }, + "speed_support_bottom": { "value": 30.0 }, "speed_support_infill": { "value": 45.0 }, "speed_support_roof": { "value": 30.0 }, "speed_topbottom": { "value": 30.0 }, + "speed_travel": { "value": 65.0 }, "speed_travel_layer_0": { "value": 60 }, + "speed_wall": { "value": 25.0 }, "speed_wall_0": { "value": 20.0 }, - "speed_wall_x": { "value": 25.0 }, - "support_xy_distance": { "default_value": 1.0 } + "speed_wall_x": { "value": 25.0 } } } \ No newline at end of file diff --git a/resources/definitions/weefun_tina2s.def.json b/resources/definitions/weefun_tina2s.def.json index d23e0c356c..fc0720ade0 100644 --- a/resources/definitions/weefun_tina2s.def.json +++ b/resources/definitions/weefun_tina2s.def.json @@ -8,6 +8,162 @@ "author": "WEEFUN", "manufacturer": "WEEFUN", "file_formats": "text/x-gcode", + "exclude_materials": [ + "3D-Fuel_PLA_PRO_Black", + "3D-Fuel_PLA_SnapSupport", + "bestfilament_abs_skyblue", + "bestfilament_petg_orange", + "bestfilament_pla_green", + "leapfrog_abs_natural", + "leapfrog_epla_natural", + "leapfrog_pva_natural", + "generic_abs_175", + "generic_asa_175", + "generic_cpe_175", + "generic_nylon_175", + "generic_pc_175", + "generic_petg_175", + "generic_pva_175", + "goofoo_abs", + "goofoo_asa", + "goofoo_bronze_pla", + "goofoo_emarble_pla", + "goofoo_esilk_pla", + "goofoo_hips", + "goofoo_pa_cf", + "goofoo_pa", + "goofoo_pc", + "goofoo_peek", + "goofoo_petg", + "goofoo_pla", + "goofoo_pva", + "goofoo_tpe_83a", + "goofoo_tpu_87a", + "goofoo_tpu_95a", + "goofoo_wood_pla", + "emotiontech_abs", + "emotiontech_absx", + "emotiontech_acetate", + "emotiontech_asax", + "emotiontech_bvoh", + "emotiontech_copa", + "emotiontech_hips", + "emotiontech_nylon_1030", + "emotiontech_nylon_1030cf", + "emotiontech_nylon_1070", + "emotiontech_pc", + "emotiontech_pekk", + "emotiontech_petg", + "emotiontech_pla", + "emotiontech_pla_hr_870", + "emotiontech_pva-m", + "emotiontech_pva-s", + "emotiontech_tpu98a", + "eryone_petg", + "eryone_pla_glow", + "eryone_pla_matte", + "eryone_pla_wood", + "eryone_pla", + "eryone_tpu", + "eSUN_PETG_Black", + "eSUN_PETG_Grey", + "eSUN_PETG_Purple", + "eSUN_PLA_PRO_Black", + "eSUN_PLA_PRO_Grey", + "eSUN_PLA_PRO_Purple", + "eSUN_PLA_PRO_White", + "Extrudr_GreenTECPro_Anthracite_175", + "Extrudr_GreenTECPro_Black_175", + "Extrudr_GreenTECPro_Blue_175", + "Extrudr_GreenTECPro_Nature_175", + "Extrudr_GreenTECPro_Red_175", + "Extrudr_GreenTECPro_Silver_175", + "Extrudr_GreenTECPro_White_175", + "verbatim_bvoh_175", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "chromatik_pla", + "dsm_arnitel2045_175", + "dsm_novamid1070_175", + "fabtotum_abs", + "fabtotum_nylon", + "fabtotum_pla", + "fabtotum_tpu", + "fdplast_abs_tomato", + "fdplast_petg_gray", + "fdplast_pla_olive", + "fiberlogy_hd_pla", + "filo3d_pla", + "filo3d_pla_green", + "filo3d_pla_red", + "imade3d_petg_green", + "imade3d_petg_pink", + "imade3d_pla_green", + "imade3d_pla_pink", + "imade3d_petg_175", + "imade3d_pla_175", + "innofill_innoflex60_175", + "layer_one_black_pla", + "layer_one_dark_gray_pla", + "layer_one_white_pla", + "octofiber_pla", + "polyflex_pla", + "polymax_pla", + "polyplus_pla", + "polywood_pla", + "redd_abs", + "redd_asa", + "redd_hips", + "redd_nylon", + "redd_petg", + "redd_pla", + "redd_tpe", + "tizyx_abs", + "tizyx_flex", + "tizyx_petg", + "tizyx_pla_bois", + "tizyx_pla", + "tizyx_pva", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA_Glitter", + "Vertex_Delta_PLA_Mat", + "Vertex_Delta_PLA_Satin", + "Vertex_Delta_PLA_Wood", + "Vertex_Delta_PLA", + "Vertex_Delta_TPU", + "volumic_abs_ultra", + "volumic_arma_ultra", + "volumic_asa_ultra", + "volumic_br80_ultra", + "volumic_bumper_ultra", + "volumic_cu80_ultra", + "volumic_flex93_ultra", + "volumic_medical_ultra", + "volumic_nylon_ultra", + "volumic_pekk_carbone", + "volumic_petg_ultra", + "volumic_petgcarbone_ultra", + "volumic_pla_ultra", + "volumic_pp_ultra", + "volumic_strong_ultra", + "volumic_support_ultra", + "xyzprinting_abs", + "xyzprinting_antibact_pla", + "xyzprinting_carbon_fiber", + "xyzprinting_colorinkjet_pla", + "xyzprinting_flexible", + "xyzprinting_metallic_pla", + "xyzprinting_nylon", + "xyzprinting_petg", + "xyzprinting_pla", + "xyzprinting_tough_pla", + "xyzprinting_tpu", + "zyyx_pro_flex", + "zyyx_pro_pla" + ], "platform_offset": [ 0, 0, @@ -16,25 +172,29 @@ }, "overrides": { - "gantry_height": { "value": 20 }, - "machine_center_is_zero": { "default_value": false }, - "machine_depth": { "default_value": 120 }, - "machine_end_gcode": { "default_value": ";(**** end.gcode for tina2s****)\nM203 Z15 ;Move Z axis up 5mm\nM104 S0 ;Turn off extruder heating\nM140 S0 ;Turn off bed heating\nM107 ;Turn Fans off\nG92 E0 ;(Reset after prime)\nG0 E-1 F300 ;Retract Fillament 1mm\nG28 Z F300 ;Park Hotend up\nG28 X0 Y0 ;Park Hotend\nG1 Y90 F1000 ;Present finished model\nG0 E-2 F300 ;Retract Fillament 2mm\nM82 ;absolute extrusion mode\nM104 S0 ;Ensure hotend is off\nM117 Print Complete" }, - "machine_extruder_count": { "default_value": 1 }, - "machine_heated_bed": { "default_value": true }, + "machine_depth": { "default_value": 110 }, + "machine_end_gcode": { "default_value": ";(**** end.gcode for tina2****)\nM203 Z15\nM104 S0\nM107\nG92 E0 (Reset after prime)\nG0 E-1 F300\nG28 Z F300\nG28 X0 Y0\nG1 Y90 F1000" }, "machine_height": { "default_value": 100 }, "machine_name": { "default_value": "WEEFUN TINA2S" }, - "machine_start_gcode": { "default_value": ";MachineType:TINA2S\n;FilamentType:{material_type}\n;Layer height:{layer_height}\n;Extruder0Temperature:{material_print_temperature}\n;BedTemperature:{material_bed_temperature}\n;InfillDensity:{infill_sparse_density}\n;(**** start.gcode for tina2s****)\nM203 Z5 ;Move Z axis up 5mm\nM117 Homing axes\nG28 Z; Home extruder axis Z\nG28 X Y; Home extruder axis X Y\nM117 Start Warm Up\nM140 S{material_bed_temperature} ;start heating the bed to what is set in Cura\nM104 S130 ;start heating E to 130 for preheat\nM190 S{material_bed_temperature} ;Wait for Bed Temperature\nM117 Levling the build plate\nG29\nG1 Z1.0 F3000 ;Move Z Axis up to 1mm\nG1 X0.5 Y1 ;Move hotend to starting position\nM117 Heating Hotend\nM104 S{material_initial_print_temperature} T0 ;start heating T0 to what is set in Cura\nM109 S{material_initial_print_temperature} T0 ;Wait for Hotend Temperature\nG92 E0 ;Reset Extruder\nM117 Purging and cleaning nozzle\nG1 X1.1 Y10 Z0.28 F1000.0 ;Move to start position\nG1 X1.1 Y90.0 Z0.28 F2000.0 E15 ;Draw the first line\nG1 X1.4 Y90.0 Z0.23 F5000.0 ;Move to side a little\nG1 X1.4 Y10 Z0.20 F2000.0 E15 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X1 Y5 Z0.2 F5000.0 ;Move over to prevent blob squish\nM117 Printing..." }, + "machine_start_gcode": { "default_value": ";MachineType:{machine_name}\n;FilamentType:{material_type}\n;InfillDensity:{infill_sparse_density}\n;Extruder0Temperature:{material_print_temperature}\n;BedTemperature:{material_bed_temperature}\n\n;(**** start.gcode for tina2****)\nM203 Z15\nM104 S150\nG28 Z\nG28 X Y; Home extruder\nG1 X55 Y55 F1000\nG29\nM107 ; Turn off fan\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\nM109 S{material_print_temperature_layer_0}\nG92 E0 ; Reset extruder position\nG1 X90 Y6 Z0.27 F2000\nG1 X20 Y6 Z0.27 E15 F1000\nG92 E0 ; Reset extruder position\nM203 Z5" }, "machine_width": { "default_value": 100 }, - "retraction_amount": { "default_value": 3 }, + "material_bed_temperature": + { + "maximum_value": "65", + "maximum_value_warning": "60" + }, + "raft_base_thickness": { "value": 0.35 }, "speed_infill": { "value": 40.0 }, + "speed_print": { "value": 40.0 }, "speed_print_layer_0": { "value": 22.0 }, "speed_roofing": { "value": 25.0 }, - "speed_support_bottom": { "dvalue": 30.0 }, + "speed_support_bottom": { "value": 30.0 }, "speed_support_infill": { "value": 45.0 }, "speed_support_roof": { "value": 30.0 }, "speed_topbottom": { "value": 30.0 }, + "speed_travel": { "value": 65.0 }, "speed_travel_layer_0": { "value": 60 }, + "speed_wall": { "value": 25.0 }, "speed_wall_0": { "value": 20.0 }, "speed_wall_x": { "value": 25.0 } } diff --git a/resources/extruders/anycubic_kobra_plus_extruder_0.def.json b/resources/extruders/anycubic_kobra_plus_extruder_0.def.json new file mode 100644 index 0000000000..51a6c351bc --- /dev/null +++ b/resources/extruders/anycubic_kobra_plus_extruder_0.def.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": + { + "machine": "anycubic_kobra_plus", + "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/qml/ColorDialog.qml b/resources/qml/ColorDialog.qml deleted file mode 100644 index 99d46ed327..0000000000 --- a/resources/qml/ColorDialog.qml +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright (c) 2022 UltiMaker -// Cura is released under the terms of the LGPLv3 or higher. - -import QtQuick 2.15 -import QtQuick.Controls 2.2 -import QtQuick.Window 2.1 -import QtQuick.Layouts 1.1 - -import UM 1.7 as UM -import Cura 1.7 as Cura - - -/* -* A dialog that provides the option to pick a color. Currently it only asks for a hex code and shows the color -* in a color swath -*/ -UM.Dialog -{ - id: base - - property variant catalog: UM.I18nCatalog { name: "cura" } - - margin: UM.Theme.getSize("default_margin").width - - property alias swatchGridColumns: colorSwatchGrid.columns - - // In this case we would like to let the content of the dialog determine the size of the dialog - // however with the current implementation of the dialog this is not possible, so instead we calculate - // the size of the dialog ourselves. - // Ugly workaround for windows having overlapping elements due to incorrect dialog width - minimumWidth: content.width + (Qt.platform.os === "windows" ? 4 * margin : 2 * margin) - minimumHeight: { - const footerHeight = Math.max(okButton.height, cancelButton.height); - return content.height + footerHeight + (Qt.platform.os === "windows" ? 5 * margin : 3 * margin); - } - - property alias color: colorInput.text - property var swatchColors: [ - "#2161AF", "#57AFB2", "#F7B32D", "#E33D4A", "#C088AD", - "#5D88BE", "#5ABD0E", "#E17239", "#F74E46", "#874AF9", - "#50C2EC", "#8DC15A", "#C3977A", "#CD7776", "#9086BA", - "#FFFFFF", "#D3D3D3", "#9E9E9E", "#5A5A5A", "#000000", - ] - - Component.onCompleted: updateSwatches() - onSwatchColorsChanged: updateSwatches() - - function updateSwatches() - { - swatchColorsModel.clear(); - for (const swatchColor of base.swatchColors) - { - swatchColorsModel.append({ swatchColor }); - } - } - - Column - { - id: content - width: childrenRect.width - height: childrenRect.height - spacing: UM.Theme.getSize("wide_margin").height - - GridLayout { - id: colorSwatchGrid - columns: 5 - width: childrenRect.width - height: childrenRect.height - columnSpacing: UM.Theme.getSize("thick_margin").width - rowSpacing: UM.Theme.getSize("thick_margin").height - - Repeater - { - model: ListModel - { - id: swatchColorsModel - } - - delegate: Rectangle - { - color: swatchColor - implicitWidth: UM.Theme.getSize("medium_button_icon").width - implicitHeight: UM.Theme.getSize("medium_button_icon").height - radius: width / 2 - - UM.ColorImage - { - anchors.fill: parent - visible: swatchColor == base.color - source: UM.Theme.getIcon("Check", "low") - color: UM.Theme.getColor("checkbox") - } - - MouseArea - { - anchors.fill: parent - onClicked: base.color = swatchColor - } - } - } - } - - RowLayout - { - width: parent.width - spacing: UM.Theme.getSize("default_margin").width - - UM.Label - { - text: catalog.i18nc("@label", "Hex") - } - - Cura.TextField - { - id: colorInput - Layout.fillWidth: true - text: "#FFFFFF" - selectByMouse: true - onTextChanged: { - if (!text.startsWith("#")) - { - text = `#${text}`; - } - } - validator: UM.HexColorValidator {} - } - - Rectangle - { - color: base.color - Layout.preferredHeight: parent.height - Layout.preferredWidth: height - } - } - } - - buttonSpacing: UM.Theme.getSize("thin_margin").width - - rightButtons: - [ - Cura.TertiaryButton { - id: cancelButton - text: catalog.i18nc("@action:button", "Cancel") - onClicked: base.close() - }, - Cura.PrimaryButton { - id: okButton - text: catalog.i18nc("@action:button", "OK") - onClicked: base.accept() - } - ] -} \ No newline at end of file diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index cb3202bc00..31066f8f46 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -628,7 +628,7 @@ UM.MainWindow //: File open dialog title title: catalog.i18nc("@title:window","Open file(s)") modality: Qt.WindowModal - fileMode: FileDialog.FileMode.ExistingFile + fileMode: FileDialog.FileMode.OpenFiles nameFilters: UM.MeshFileHandler.supportedReadFileTypes; currentFolder: CuraApplication.getDefaultPath("dialog_load_path") onAccepted: diff --git a/resources/qml/Dialogs/AboutDialog.qml b/resources/qml/Dialogs/AboutDialog.qml index 4ccf58d0b4..b0cd9d2ad3 100644 --- a/resources/qml/Dialogs/AboutDialog.qml +++ b/resources/qml/Dialogs/AboutDialog.qml @@ -1,10 +1,10 @@ // Copyright (c) 2022 UltiMaker // Cura is released under the terms of the LGPLv3 or higher. -import QtQuick 2.2 +import QtQuick 2.4 import QtQuick.Controls 2.9 -import UM 1.5 as UM +import UM 1.6 as UM import Cura 1.5 as Cura UM.Dialog @@ -21,6 +21,7 @@ UM.Dialog backgroundColor: UM.Theme.getColor("main_background") + Rectangle { id: header @@ -50,6 +51,15 @@ UM.Dialog anchors.horizontalCenter: parent.horizontalCenter UM.I18nCatalog{id: catalog; name: "cura"} + MouseArea + { + anchors.fill: parent + onClicked: + { + projectsList.visible = !projectsList.visible; + projectBuildInfoList.visible = !projectBuildInfoList.visible; + } + } } UM.Label @@ -181,6 +191,18 @@ UM.Dialog } } + AboutDialogVersionsList{ + id: projectBuildInfoList + + } + + + onVisibleChanged: + { + projectsList.visible = true; + projectBuildInfoList.visible = false; + } + rightButtons: Cura.TertiaryButton { //: Close about dialog button diff --git a/resources/qml/MachineSettings/NumericTextFieldWithUnit.qml b/resources/qml/MachineSettings/NumericTextFieldWithUnit.qml index 64beeb9834..408db66f3a 100644 --- a/resources/qml/MachineSettings/NumericTextFieldWithUnit.qml +++ b/resources/qml/MachineSettings/NumericTextFieldWithUnit.qml @@ -76,6 +76,11 @@ UM.TooltipArea anchors.left: fieldLabel.right anchors.leftMargin: spacing verticalAlignment: Text.AlignVCenter + + // The control is set up for left to right. So we force it to that. If we don't, it will take the OS reading + // direction, which might not be left to right. This will lead to the text overlapping with the unit + horizontalAlignment: TextInput.AlignLeft + selectionColor: UM.Theme.getColor("text_selection") selectedTextColor: UM.Theme.getColor("setting_control_text") padding: 0 diff --git a/resources/qml/Preferences/Materials/MaterialsSyncDialog.qml b/resources/qml/Preferences/Materials/MaterialsSyncDialog.qml index 87a8d00ec4..8fa2f72e60 100644 --- a/resources/qml/Preferences/Materials/MaterialsSyncDialog.qml +++ b/resources/qml/Preferences/Materials/MaterialsSyncDialog.qml @@ -430,11 +430,51 @@ UM.Window { id: refreshListButton Layout.alignment: Qt.AlignVCenter + readonly property int _AccountSyncState_SYNCING: 0 + visible: Cura.API.account.syncState != _AccountSyncState_SYNCING + enabled: visible text: catalog.i18nc("@button", "Refresh List") iconSource: UM.Theme.getIcon("ArrowDoubleCircleRight") onClicked: Cura.API.account.sync(true) } + Item + { + width: childrenRect.width + Layout.alignment: Qt.AlignVCenter + height: refreshListButton.height + visible: !refreshListButton.visible + + UM.ColorImage + { + id: refreshingIcon + height: UM.Theme.getSize("action_button_icon").height + width: height + anchors.verticalCenter: refreshingLabel.verticalCenter + source: UM.Theme.getIcon("ArrowDoubleCircleRight") + color: UM.Theme.getColor("primary") + + RotationAnimator + { + target: refreshingIcon + from: 0 + to: 360 + duration: 1000 + loops: Animation.Infinite + running: true + } + } + UM.Label + { + id: refreshingLabel + anchors.left: refreshingIcon.right + anchors.leftMargin: UM.Theme.getSize("narrow_margin").width + text: catalog.i18nc("@button", "Refreshing...") + color: UM.Theme.getColor("primary") + font: UM.Theme.getFont("medium") + } + } + Cura.TertiaryButton { id: printerListTroubleshooting diff --git a/resources/qml/Preferences/Materials/MaterialsView.qml b/resources/qml/Preferences/Materials/MaterialsView.qml index d37150075b..3245009a96 100644 --- a/resources/qml/Preferences/Materials/MaterialsView.qml +++ b/resources/qml/Preferences/Materials/MaterialsView.qml @@ -256,12 +256,12 @@ Item // popup dialog to select a new color // if successful it sets the properties.color_code value to the new color - Cura.ColorDialog + ColorDialog { id: colorDialog title: catalog.i18nc("@title", "Material color picker") - color: properties.color_code - onAccepted: base.setMetaDataEntry("color_code", properties.color_code, color) + selectedColor: properties.color_code + onAccepted: base.setMetaDataEntry("color_code", properties.color_code, selectedColor) } } } diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml index 2183ef7d5e..07e9c1ffaa 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml @@ -17,7 +17,7 @@ RecommendedSettingSection enableSectionSwitchVisible: platformAdhesionType.properties.enabled === "True" enableSectionSwitchChecked: platformAdhesionType.properties.value !== "skirt" && platformAdhesionType.properties.value !== "none" enableSectionSwitchEnabled: recommendedPrintSetup.settingsEnabled - tooltipText: catalog.i18nc("@label", "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards.") + tooltipText: catalog.i18nc("@label", "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards. Disabling it results in a skirt around object by default.") property var curaRecommendedMode: Cura.RecommendedMode {} diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml index 50b5dc7357..0f4efc8498 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml @@ -111,7 +111,6 @@ Flickable anchors.right: parent.right text: catalog.i18nc("@button", "Show Custom") textFont: UM.Theme.getFont("medium_bold") - outlineColor: "transparent" onClicked: onModeChanged() } } diff --git a/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_normal.inst.cfg b/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_normal.inst.cfg new file mode 100644 index 0000000000..47983fe3b1 --- /dev/null +++ b/resources/quality/anycubic_kobra_plus/anycubic_kobra_plus_normal.inst.cfg @@ -0,0 +1,28 @@ +[general] +definition = anycubic_kobra_plus +name = Normal +version = 4 + +[metadata] +global_quality = True +quality_type = normal +setting_version = 22 +type = quality +weight = 0 + +[values] +infill_pattern = cubic +layer_height = 0.2 +layer_height_0 = 0.2 +material_final_print_temperature = 195 +material_print_temperature = 195 +retraction_combing = off +retraction_hop = 0.1 +retraction_hop_enabled = True +retraction_hop_only_when_collides = True +speed_infill = 40 +speed_layer_0 = 20 +speed_print = 80 +speed_wall_x = 60 +wall_thickness = 1.2 + diff --git a/resources/setting_visibility/basic.cfg b/resources/setting_visibility/basic.cfg index 927989fee3..0193eb26ba 100644 --- a/resources/setting_visibility/basic.cfg +++ b/resources/setting_visibility/basic.cfg @@ -45,6 +45,7 @@ support_extruder_nr support_type support_angle support_offset +support_structure [platform_adhesion] prime_blob_enable diff --git a/resources/variants/creality/creality_ender5s1_0.2.inst.cfg b/resources/variants/creality/creality_ender5s1_0.2.inst.cfg new file mode 100644 index 0000000000..bb3e5312ea --- /dev/null +++ b/resources/variants/creality/creality_ender5s1_0.2.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = creality_ender5s1 +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/creality/creality_ender5s1_0.3.inst.cfg b/resources/variants/creality/creality_ender5s1_0.3.inst.cfg new file mode 100644 index 0000000000..f7aa3350bc --- /dev/null +++ b/resources/variants/creality/creality_ender5s1_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = creality_ender5s1 +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/creality/creality_ender5s1_0.4.inst.cfg b/resources/variants/creality/creality_ender5s1_0.4.inst.cfg new file mode 100644 index 0000000000..6e38f503fc --- /dev/null +++ b/resources/variants/creality/creality_ender5s1_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = creality_ender5s1 +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/creality/creality_ender5s1_0.5.inst.cfg b/resources/variants/creality/creality_ender5s1_0.5.inst.cfg new file mode 100644 index 0000000000..cb2b684542 --- /dev/null +++ b/resources/variants/creality/creality_ender5s1_0.5.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = creality_ender5s1 +name = 0.5mm Nozzle +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.5 + diff --git a/resources/variants/creality/creality_ender5s1_0.6.inst.cfg b/resources/variants/creality/creality_ender5s1_0.6.inst.cfg new file mode 100644 index 0000000000..2c2d0480ff --- /dev/null +++ b/resources/variants/creality/creality_ender5s1_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = creality_ender5s1 +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/creality/creality_ender5s1_0.8.inst.cfg b/resources/variants/creality/creality_ender5s1_0.8.inst.cfg new file mode 100644 index 0000000000..2e95f8e3d0 --- /dev/null +++ b/resources/variants/creality/creality_ender5s1_0.8.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = creality_ender5s1 +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/creality/creality_ender5s1_1.0.inst.cfg b/resources/variants/creality/creality_ender5s1_1.0.inst.cfg new file mode 100644 index 0000000000..48fba7a715 --- /dev/null +++ b/resources/variants/creality/creality_ender5s1_1.0.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = creality_ender5s1 +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/voron/voron_trident_250_0.25.inst.cfg b/resources/variants/voron/voron_trident_250_0.25.inst.cfg new file mode 100644 index 0000000000..2ba2351c56 --- /dev/null +++ b/resources/variants/voron/voron_trident_250_0.25.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_250 +name = V6 0.25mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.25 + diff --git a/resources/variants/voron/voron_trident_250_0.50.inst.cfg b/resources/variants/voron/voron_trident_250_0.50.inst.cfg new file mode 100644 index 0000000000..deae0b748c --- /dev/null +++ b/resources/variants/voron/voron_trident_250_0.50.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_250 +name = V6 0.50mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.5 + diff --git a/resources/variants/voron/voron_trident_300_0.25.inst.cfg b/resources/variants/voron/voron_trident_300_0.25.inst.cfg new file mode 100644 index 0000000000..99b00d7683 --- /dev/null +++ b/resources/variants/voron/voron_trident_300_0.25.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_300 +name = V6 0.25mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.25 + diff --git a/resources/variants/voron/voron_trident_300_0.50.inst.cfg b/resources/variants/voron/voron_trident_300_0.50.inst.cfg new file mode 100644 index 0000000000..5a9bde2f79 --- /dev/null +++ b/resources/variants/voron/voron_trident_300_0.50.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_300 +name = V6 0.50mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.5 + diff --git a/resources/variants/voron/voron_trident_350_0.25.inst.cfg b/resources/variants/voron/voron_trident_350_0.25.inst.cfg new file mode 100644 index 0000000000..8d124cca03 --- /dev/null +++ b/resources/variants/voron/voron_trident_350_0.25.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_350 +name = V6 0.25mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.25 + diff --git a/resources/variants/voron/voron_trident_350_0.50.inst.cfg b/resources/variants/voron/voron_trident_350_0.50.inst.cfg new file mode 100644 index 0000000000..896a12aee7 --- /dev/null +++ b/resources/variants/voron/voron_trident_350_0.50.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_350 +name = V6 0.50mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 22 +type = variant + +[values] +machine_nozzle_size = 0.5 +