diff --git a/.gitignore b/.gitignore index 7799f93980..2b1cfc37e0 100644 --- a/.gitignore +++ b/.gitignore @@ -44,7 +44,6 @@ plugins/CuraCloudPlugin plugins/CuraDrivePlugin plugins/CuraLiveScriptingPlugin plugins/CuraOpenSCADPlugin -plugins/CuraRemoteSupport plugins/CuraPrintProfileCreator plugins/CuraSolidWorksPlugin plugins/CuraVariSlicePlugin diff --git a/cura/ApplicationMetadata.py b/cura/ApplicationMetadata.py index ce20255691..70f36619e8 100644 --- a/cura/ApplicationMetadata.py +++ b/cura/ApplicationMetadata.py @@ -13,7 +13,7 @@ DEFAULT_CURA_DEBUG_MODE = False # Each release has a fixed SDK version coupled with it. It doesn't make sense to make it configurable because, for # example Cura 3.2 with SDK version 6.1 will not work. So the SDK version is hard-coded here and left out of the # CuraVersion.py.in template. -CuraSDKVersion = "7.7.0" +CuraSDKVersion = "7.8.0" try: from cura.CuraVersion import CuraAppName # type: ignore diff --git a/cura/Backups/Backup.py b/cura/Backups/Backup.py index 85510e6b4c..90a354c0a3 100644 --- a/cura/Backups/Backup.py +++ b/cura/Backups/Backup.py @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Ultimaker B.V. +# Copyright (c) 2021 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import io @@ -168,7 +168,10 @@ class Backup: preferences_file = Resources.getPath(Resources.Preferences, "{}.cfg".format(preferences_file_name)) backup_preferences_file = os.path.join(version_data_dir, "{}.cfg".format(preferences_file_name)) Logger.log("d", "Moving preferences file from %s to %s", backup_preferences_file, preferences_file) - shutil.move(backup_preferences_file, preferences_file) + try: + shutil.move(backup_preferences_file, preferences_file) + except EnvironmentError as e: + Logger.error(f"Unable to back-up preferences file: {type(e)} - {str(e)}") # Read the preferences from the newly restored configuration (or else the cached Preferences will override the restored ones) self._application.readPreferencesFromConfiguration() @@ -203,6 +206,8 @@ class Backup: archive.extract(archive_filename, target_path) except (PermissionError, EnvironmentError): Logger.logException("e", f"Unable to extract the file {archive_filename} from the backup due to permission or file system errors.") + except UnicodeEncodeError: + Logger.error(f"Unable to extract the file {archive_filename} because of an encoding error.") CuraApplication.getInstance().processEvents() return True diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 6f74f71dfe..01ded93124 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -320,7 +320,7 @@ class CuraApplication(QtApplication): super().initialize() self._preferences.addPreference("cura/single_instance", False) - self._use_single_instance = self._preferences.getValue("cura/single_instance") + self._use_single_instance = self._preferences.getValue("cura/single_instance") or self._cli_args.single_instance self.__sendCommandToSingleInstance() self._initializeSettingDefinitions() diff --git a/cura/Machines/Models/MaterialManagementModel.py b/cura/Machines/Models/MaterialManagementModel.py index 6663dbdae1..c75e16cd63 100644 --- a/cura/Machines/Models/MaterialManagementModel.py +++ b/cura/Machines/Models/MaterialManagementModel.py @@ -9,6 +9,7 @@ import zipfile # To export all materials in a .zip archive. from UM.i18n import i18nCatalog from UM.Logger import Logger +from UM.Message import Message from UM.Signal import postponeSignals, CompressTechnique import cura.CuraApplication # Imported like this to prevent circular imports. @@ -287,7 +288,17 @@ class MaterialManagementModel(QObject): """ registry = CuraContainerRegistry.getInstance() - archive = zipfile.ZipFile(file_path.toLocalFile(), "w", compression = zipfile.ZIP_DEFLATED) + try: + archive = zipfile.ZipFile(file_path.toLocalFile(), "w", compression = zipfile.ZIP_DEFLATED) + except OSError as e: + Logger.log("e", f"Can't write to destination {file_path.toLocalFile()}: {type(e)} - {str(e)}") + error_message = Message( + text = catalog.i18nc("@message:text", "Could not save material archive to {}:").format(file_path.toLocalFile()) + " " + str(e), + title = catalog.i18nc("@message:title", "Failed to save material archive"), + message_type = Message.MessageType.ERROR + ) + error_message.show() + return for metadata in registry.findInstanceContainersMetadata(type = "material"): if metadata["base_file"] != metadata["id"]: # Only process base files. continue @@ -296,4 +307,7 @@ class MaterialManagementModel(QObject): material = registry.findContainers(id = metadata["id"])[0] suffix = registry.getMimeTypeForContainer(type(material)).preferredSuffix filename = metadata["id"] + "." + suffix - archive.writestr(filename, material.serialize()) + try: + archive.writestr(filename, material.serialize()) + except OSError as e: + Logger.log("e", f"An error has occurred while writing the material \'{metadata['id']}\' in the file \'{filename}\': {e}.") diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index ac9d704afd..d8e17ec305 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Ultimaker B.V. +# Copyright (c) 2021 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import time @@ -1398,6 +1398,8 @@ class MachineManager(QObject): # previous one). self._global_container_stack.setUserChanges(global_user_changes) for i, user_changes in enumerate(per_extruder_user_changes): + if i >= len(self._global_container_stack.extruderList): # New printer has fewer extruders. + break self._global_container_stack.extruderList[i].setUserChanges(per_extruder_user_changes[i]) @pyqtSlot(QObject) diff --git a/cura/SingleInstance.py b/cura/SingleInstance.py index fa82ceb104..597a4d5f32 100644 --- a/cura/SingleInstance.py +++ b/cura/SingleInstance.py @@ -18,6 +18,8 @@ class SingleInstance: self._single_instance_server = None + self._application.getPreferences().addPreference("cura/single_instance_clear_before_load", True) + # Starts a client that checks for a single instance server and sends the files that need to opened if the server # exists. Returns True if the single instance server is found, otherwise False. def startClient(self) -> bool: @@ -42,8 +44,9 @@ class SingleInstance: # "command" field is required and holds the name of the command to execute. # Other fields depend on the command. - payload = {"command": "clear-all"} - single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding = "ascii")) + if self._application.getPreferences().getValue("cura/single_instance_clear_before_load"): + payload = {"command": "clear-all"} + single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding = "ascii")) payload = {"command": "focus"} single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding = "ascii")) diff --git a/cura/UI/PrintInformation.py b/cura/UI/PrintInformation.py index d6bd336558..2135c6fe81 100644 --- a/cura/UI/PrintInformation.py +++ b/cura/UI/PrintInformation.py @@ -13,6 +13,8 @@ from UM.Qt.Duration import Duration from UM.Scene.SceneNode import SceneNode from UM.i18n import i18nCatalog from UM.MimeTypeDatabase import MimeTypeDatabase, MimeTypeNotFoundError +from UM.OutputDevice.OutputDevice import OutputDevice +from UM.OutputDevice.ProjectOutputDevice import ProjectOutputDevice if TYPE_CHECKING: from cura.CuraApplication import CuraApplication @@ -68,6 +70,7 @@ class PrintInformation(QObject): self._application.globalContainerStackChanged.connect(self.setToZeroPrintInformation) self._application.fileLoaded.connect(self.setBaseName) self._application.workspaceLoaded.connect(self.setProjectName) + self._application.getOutputDeviceManager().writeStarted.connect(self._onOutputStart) self._application.getMachineManager().rootMaterialChanged.connect(self._onActiveMaterialsChanged) self._application.getInstance().getPreferences().preferenceChanged.connect(self._onPreferencesChanged) @@ -439,3 +442,11 @@ class PrintInformation(QObject): """Listen to scene changes to check if we need to reset the print information""" self.setToZeroPrintInformation(self._active_build_plate) + + def _onOutputStart(self, output_device: OutputDevice) -> None: + """If this is the sort of output 'device' (like local or online file storage, rather than a printer), + the user could have altered the file-name, and thus the project name should be altered as well.""" + if isinstance(output_device, ProjectOutputDevice): + new_name = output_device.getLastOutputName() + if new_name is not None: + self.setJobName(os.path.splitext(os.path.basename(new_name))[0]) diff --git a/plugins/DigitalLibrary/src/DigitalFactoryOutputDevice.py b/plugins/DigitalLibrary/src/DigitalFactoryOutputDevice.py index 82caab7d50..0a10ea034c 100644 --- a/plugins/DigitalLibrary/src/DigitalFactoryOutputDevice.py +++ b/plugins/DigitalLibrary/src/DigitalFactoryOutputDevice.py @@ -109,9 +109,9 @@ class DigitalFactoryOutputDevice(ProjectOutputDevice): def _onWriteStarted(self, new_name: Optional[str] = None) -> None: self._writing = True - if new_name and Version(ApplicationMetadata.CuraSDKVersion) >= Version("7.7.0"): - # setLastOutputName is only supported sdk version 7.7.0 and up - self.setLastOutputName(new_name) + if new_name and Version(ApplicationMetadata.CuraSDKVersion) >= Version("7.8.0"): + # setLastOutputName is only supported in sdk version 7.8.0 and up + self.setLastOutputName(new_name) # On saving, the user can change the name, this should propagate. self.writeStarted.emit(self) def _onWriteFinished(self) -> None: diff --git a/plugins/UFPReader/plugin.json b/plugins/UFPReader/plugin.json index be0ea40073..08df39c938 100644 --- a/plugins/UFPReader/plugin.json +++ b/plugins/UFPReader/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides support for reading Ultimaker Format Packages.", - "supported_sdk_versions": ["7.7.0"], + "supported_sdk_versions": ["7.8.0"], "i18n-catalog": "cura" } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/src/Network/SendMaterialJob.py b/plugins/UM3NetworkPrinting/src/Network/SendMaterialJob.py index 96a2b78e8f..877eaebcb7 100644 --- a/plugins/UM3NetworkPrinting/src/Network/SendMaterialJob.py +++ b/plugins/UM3NetworkPrinting/src/Network/SendMaterialJob.py @@ -133,6 +133,9 @@ class SendMaterialJob(Job): except FileNotFoundError: Logger.error("Unable to send material {material_id}, since it has been deleted in the meanwhile.".format(material_id = material_id)) return + except EnvironmentError as e: + Logger.error(f"Unable to send material {material_id}. We can't open that file for reading: {str(e)}") + return # Add the material signature file if needed. signature_file_path = "{}.sig".format(file_path) diff --git a/resources/bundled_packages/cura.json b/resources/bundled_packages/cura.json index c2c4b374fb..a5d0ffb2a3 100644 --- a/resources/bundled_packages/cura.json +++ b/resources/bundled_packages/cura.json @@ -6,7 +6,7 @@ "display_name": "3MF Reader", "description": "Provides support for reading 3MF files.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -23,7 +23,7 @@ "display_name": "3MF Writer", "description": "Provides support for writing 3MF files.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -40,7 +40,7 @@ "display_name": "AMF Reader", "description": "Provides support for reading AMF files.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "fieldOfView", @@ -57,7 +57,7 @@ "display_name": "Cura Backups", "description": "Backup and restore your configuration.", "package_version": "1.2.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -74,7 +74,7 @@ "display_name": "CuraEngine Backend", "description": "Provides the link to the CuraEngine slicing backend.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -91,7 +91,7 @@ "display_name": "Cura Profile Reader", "description": "Provides support for importing Cura profiles.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -108,7 +108,7 @@ "display_name": "Cura Profile Writer", "description": "Provides support for exporting Cura profiles.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -124,8 +124,8 @@ "package_type": "plugin", "display_name": "Ultimaker Digital Library", "description": "Connects to the Digital Library, allowing Cura to open files from and save files to the Digital Library.", - "package_version": "1.0.0", - "sdk_version": "7.7.0", + "package_version": "1.1.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -142,7 +142,7 @@ "display_name": "Firmware Update Checker", "description": "Checks for firmware updates.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -159,7 +159,7 @@ "display_name": "Firmware Updater", "description": "Provides a machine actions for updating firmware.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -176,7 +176,7 @@ "display_name": "Compressed G-code Reader", "description": "Reads g-code from a compressed archive.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -193,7 +193,7 @@ "display_name": "Compressed G-code Writer", "description": "Writes g-code to a compressed archive.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -210,7 +210,7 @@ "display_name": "G-Code Profile Reader", "description": "Provides support for importing profiles from g-code files.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -227,7 +227,7 @@ "display_name": "G-Code Reader", "description": "Allows loading and displaying G-code files.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "VictorLarchenko", @@ -244,7 +244,7 @@ "display_name": "G-Code Writer", "description": "Writes g-code to a file.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -261,7 +261,7 @@ "display_name": "Image Reader", "description": "Enables ability to generate printable geometry from 2D image files.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -278,7 +278,7 @@ "display_name": "Legacy Cura Profile Reader", "description": "Provides support for importing profiles from legacy Cura versions.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -295,7 +295,7 @@ "display_name": "Machine Settings Action", "description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "fieldOfView", @@ -312,7 +312,7 @@ "display_name": "Model Checker", "description": "Checks models and print configuration for possible printing issues and give suggestions.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -329,7 +329,7 @@ "display_name": "Monitor Stage", "description": "Provides a monitor stage in Cura.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -346,7 +346,7 @@ "display_name": "Per-Object Settings Tool", "description": "Provides the per-model settings.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -363,7 +363,7 @@ "display_name": "Post Processing", "description": "Extension that allows for user created scripts for post processing.", "package_version": "2.2.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -380,7 +380,7 @@ "display_name": "Prepare Stage", "description": "Provides a prepare stage in Cura.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -397,7 +397,7 @@ "display_name": "Preview Stage", "description": "Provides a preview stage in Cura.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -414,7 +414,7 @@ "display_name": "Removable Drive Output Device", "description": "Provides removable drive hotplugging and writing support.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -431,7 +431,7 @@ "display_name": "Sentry Logger", "description": "Logs certain events so that they can be used by the crash reporter", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -448,7 +448,7 @@ "display_name": "Simulation View", "description": "Provides the Simulation view.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -465,7 +465,7 @@ "display_name": "Slice Info", "description": "Submits anonymous slice info. Can be disabled through preferences.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -482,7 +482,7 @@ "display_name": "Solid View", "description": "Provides a normal solid mesh view.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -499,7 +499,7 @@ "display_name": "Support Eraser Tool", "description": "Creates an eraser mesh to block the printing of support in certain places.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -516,7 +516,7 @@ "display_name": "Trimesh Reader", "description": "Provides support for reading model files.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -533,7 +533,7 @@ "display_name": "Toolbox", "description": "Find, manage and install new Cura packages.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -550,7 +550,7 @@ "display_name": "UFP Reader", "description": "Provides support for reading Ultimaker Format Packages.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -567,7 +567,7 @@ "display_name": "UFP Writer", "description": "Provides support for writing Ultimaker Format Packages.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -584,7 +584,7 @@ "display_name": "Ultimaker Machine Actions", "description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -601,7 +601,7 @@ "display_name": "UM3 Network Printing", "description": "Manages network connections to Ultimaker 3 printers.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -618,7 +618,7 @@ "display_name": "USB Printing", "description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.", "package_version": "1.0.2", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -635,7 +635,7 @@ "display_name": "Version Upgrade 2.1 to 2.2", "description": "Upgrades configurations from Cura 2.1 to Cura 2.2.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -652,7 +652,7 @@ "display_name": "Version Upgrade 2.2 to 2.4", "description": "Upgrades configurations from Cura 2.2 to Cura 2.4.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -669,7 +669,7 @@ "display_name": "Version Upgrade 2.5 to 2.6", "description": "Upgrades configurations from Cura 2.5 to Cura 2.6.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -686,7 +686,7 @@ "display_name": "Version Upgrade 2.6 to 2.7", "description": "Upgrades configurations from Cura 2.6 to Cura 2.7.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -703,7 +703,7 @@ "display_name": "Version Upgrade 2.7 to 3.0", "description": "Upgrades configurations from Cura 2.7 to Cura 3.0.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -720,7 +720,7 @@ "display_name": "Version Upgrade 3.0 to 3.1", "description": "Upgrades configurations from Cura 3.0 to Cura 3.1.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -737,7 +737,7 @@ "display_name": "Version Upgrade 3.2 to 3.3", "description": "Upgrades configurations from Cura 3.2 to Cura 3.3.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -754,7 +754,7 @@ "display_name": "Version Upgrade 3.3 to 3.4", "description": "Upgrades configurations from Cura 3.3 to Cura 3.4.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -771,7 +771,7 @@ "display_name": "Version Upgrade 3.4 to 3.5", "description": "Upgrades configurations from Cura 3.4 to Cura 3.5.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -788,7 +788,7 @@ "display_name": "Version Upgrade 3.5 to 4.0", "description": "Upgrades configurations from Cura 3.5 to Cura 4.0.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -805,7 +805,7 @@ "display_name": "Version Upgrade 4.0 to 4.1", "description": "Upgrades configurations from Cura 4.0 to Cura 4.1.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -822,7 +822,7 @@ "display_name": "Version Upgrade 4.1 to 4.2", "description": "Upgrades configurations from Cura 4.1 to Cura 4.2.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -839,7 +839,7 @@ "display_name": "Version Upgrade 4.2 to 4.3", "description": "Upgrades configurations from Cura 4.2 to Cura 4.3.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -856,7 +856,7 @@ "display_name": "Version Upgrade 4.3 to 4.4", "description": "Upgrades configurations from Cura 4.3 to Cura 4.4.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -873,7 +873,7 @@ "display_name": "Version Upgrade 4.4 to 4.5", "description": "Upgrades configurations from Cura 4.4 to Cura 4.5.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -890,7 +890,7 @@ "display_name": "Version Upgrade 4.5 to 4.6", "description": "Upgrades configurations from Cura 4.5 to Cura 4.6.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -907,7 +907,7 @@ "display_name": "Version Upgrade 4.6.0 to 4.6.2", "description": "Upgrades configurations from Cura 4.6.0 to Cura 4.6.2.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -924,7 +924,7 @@ "display_name": "Version Upgrade 4.6.2 to 4.7", "description": "Upgrades configurations from Cura 4.6.2 to Cura 4.7.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -941,7 +941,7 @@ "display_name": "Version Upgrade 4.7.0 to 4.8.0", "description": "Upgrades configurations from Cura 4.7.0 to Cura 4.8.0", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -958,7 +958,7 @@ "display_name": "Version Upgrade 4.8.0 to 4.9.0", "description": "Upgrades configurations from Cura 4.8.0 to Cura 4.9.0", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -976,7 +976,7 @@ "description": "Upgrades configurations from Cura 4.9 to Cura 4.10", "package_version": "1.0.0", "sdk_version": 7, - "sdk_version_semver": "7.7.0", + "sdk_version_semver": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -1011,7 +1011,7 @@ "display_name": "X3D Reader", "description": "Provides support for reading X3D files.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "SevaAlekseyev", @@ -1028,7 +1028,7 @@ "display_name": "XML Material Profiles", "description": "Provides capabilities to read and write XML-based material profiles.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -1045,7 +1045,7 @@ "display_name": "X-Ray View", "description": "Provides the X-Ray view.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -1062,7 +1062,7 @@ "display_name": "Generic ABS", "description": "The generic ABS profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1080,7 +1080,7 @@ "display_name": "Generic BAM", "description": "The generic BAM profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1098,7 +1098,7 @@ "display_name": "Generic CFF CPE", "description": "The generic CFF CPE profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1116,7 +1116,7 @@ "display_name": "Generic CFF PA", "description": "The generic CFF PA profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1134,7 +1134,7 @@ "display_name": "Generic CPE", "description": "The generic CPE profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1152,7 +1152,7 @@ "display_name": "Generic CPE+", "description": "The generic CPE+ profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1170,7 +1170,7 @@ "display_name": "Generic GFF CPE", "description": "The generic GFF CPE profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1188,7 +1188,7 @@ "display_name": "Generic GFF PA", "description": "The generic GFF PA profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1206,7 +1206,7 @@ "display_name": "Generic HIPS", "description": "The generic HIPS profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1224,7 +1224,7 @@ "display_name": "Generic Nylon", "description": "The generic Nylon profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1242,7 +1242,7 @@ "display_name": "Generic PC", "description": "The generic PC profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1260,7 +1260,7 @@ "display_name": "Generic PETG", "description": "The generic PETG profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1278,7 +1278,7 @@ "display_name": "Generic PLA", "description": "The generic PLA profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1296,7 +1296,7 @@ "display_name": "Generic PP", "description": "The generic PP profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1314,7 +1314,7 @@ "display_name": "Generic PVA", "description": "The generic PVA profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1332,7 +1332,7 @@ "display_name": "Generic Tough PLA", "description": "The generic Tough PLA profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1350,7 +1350,7 @@ "display_name": "Generic TPU", "description": "The generic TPU profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1368,7 +1368,7 @@ "display_name": "Dagoma Chromatik PLA", "description": "Filament testé et approuvé pour les imprimantes 3D Dagoma. Chromatik est l'idéal pour débuter et suivre les tutoriels premiers pas. Il vous offre qualité et résistance pour chacune de vos impressions.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://dagoma.fr/boutique/filaments.html", "author": { "author_id": "Dagoma", @@ -1385,7 +1385,7 @@ "display_name": "FABtotum ABS", "description": "This material is easy to be extruded but it is not the simplest to use. It is one of the most used in 3D printing to get very well finished objects. It is not sustainable and its smoke can be dangerous if inhaled. The reason to prefer this filament to PLA is mainly because of its precision and mechanical specs. ABS (for plastic) stands for Acrylonitrile Butadiene Styrene and it is a thermoplastic which is widely used in everyday objects. It can be printed with any FFF 3D printer which can get to high temperatures as it must be extruded in a range between 220° and 245°, so it’s compatible with all versions of the FABtotum Personal fabricator.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=40", "author": { "author_id": "FABtotum", @@ -1402,7 +1402,7 @@ "display_name": "FABtotum Nylon", "description": "When 3D printing started this material was not listed among the extrudable filaments. It is flexible as well as resistant to tractions. It is well known for its uses in textile but also in industries which require a strong and flexible material. There are different kinds of Nylon: 3D printing mostly uses Nylon 6 and Nylon 6.6, which are the most common. It requires higher temperatures to be printed, so a 3D printer must be able to reach them (around 240°C): the FABtotum, of course, can.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=53", "author": { "author_id": "FABtotum", @@ -1419,7 +1419,7 @@ "display_name": "FABtotum PLA", "description": "It is the most common filament used for 3D printing. It is studied to be bio-degradable as it comes from corn starch’s sugar mainly. It is completely made of renewable sources and has no footprint on polluting. PLA stands for PolyLactic Acid and it is a thermoplastic that today is still considered the easiest material to be 3D printed. It can be extruded at lower temperatures: the standard range of FABtotum’s one is between 185° and 195°.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=39", "author": { "author_id": "FABtotum", @@ -1436,7 +1436,7 @@ "display_name": "FABtotum TPU Shore 98A", "description": "", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=66", "author": { "author_id": "FABtotum", @@ -1453,7 +1453,7 @@ "display_name": "Fiberlogy HD PLA", "description": "With our HD PLA you have many more options. You can use this material in two ways. Choose the one you like best. You can use it as a normal PLA and get prints characterized by a very good adhesion between the layers and high precision. You can also make your prints acquire similar properties to that of ABS – better impact resistance and high temperature resistance. All you need is an oven. Yes, an oven! By annealing our HD PLA in an oven, in accordance with the manual, you will avoid all the inconveniences of printing with ABS, such as unpleasant odour or hazardous fumes.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://fiberlogy.com/en/fiberlogy-filaments/filament-hd-pla/", "author": { "author_id": "Fiberlogy", @@ -1470,7 +1470,7 @@ "display_name": "Filo3D PLA", "description": "Fast, safe and reliable printing. PLA is ideal for the fast and reliable printing of parts and prototypes with a great surface quality.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://dagoma.fr", "author": { "author_id": "Dagoma", @@ -1487,7 +1487,7 @@ "display_name": "IMADE3D JellyBOX PETG", "description": "", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://shop.imade3d.com/filament.html", "author": { "author_id": "IMADE3D", @@ -1504,7 +1504,7 @@ "display_name": "IMADE3D JellyBOX PLA", "description": "", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://shop.imade3d.com/filament.html", "author": { "author_id": "IMADE3D", @@ -1521,7 +1521,7 @@ "display_name": "Octofiber PLA", "description": "PLA material from Octofiber.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://nl.octofiber.com/3d-printing-filament/pla.html", "author": { "author_id": "Octofiber", @@ -1538,7 +1538,7 @@ "display_name": "PolyFlex™ PLA", "description": "PolyFlex™ is a highly flexible yet easy to print 3D printing material. Featuring good elasticity and a large strain-to- failure, PolyFlex™ opens up a completely new realm of applications.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://www.polymaker.com/shop/polyflex/", "author": { "author_id": "Polymaker", @@ -1555,7 +1555,7 @@ "display_name": "PolyMax™ PLA", "description": "PolyMax™ PLA is a 3D printing material with excellent mechanical properties and printing quality. PolyMax™ PLA has an impact resistance of up to nine times that of regular PLA, and better overall mechanical properties than ABS.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://www.polymaker.com/shop/polymax/", "author": { "author_id": "Polymaker", @@ -1572,7 +1572,7 @@ "display_name": "PolyPlus™ PLA True Colour", "description": "PolyPlus™ PLA is a premium PLA designed for all desktop FDM/FFF 3D printers. It is produced with our patented Jam-Free™ technology that ensures consistent extrusion and prevents jams.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://www.polymaker.com/shop/polyplus-true-colour/", "author": { "author_id": "Polymaker", @@ -1589,7 +1589,7 @@ "display_name": "PolyWood™ PLA", "description": "PolyWood™ is a wood mimic printing material that contains no actual wood ensuring a clean Jam-Free™ printing experience.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://www.polymaker.com/shop/polywood/", "author": { "author_id": "Polymaker", @@ -1606,7 +1606,7 @@ "display_name": "Ultimaker ABS", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1625,7 +1625,7 @@ "display_name": "Ultimaker Breakaway", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/breakaway", "author": { "author_id": "UltimakerPackages", @@ -1644,7 +1644,7 @@ "display_name": "Ultimaker CPE", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1663,7 +1663,7 @@ "display_name": "Ultimaker CPE+", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/cpe", "author": { "author_id": "UltimakerPackages", @@ -1682,7 +1682,7 @@ "display_name": "Ultimaker Nylon", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1701,7 +1701,7 @@ "display_name": "Ultimaker PC", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/pc", "author": { "author_id": "UltimakerPackages", @@ -1720,7 +1720,7 @@ "display_name": "Ultimaker PLA", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1739,7 +1739,7 @@ "display_name": "Ultimaker PP", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/pp", "author": { "author_id": "UltimakerPackages", @@ -1758,7 +1758,7 @@ "display_name": "Ultimaker PVA", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1777,7 +1777,7 @@ "display_name": "Ultimaker TPU 95A", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/tpu-95a", "author": { "author_id": "UltimakerPackages", @@ -1796,7 +1796,7 @@ "display_name": "Ultimaker Tough PLA", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/tough-pla", "author": { "author_id": "UltimakerPackages", @@ -1815,7 +1815,7 @@ "display_name": "Vertex Delta ABS", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", @@ -1832,7 +1832,7 @@ "display_name": "Vertex Delta PET", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", @@ -1849,7 +1849,7 @@ "display_name": "Vertex Delta PLA", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", @@ -1866,7 +1866,7 @@ "display_name": "Vertex Delta TPU", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", diff --git a/resources/definitions/creality_ender6.def.json b/resources/definitions/creality_ender6.def.json new file mode 100644 index 0000000000..7d1c8ff9f4 --- /dev/null +++ b/resources/definitions/creality_ender6.def.json @@ -0,0 +1,41 @@ +{ + "name": "Creality Ender-6", + "version": 2, + "inherits": "creality_base", + "overrides": { + "machine_name": { "default_value": "Creality Ender-6" }, + "machine_start_gcode": { "default_value": "\nG28 ;Home\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\n"}, + "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\nG28 X Y ;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_width": { "default_value": 260 }, + "machine_depth": { "default_value": 260 }, + "machine_height": { "default_value": 400 }, + "z_seam_type": { "value": "'sharpest_corner'"}, + "z_seam_corner": { "value": "'z_seam_corner_inner'"}, + "infill_sparse_density": { "value": "10"}, + "infill_pattern": { "value": "'lines' if infill_sparse_density > 50 else 'grid'"}, + "infill_overlap":{"value": 10}, + "material_print_temperature":{"value": 220}, + "material_bed_temperature":{"value": 50}, + "retraction_amount":{"value": 10}, + "speed_travel": { "value": 80.0 }, + "coasting_enable": { "value": true}, + "coasting_min_volume": { "value": 0.5}, + "machine_head_with_fans_polygon": { "default_value": [ + [-26, 34], + [-26, -32], + [32, -32], + [32, 34] + ] + }, + + "gantry_height": { "value": 25 }, + + "speed_print": { "value": 50.0 }, + "speed_wall": { "value": 30.0 } + + }, + "metadata": { + "quality_definition": "creality_base", + "visible": true + } +} diff --git a/resources/qml/Account/AccountWidget.qml b/resources/qml/Account/AccountWidget.qml index ef1622daee..b058ead22f 100644 --- a/resources/qml/Account/AccountWidget.qml +++ b/resources/qml/Account/AccountWidget.qml @@ -12,8 +12,8 @@ Item property var profile: Cura.API.account.userProfile property var loggedIn: Cura.API.account.isLoggedIn - height: signInButton.height > accountWidget.height ? signInButton.height : accountWidget.height - width: signInButton.width > accountWidget.width ? signInButton.width : accountWidget.width + height: signInButton.visible ? signInButton.height : accountWidget.height + width: signInButton.visible ? signInButton.width : accountWidget.width Button { @@ -32,9 +32,18 @@ Item background: Rectangle { radius: UM.Theme.getSize("action_button_radius").width - color: signInButton.hovered ? UM.Theme.getColor("primary_text") : UM.Theme.getColor("main_window_header_background") + color: UM.Theme.getColor("main_window_header_background") border.width: UM.Theme.getSize("default_lining").width border.color: UM.Theme.getColor("primary_text") + + Rectangle + { + anchors.fill: parent + radius: parent.radius + color: UM.Theme.getColor("primary_text") + opacity: signInButton.hovered ? 0.2 : 0 + Behavior on opacity { NumberAnimation { duration: 100 } } + } } contentItem: Label @@ -42,7 +51,7 @@ Item id: label text: signInButton.text font: UM.Theme.getFont("default") - color: signInButton.hovered ? UM.Theme.getColor("main_window_header_background") : UM.Theme.getColor("primary_text") + color: UM.Theme.getColor("primary_text") width: contentWidth verticalAlignment: Text.AlignVCenter renderType: Text.NativeRendering @@ -54,7 +63,6 @@ Item id: accountWidget anchors.verticalCenter: parent.verticalCenter - anchors.horizontalCenter: signInButton.horizontalCenter implicitHeight: Math.round(0.5 * UM.Theme.getSize("main_window_header").height) implicitWidth: Math.round(0.5 * UM.Theme.getSize("main_window_header").height) @@ -90,9 +98,19 @@ Item width: Math.min(accountWidget.width, accountWidget.height) height: width radius: width - color: accountWidget.hovered ? UM.Theme.getColor("primary_text") : "transparent" - border.width: 1 + color: UM.Theme.getColor("main_window_header_background") + border.width: UM.Theme.getSize("default_lining").width border.color: UM.Theme.getColor("primary_text") + + Rectangle + { + id: initialCircleFill + anchors.fill: parent + radius: parent.radius + color: UM.Theme.getColor("primary_text") + opacity: accountWidget.hovered ? 0.2 : 0 + Behavior on opacity { NumberAnimation { duration: 100 } } + } } Label @@ -102,7 +120,7 @@ Item anchors.horizontalCenter: parent.horizontalCenter text: accountWidget.text font: UM.Theme.getFont("large_bold") - color: accountWidget.hovered ? UM.Theme.getColor("main_window_header_background") : UM.Theme.getColor("primary_text") + color: UM.Theme.getColor("primary_text") verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter renderType: Text.NativeRendering @@ -142,7 +160,7 @@ Item borderColor: UM.Theme.getColor("lining") borderWidth: UM.Theme.getSize("default_lining").width - target: Qt.point(width - (signInButton.width / 2), -10) + target: Qt.point(width - ((signInButton.visible ? signInButton.width : accountWidget.width) / 2), -10) arrowSize: UM.Theme.getSize("default_arrow").width } diff --git a/resources/qml/ApplicationSwitcher/ApplicationButton.qml b/resources/qml/ApplicationSwitcher/ApplicationButton.qml new file mode 100644 index 0000000000..bcf780753c --- /dev/null +++ b/resources/qml/ApplicationSwitcher/ApplicationButton.qml @@ -0,0 +1,91 @@ +// Copyright (c) 2021 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.10 +import QtQuick.Controls 2.3 + +import UM 1.4 as UM +import Cura 1.1 as Cura + +Button +{ + id: base + + property alias iconSource: applicationIcon.source + property alias displayName: applicationDisplayName.text + property alias tooltipText: tooltip.text + property bool isExternalLink: false + property color borderColor: hovered ? UM.Theme.getColor("primary") : "transparent" + property color backgroundColor: hovered ? UM.Theme.getColor("action_button_hovered") : UM.Theme.getColor("action_button") + Behavior on backgroundColor { ColorAnimation { duration: 200; } } + Behavior on borderColor { ColorAnimation { duration: 200; } } + + hoverEnabled: true + width: UM.Theme.getSize("application_switcher_item").width + height: UM.Theme.getSize("application_switcher_item").height + + background: Rectangle + { + color:backgroundColor + border.color: borderColor + border.width: UM.Theme.getSize("default_lining").width + } + + Cura.ToolTip + { + id: tooltip + tooltipText: base.text + visible: base.hovered + } + + Column + { + id: applicationButtonContent + anchors.left: parent.left + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + + UM.RecolorImage + { + id: applicationIcon + anchors.horizontalCenter: parent.horizontalCenter + + color: UM.Theme.getColor("icon") + width: UM.Theme.getSize("application_switcher_icon").width + height: width + + UM.RecolorImage + { + id: externalLinkIndicatorIcon + visible: base.isExternalLink + + anchors + { + bottom: parent.bottom + bottomMargin: - Math.round(height * 1 / 6) + right: parent.right + rightMargin: - Math.round(width * 5 / 6) + } + width: UM.Theme.getSize("icon_indicator").width + height: width + color: UM.Theme.getColor("icon") + source: UM.Theme.getIcon("LinkExternal") + } + } + + Label + { + id: applicationDisplayName + + anchors.left: parent.left + anchors.right: parent.right + + height: base.height - applicationIcon.height - 2 * UM.Theme.getSize("default_margin").width // Account for the top and bottom margins + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + wrapMode: Text.Wrap + elide: Text.ElideRight + color: UM.Theme.getColor("text") + } + } +} diff --git a/resources/qml/ApplicationSwitcher/ApplicationSwitcher.qml b/resources/qml/ApplicationSwitcher/ApplicationSwitcher.qml new file mode 100644 index 0000000000..a8ea2312a5 --- /dev/null +++ b/resources/qml/ApplicationSwitcher/ApplicationSwitcher.qml @@ -0,0 +1,61 @@ +// Copyright (c) 2021 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.10 +import QtQuick.Controls 2.3 +import QtQuick.Layouts 1.15 + +import UM 1.4 as UM +import Cura 1.1 as Cura + +Item +{ + id: applicationSwitcherWidget + width: Math.round(0.5 * UM.Theme.getSize("main_window_header").height) + height: width + + Button + { + id: applicationSwitcherButton + + anchors.fill: parent + + background: Item + { + Rectangle + { + anchors.fill: parent + radius: UM.Theme.getSize("action_button_radius").width + color: UM.Theme.getColor("primary_text") + opacity: applicationSwitcherButton.hovered ? 0.2 : 0 + Behavior on opacity { NumberAnimation { duration: 100; } } + } + + UM.RecolorImage + { + anchors.fill: parent + color: UM.Theme.getColor("primary_text") + + source: UM.Theme.getIcon("BlockGrid") + } + } + + onClicked: + { + if (applicationSwitcherPopup.opened) + { + applicationSwitcherPopup.close() + } else { + applicationSwitcherPopup.open() + } + } + } + ApplicationSwitcherPopup + { + id: applicationSwitcherPopup + y: parent.height + UM.Theme.getSize("default_arrow").height + + // Move the x position by the default margin so that the arrow isn't drawn exactly on the corner + x: parent.width - width + UM.Theme.getSize("default_margin").width + } +} \ No newline at end of file diff --git a/resources/qml/ApplicationSwitcher/ApplicationSwitcherPopup.qml b/resources/qml/ApplicationSwitcher/ApplicationSwitcherPopup.qml new file mode 100644 index 0000000000..7d08b766a8 --- /dev/null +++ b/resources/qml/ApplicationSwitcher/ApplicationSwitcherPopup.qml @@ -0,0 +1,110 @@ +// Copyright (c) 2021 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.10 +import QtQuick.Controls 2.3 +import QtQuick.Layouts 1.15 + +import UM 1.4 as UM +import Cura 1.1 as Cura + +Popup +{ + id: applicationSwitcherPopup + + closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent + + opacity: opened ? 1 : 0 + Behavior on opacity { NumberAnimation { duration: 100 } } + padding: UM.Theme.getSize("wide_margin").width + + contentItem: Grid + { + id: ultimakerPlatformLinksGrid + columns: 3 + spacing: UM.Theme.getSize("default_margin").width + + Repeater + { + model: + [ + { + displayName: catalog.i18nc("@label:button", "My printers"), + thumbnail: UM.Theme.getIcon("PrinterTriple", "high"), + description: catalog.i18nc("@tooltip:button", "Monitor printers in Ultimaker Digital Factory."), + link: "https://digitalfactory.ultimaker.com/app/printers?utm_source=cura&utm_medium=software&utm_campaign=switcher-digital-factory-printers" + }, + { + displayName: "Digital Library", //Not translated, since it's a brand name. + thumbnail: UM.Theme.getIcon("Library", "high"), + description: catalog.i18nc("@tooltip:button", "Create print projects in Digital Library."), + link: "https://digitalfactory.ultimaker.com/app/library?utm_source=cura&utm_medium=software&utm_campaign=switcher-library" + }, + { + displayName: catalog.i18nc("@label:button", "Print jobs"), + thumbnail: UM.Theme.getIcon("FoodBeverages"), + description: catalog.i18nc("@tooltip:button", "Monitor print jobs and reprint from your print history."), + link: "https://digitalfactory.ultimaker.com/app/print-jobs?utm_source=cura&utm_medium=software&utm_campaign=switcher-digital-factory- printjobs" + }, + { + displayName: "Ultimaker Marketplace", //Not translated, since it's a brand name. + thumbnail: UM.Theme.getIcon("Shop", "high"), + description: catalog.i18nc("@tooltip:button", "Extend Ultimaker Cura with plugins and material profiles."), + link: "https://marketplace.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-marketplace-materials" + }, + { + displayName: "Ultimaker Academy", //Not translated, since it's a brand name. + thumbnail: UM.Theme.getIcon("Knowledge"), + description: catalog.i18nc("@tooltip:button", "Become a 3D printing expert with Ultimaker e-learning."), + link: "https://academy.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-academy" + }, + { + displayName: catalog.i18nc("@label:button", "Ultimaker support"), + thumbnail: UM.Theme.getIcon("Help", "high"), + description: catalog.i18nc("@tooltip:button", "Learn how to get started with Ultimaker Cura."), + link: "https://support.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-support" + }, + { + displayName: catalog.i18nc("@label:button", "Ask a question"), + thumbnail: UM.Theme.getIcon("Speak", "high"), + description: catalog.i18nc("@tooltip:button", "Consult the Ultimaker Community."), + link: "https://community.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-community" + }, + { + displayName: catalog.i18nc("@label:button", "Report a bug"), + thumbnail: UM.Theme.getIcon("Bug", "high"), + description: catalog.i18nc("@tooltip:button", "Let developers know that something is going wrong."), + link: "https://github.com/Ultimaker/Cura/issues/new/choose" + }, + { + displayName: "Ultimaker.com", //Not translated, since it's a URL. + thumbnail: UM.Theme.getIcon("Browser"), + description: catalog.i18nc("@tooltip:button", "Visit the Ultimaker website."), + link: "https://ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-umwebsite" + } + ] + + delegate: ApplicationButton + { + displayName: modelData.displayName + iconSource: modelData.thumbnail + tooltipText: modelData.description + isExternalLink: true + + onClicked: Qt.openUrlExternally(modelData.link) + } + } + } + + background: UM.PointingRectangle + { + color: UM.Theme.getColor("tool_panel_background") + borderColor: UM.Theme.getColor("lining") + borderWidth: UM.Theme.getSize("default_lining").width + + // Move the target by the default margin so that the arrow isn't drawn exactly on the corner + target: Qt.point(width - UM.Theme.getSize("default_margin").width - (applicationSwitcherButton.width / 2), -10) + + arrowSize: UM.Theme.getSize("default_arrow").width + } +} \ No newline at end of file diff --git a/resources/qml/MainWindow/MainWindowHeader.qml b/resources/qml/MainWindow/MainWindowHeader.qml index c27f3b0a24..815ddff732 100644 --- a/resources/qml/MainWindow/MainWindowHeader.qml +++ b/resources/qml/MainWindow/MainWindowHeader.qml @@ -10,6 +10,7 @@ import UM 1.4 as UM import Cura 1.0 as Cura import "../Account" +import "../ApplicationSwitcher" Item { @@ -94,10 +95,21 @@ Item background: Rectangle { + id: marketplaceButtonBorder radius: UM.Theme.getSize("action_button_radius").width - color: marketplaceButton.hovered ? UM.Theme.getColor("primary_text") : UM.Theme.getColor("main_window_header_background") + color: UM.Theme.getColor("main_window_header_background") border.width: UM.Theme.getSize("default_lining").width border.color: UM.Theme.getColor("primary_text") + + Rectangle + { + id: marketplaceButtonFill + anchors.fill: parent + radius: parent.radius + color: UM.Theme.getColor("primary_text") + opacity: marketplaceButton.hovered ? 0.2 : 0 + Behavior on opacity { NumberAnimation { duration: 100 } } + } } contentItem: Label @@ -105,7 +117,7 @@ Item id: label text: marketplaceButton.text font: UM.Theme.getFont("default") - color: marketplaceButton.hovered ? UM.Theme.getColor("main_window_header_background") : UM.Theme.getColor("primary_text") + color: UM.Theme.getColor("primary_text") width: contentWidth verticalAlignment: Text.AlignVCenter renderType: Text.NativeRendering @@ -113,7 +125,7 @@ Item anchors { - right: accountWidget.left + right: applicationSwitcher.left rightMargin: UM.Theme.getSize("default_margin").width verticalCenter: parent.verticalCenter } @@ -138,6 +150,17 @@ Item } } + ApplicationSwitcher + { + id: applicationSwitcher + anchors + { + verticalCenter: parent.verticalCenter + right: accountWidget.left + rightMargin: UM.Theme.getSize("default_margin").width + } + } + AccountWidget { id: accountWidget diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 98f3266455..905c8485d0 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -76,6 +76,8 @@ UM.PreferencesPage UM.Preferences.resetPreference("cura/single_instance") singleInstanceCheckbox.checked = boolCheck(UM.Preferences.getValue("cura/single_instance")) + UM.Preferences.resetPreference("cura/single_instance_clear_before_load") + singleInstanceClearBeforeLoadCheckbox.checked = boolCheck(UM.Preferences.getValue("cura/single_instance_clear_before_load")) UM.Preferences.resetPreference("physics/automatic_push_free") pushFreeCheckbox.checked = boolCheck(UM.Preferences.getValue("physics/automatic_push_free")) @@ -567,6 +569,22 @@ UM.PreferencesPage } } + UM.TooltipArea + { + width: childrenRect.width + height: childrenRect.height + text: catalog.i18nc("@info:tooltip","Should the build plate be cleared before loading a new model in the single instance of Cura?") + enabled: singleInstanceCheckbox.checked + + CheckBox + { + id: singleInstanceClearBeforeLoadCheckbox + text: catalog.i18nc("@option:check","Clear buildplate before loading model into the single instance") + checked: boolCheck(UM.Preferences.getValue("cura/single_instance_clear_before_load")) + onCheckedChanged: UM.Preferences.setValue("cura/single_instance_clear_before_load", checked) + } + } + UM.TooltipArea { width: childrenRect.width diff --git a/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml b/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml index 49d5b57021..1209071320 100644 --- a/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml +++ b/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml @@ -205,6 +205,7 @@ Item height: UM.Theme.getSize("message_action_button").height onClicked: { CuraApplication.getDiscoveredCloudPrintersModel().clear() + Cura.API.account.sync(true) base.addCloudPrinterButtonClicked() } } diff --git a/resources/texts/change_log.txt b/resources/texts/change_log.txt index 6dc8835de1..d089d2c16b 100644 --- a/resources/texts/change_log.txt +++ b/resources/texts/change_log.txt @@ -98,7 +98,7 @@ When double clicking on a file in the open project dialog in Digital Factory it - Fixed a bug when the seam was not placed in sharpest corner. - Fixed the gantry height for S-line printers. - Fixed a bug where a model is partially below build plate if center selected model is used. -- Fixed a bug where a tootip arrow appeared when the "Manage printers" button is hovered. +- Fixed a bug where a tooltip arrow appeared when the "Manage printers" button is hovered. - Fixed a bug where assemblies were not arranged in the center of the build plate. * Printer definitions, profiles and materials. diff --git a/resources/themes/cura-light/icons/default/BlockGrid.svg b/resources/themes/cura-light/icons/default/BlockGrid.svg new file mode 100644 index 0000000000..207171b8f7 --- /dev/null +++ b/resources/themes/cura-light/icons/default/BlockGrid.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Browser.svg b/resources/themes/cura-light/icons/default/Browser.svg new file mode 100644 index 0000000000..01365ec678 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Browser.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Bug.svg b/resources/themes/cura-light/icons/default/Bug.svg new file mode 100644 index 0000000000..7ad9bb4f1c --- /dev/null +++ b/resources/themes/cura-light/icons/default/Bug.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/FoodBeverages.svg b/resources/themes/cura-light/icons/default/FoodBeverages.svg new file mode 100644 index 0000000000..1e74b33955 --- /dev/null +++ b/resources/themes/cura-light/icons/default/FoodBeverages.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Help.svg b/resources/themes/cura-light/icons/default/Help.svg new file mode 100644 index 0000000000..84f94c2703 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Help.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Knowledge.svg b/resources/themes/cura-light/icons/default/Knowledge.svg new file mode 100644 index 0000000000..4f8798d5f1 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Knowledge.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Library.svg b/resources/themes/cura-light/icons/default/Library.svg new file mode 100644 index 0000000000..beb8c6e593 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Library.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Shop.svg b/resources/themes/cura-light/icons/default/Shop.svg new file mode 100644 index 0000000000..bfd5a4bf69 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Shop.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Speak.svg b/resources/themes/cura-light/icons/default/Speak.svg new file mode 100644 index 0000000000..8f308643a7 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Speak.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/high/Bug.svg b/resources/themes/cura-light/icons/high/Bug.svg new file mode 100644 index 0000000000..a24963cd8e --- /dev/null +++ b/resources/themes/cura-light/icons/high/Bug.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/high/Help.svg b/resources/themes/cura-light/icons/high/Help.svg new file mode 100644 index 0000000000..355b9dd468 --- /dev/null +++ b/resources/themes/cura-light/icons/high/Help.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/high/Library.svg b/resources/themes/cura-light/icons/high/Library.svg new file mode 100644 index 0000000000..3ddc018543 --- /dev/null +++ b/resources/themes/cura-light/icons/high/Library.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/high/PrinterTriple.svg b/resources/themes/cura-light/icons/high/PrinterTriple.svg new file mode 100644 index 0000000000..65e4936bc2 --- /dev/null +++ b/resources/themes/cura-light/icons/high/PrinterTriple.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/high/Shop.svg b/resources/themes/cura-light/icons/high/Shop.svg new file mode 100644 index 0000000000..7662cf4b9b --- /dev/null +++ b/resources/themes/cura-light/icons/high/Shop.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/high/Speak.svg b/resources/themes/cura-light/icons/high/Speak.svg new file mode 100644 index 0000000000..68642bba2b --- /dev/null +++ b/resources/themes/cura-light/icons/high/Speak.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index d50a748493..daa12b3390 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -499,6 +499,9 @@ "print_setup_icon": [1.2, 1.2], "drag_icon": [1.416, 0.25], + "application_switcher_item": [8, 9], + "application_switcher_icon": [3.75, 3.75], + "expandable_component_content_header": [0.0, 3.0], "configuration_selector": [35.0, 4.0], @@ -571,6 +574,9 @@ "favorites_button": [2, 2], "favorites_button_icon": [1.2, 1.2], + "icon_indicator_background": [1.5, 1.5], + "icon_indicator": [1, 1], + "printer_status_icon": [1.0, 1.0], "printer_sync_icon": [1.2, 1.2], diff --git a/resources/variants/creality_ender6_0.2.inst.cfg b/resources/variants/creality_ender6_0.2.inst.cfg new file mode 100644 index 0000000000..6580f5eb5a --- /dev/null +++ b/resources/variants/creality_ender6_0.2.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.2mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.2 diff --git a/resources/variants/creality_ender6_0.3.inst.cfg b/resources/variants/creality_ender6_0.3.inst.cfg new file mode 100644 index 0000000000..32b960ab84 --- /dev/null +++ b/resources/variants/creality_ender6_0.3.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.3mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.3 diff --git a/resources/variants/creality_ender6_0.4.inst.cfg b/resources/variants/creality_ender6_0.4.inst.cfg new file mode 100644 index 0000000000..632f2de40f --- /dev/null +++ b/resources/variants/creality_ender6_0.4.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.4mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.4 diff --git a/resources/variants/creality_ender6_0.5.inst.cfg b/resources/variants/creality_ender6_0.5.inst.cfg new file mode 100644 index 0000000000..9a4e44cb67 --- /dev/null +++ b/resources/variants/creality_ender6_0.5.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.5mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.5 diff --git a/resources/variants/creality_ender6_0.6.inst.cfg b/resources/variants/creality_ender6_0.6.inst.cfg new file mode 100644 index 0000000000..e03ba4f3aa --- /dev/null +++ b/resources/variants/creality_ender6_0.6.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.6mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.6 diff --git a/resources/variants/creality_ender6_0.8.inst.cfg b/resources/variants/creality_ender6_0.8.inst.cfg new file mode 100644 index 0000000000..508247756d --- /dev/null +++ b/resources/variants/creality_ender6_0.8.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.8mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.8 diff --git a/resources/variants/creality_ender6_1.0.inst.cfg b/resources/variants/creality_ender6_1.0.inst.cfg new file mode 100644 index 0000000000..f13a49d8e0 --- /dev/null +++ b/resources/variants/creality_ender6_1.0.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 1.0mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 1.0