diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000000..808a403e1a --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,11 @@ +# YAML 1.2 +--- +authors: +cff-version: "1.1.0" +date-released: 2021-06-28 +license: "LGPL-3.0" +message: "If you use this software, please cite it using these metadata." +repository-code: "https://github.com/ultimaker/cura/" +title: "Ultimaker Cura" +version: "4.10.0" +... \ No newline at end of file diff --git a/cura/API/Account.py b/cura/API/Account.py index 2e48a040ad..a85e2c64c5 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -178,7 +178,9 @@ class Account(QObject): if self._error_message: self._error_message.hide() Logger.log("w", "Failed to login: %s", error_message) - self._error_message = Message(error_message, title = i18n_catalog.i18nc("@info:title", "Login failed")) + self._error_message = Message(error_message, + title = i18n_catalog.i18nc("@info:title", "Login failed"), + message_type = Message.MessageType.ERROR) self._error_message.show() self._logged_in = False self.loginStateChanged.emit(False) @@ -209,7 +211,7 @@ class Account(QObject): if self._update_timer.isActive(): self._update_timer.stop() elif self._sync_state == SyncState.SYNCING: - Logger.warning("Starting a new sync while previous sync was not completed\n{}", str(self._sync_services)) + Logger.debug("Starting a new sync while previous sync was not completed") self.syncRequested.emit() diff --git a/cura/Arranging/ArrangeObjectsAllBuildPlatesJob.py b/cura/Arranging/ArrangeObjectsAllBuildPlatesJob.py index 0f337a229b..e18f8098df 100644 --- a/cura/Arranging/ArrangeObjectsAllBuildPlatesJob.py +++ b/cura/Arranging/ArrangeObjectsAllBuildPlatesJob.py @@ -147,6 +147,8 @@ class ArrangeObjectsAllBuildPlatesJob(Job): status_message.hide() if not found_solution_for_all: - no_full_solution_message = Message(i18n_catalog.i18nc("@info:status", "Unable to find a location within the build volume for all objects"), - title = i18n_catalog.i18nc("@info:title", "Can't Find Location")) + no_full_solution_message = Message(i18n_catalog.i18nc("@info:status", + "Unable to find a location within the build volume for all objects"), + title = i18n_catalog.i18nc("@info:title", "Can't Find Location"), + message_type = Message.MessageType.WARNING) no_full_solution_message.show() diff --git a/cura/Arranging/ArrangeObjectsJob.py b/cura/Arranging/ArrangeObjectsJob.py index 46b1aa2d71..e65a442acb 100644 --- a/cura/Arranging/ArrangeObjectsJob.py +++ b/cura/Arranging/ArrangeObjectsJob.py @@ -39,6 +39,7 @@ class ArrangeObjectsJob(Job): no_full_solution_message = Message( i18n_catalog.i18nc("@info:status", "Unable to find a location within the build volume for all objects"), - title = i18n_catalog.i18nc("@info:title", "Can't Find Location")) + title = i18n_catalog.i18nc("@info:title", "Can't Find Location"), + message_type = Message.MessageType.ERROR) no_full_solution_message.show() self.finished.emit(self) diff --git a/cura/Backups/Backup.py b/cura/Backups/Backup.py index 1f6a961733..85510e6b4c 100644 --- a/cura/Backups/Backup.py +++ b/cura/Backups/Backup.py @@ -111,15 +111,15 @@ class Backup: return archive except (IOError, OSError, BadZipfile) as error: Logger.log("e", "Could not create archive from user data directory: %s", error) - self._showMessage( - self.catalog.i18nc("@info:backup_failed", - "Could not create archive from user data directory: {}".format(error))) + self._showMessage(self.catalog.i18nc("@info:backup_failed", + "Could not create archive from user data directory: {}".format(error)), + message_type = Message.MessageType.ERROR) return None - def _showMessage(self, message: str) -> None: + def _showMessage(self, message: str, message_type: Message.MessageType = Message.MessageType.NEUTRAL) -> None: """Show a UI message.""" - Message(message, title=self.catalog.i18nc("@info:title", "Backup"), lifetime=30).show() + Message(message, title=self.catalog.i18nc("@info:title", "Backup"), message_type = message_type).show() def restore(self) -> bool: """Restore this back-up. @@ -130,9 +130,9 @@ class Backup: if not self.zip_file or not self.meta_data or not self.meta_data.get("cura_release", None): # We can restore without the minimum required information. Logger.log("w", "Tried to restore a Cura backup without having proper data or meta data.") - self._showMessage( - self.catalog.i18nc("@info:backup_failed", - "Tried to restore a Cura backup without having proper data or meta data.")) + self._showMessage(self.catalog.i18nc("@info:backup_failed", + "Tried to restore a Cura backup without having proper data or meta data."), + message_type = Message.MessageType.ERROR) return False current_version = Version(self._application.getVersion()) @@ -141,9 +141,9 @@ class Backup: if current_version < version_to_restore: # Cannot restore version newer than current because settings might have changed. Logger.log("d", "Tried to restore a Cura backup of version {version_to_restore} with cura version {current_version}".format(version_to_restore = version_to_restore, current_version = current_version)) - self._showMessage( - self.catalog.i18nc("@info:backup_failed", - "Tried to restore a Cura backup that is higher than the current version.")) + self._showMessage(self.catalog.i18nc("@info:backup_failed", + "Tried to restore a Cura backup that is higher than the current version."), + message_type = Message.MessageType.ERROR) return False # Get the current secrets and store since the back-up doesn't contain those @@ -154,7 +154,11 @@ class Backup: archive = ZipFile(io.BytesIO(self.zip_file), "r") except LookupError as e: Logger.log("d", f"The following error occurred while trying to restore a Cura backup: {str(e)}") - self._showMessage(self.catalog.i18nc("@info:backup_failed", "The following error occurred while trying to restore a Cura backup:") + str(e)) + Message(self.catalog.i18nc("@info:backup_failed", + "The following error occurred while trying to restore a Cura backup:") + str(e), + title = self.catalog.i18nc("@info:title", "Backup"), + message_type = Message.MessageType.ERROR).show() + return False extracted = self._extractArchive(archive, version_data_dir) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 0c78be7547..cf397e395e 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -95,9 +95,11 @@ class BuildVolume(SceneNode): self._edge_disallowed_size = None self._build_volume_message = Message(catalog.i18nc("@info:status", - "The build volume height has been reduced due to the value of the" - " \"Print Sequence\" setting to prevent the gantry from colliding" - " with printed models."), title = catalog.i18nc("@info:title", "Build Volume")) + "The build volume height has been reduced due to the value of the" + " \"Print Sequence\" setting to prevent the gantry from colliding" + " with printed models."), + title = catalog.i18nc("@info:title", "Build Volume"), + message_type = Message.MessageType.WARNING) self._global_container_stack = None # type: Optional[GlobalStack] diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index c8570c33e6..8d63e7ec12 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1798,8 +1798,10 @@ class CuraApplication(QtApplication): if extension in self._non_sliceable_extensions: message = Message( self._i18n_catalog.i18nc("@info:status", - "Only one G-code file can be loaded at a time. Skipped importing {0}", - filename), title = self._i18n_catalog.i18nc("@info:title", "Warning")) + "Only one G-code file can be loaded at a time. Skipped importing {0}", + filename), + title = self._i18n_catalog.i18nc("@info:title", "Warning"), + message_type = Message.MessageType.WARNING) message.show() return # If file being loaded is non-slicable file, then prevent loading of any other files @@ -1808,8 +1810,10 @@ class CuraApplication(QtApplication): if extension in self._non_sliceable_extensions: message = Message( self._i18n_catalog.i18nc("@info:status", - "Can't open any other file if G-code is loading. Skipped importing {0}", - filename), title = self._i18n_catalog.i18nc("@info:title", "Error")) + "Can't open any other file if G-code is loading. Skipped importing {0}", + filename), + title = self._i18n_catalog.i18nc("@info:title", "Error"), + message_type = Message.MessageType.ERROR) message.show() return diff --git a/cura/MultiplyObjectsJob.py b/cura/MultiplyObjectsJob.py index 1ba78edacf..4c1caf137c 100644 --- a/cura/MultiplyObjectsJob.py +++ b/cura/MultiplyObjectsJob.py @@ -74,5 +74,6 @@ class MultiplyObjectsJob(Job): if not found_solution_for_all: no_full_solution_message = Message( i18n_catalog.i18nc("@info:status", "Unable to find a location within the build volume for all objects"), - title = i18n_catalog.i18nc("@info:title", "Placing Object")) + title = i18n_catalog.i18nc("@info:title", "Placing Object"), + message_type = Message.MessageType.WARNING) no_full_solution_message.show() diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index 96091f9c11..aba9558de8 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -186,8 +186,10 @@ class AuthorizationService: self._server.start(verification_code, state) except OSError: Logger.logException("w", "Unable to create authorization request server") - Message(i18n_catalog.i18nc("@info", "Unable to start a new sign in process. Check if another sign in attempt is still active."), - title=i18n_catalog.i18nc("@info:title", "Warning")).show() + Message(i18n_catalog.i18nc("@info", + "Unable to start a new sign in process. Check if another sign in attempt is still active."), + title=i18n_catalog.i18nc("@info:title", "Warning"), + message_type = Message.MessageType.WARNING).show() return auth_url = self._generate_auth_url(query_parameters_dict, force_browser_logout) @@ -241,7 +243,10 @@ class AuthorizationService: if self._unable_to_get_data_message is not None: self._unable_to_get_data_message.hide() - self._unable_to_get_data_message = Message(i18n_catalog.i18nc("@info", "Unable to reach the Ultimaker account server."), title = i18n_catalog.i18nc("@info:title", "Warning")) + self._unable_to_get_data_message = Message(i18n_catalog.i18nc("@info", + "Unable to reach the Ultimaker account server."), + title = i18n_catalog.i18nc("@info:title", "Warning"), + message_type = Message.MessageType.ERROR) self._unable_to_get_data_message.show() except (ValueError, TypeError): Logger.logException("w", "Could not load auth data from preferences") diff --git a/cura/Settings/CuraContainerRegistry.py b/cura/Settings/CuraContainerRegistry.py index 7e6c3f5d20..295d843fd7 100644 --- a/cura/Settings/CuraContainerRegistry.py +++ b/cura/Settings/CuraContainerRegistry.py @@ -141,20 +141,29 @@ class CuraContainerRegistry(ContainerRegistry): success = profile_writer.write(file_name, container_list) except Exception as e: Logger.log("e", "Failed to export profile to %s: %s", file_name, str(e)) - m = Message(catalog.i18nc("@info:status Don't translate the XML tags or !", "Failed to export profile to {0}: {1}", file_name, str(e)), + m = Message(catalog.i18nc("@info:status Don't translate the XML tags or !", + "Failed to export profile to {0}: {1}", + file_name, str(e)), lifetime = 0, - title = catalog.i18nc("@info:title", "Error")) + title = catalog.i18nc("@info:title", "Error"), + message_type = Message.MessageType.ERROR) m.show() return False if not success: Logger.log("w", "Failed to export profile to %s: Writer plugin reported failure.", file_name) - m = Message(catalog.i18nc("@info:status Don't translate the XML tag !", "Failed to export profile to {0}: Writer plugin reported failure.", file_name), + m = Message(catalog.i18nc("@info:status Don't translate the XML tag !", + "Failed to export profile to {0}: Writer plugin reported failure.", + file_name), lifetime = 0, - title = catalog.i18nc("@info:title", "Error")) + title = catalog.i18nc("@info:title", "Error"), + message_type = Message.MessageType.ERROR) m.show() return False - m = Message(catalog.i18nc("@info:status Don't translate the XML tag !", "Exported profile to {0}", file_name), - title = catalog.i18nc("@info:title", "Export succeeded")) + m = Message(catalog.i18nc("@info:status Don't translate the XML tag !", + "Exported profile to {0}", + file_name), + title = catalog.i18nc("@info:title", "Export succeeded"), + message_type = Message.MessageType.POSITIVE) m.show() return True diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 1a2ab72a33..70a8a6aae7 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -853,7 +853,8 @@ class MachineManager(QObject): self._global_container_stack.userChanges.setProperty(setting_key, "value", self._default_extruder_position) if add_user_changes: caution_message = Message( - catalog.i18nc("@info:message Followed by a list of settings.", "Settings have been changed to match the current availability of extruders:") + " [{settings_list}]".format(settings_list = ", ".join(add_user_changes)), + catalog.i18nc("@info:message Followed by a list of settings.", + "Settings have been changed to match the current availability of extruders:") + " [{settings_list}]".format(settings_list = ", ".join(add_user_changes)), lifetime = 0, title = catalog.i18nc("@info:title", "Settings updated")) caution_message.show() diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index d0442e083b..ee8652839d 100755 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -540,7 +540,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader): "Project file {0} contains an unknown machine type" " {1}. Cannot import the machine." " Models will be imported instead.", file_name, machine_definition_id), - title = i18n_catalog.i18nc("@info:title", "Open Project File")) + title = i18n_catalog.i18nc("@info:title", "Open Project File"), + message_type = Message.MessageType.WARNING) message.show() Logger.log("i", "Could unknown machine definition %s in project file %s, cannot import it.", @@ -637,14 +638,16 @@ class ThreeMFWorkspaceReader(WorkspaceReader): except EnvironmentError as e: message = Message(i18n_catalog.i18nc("@info:error Don't translate the XML tags or !", "Project file {0} is suddenly inaccessible: {1}.", file_name, str(e)), - title = i18n_catalog.i18nc("@info:title", "Can't Open Project File")) + title = i18n_catalog.i18nc("@info:title", "Can't Open Project File"), + message_type = Message.MessageType.ERROR) message.show() self.setWorkspaceName("") return [], {} except zipfile.BadZipFile as e: message = Message(i18n_catalog.i18nc("@info:error Don't translate the XML tags or !", "Project file {0} is corrupt: {1}.", file_name, str(e)), - title = i18n_catalog.i18nc("@info:title", "Can't Open Project File")) + title = i18n_catalog.i18nc("@info:title", "Can't Open Project File"), + message_type = Message.MessageType.ERROR) message.show() self.setWorkspaceName("") return [], {} @@ -696,7 +699,8 @@ class ThreeMFWorkspaceReader(WorkspaceReader): if not global_stacks: message = Message(i18n_catalog.i18nc("@info:error Don't translate the XML tag !", "Project file {0} is made using profiles that" - " are unknown to this version of Ultimaker Cura.", file_name)) + " are unknown to this version of Ultimaker Cura.", file_name), + message_type = Message.MessageType.ERROR) message.show() self.setWorkspaceName("") return [], {} diff --git a/plugins/CuraDrive/src/CreateBackupJob.py b/plugins/CuraDrive/src/CreateBackupJob.py index ab1989f382..12bbc035ac 100644 --- a/plugins/CuraDrive/src/CreateBackupJob.py +++ b/plugins/CuraDrive/src/CreateBackupJob.py @@ -43,7 +43,9 @@ class CreateBackupJob(Job): """After the job completes, an empty string indicates success. Othrerwise, the value is a translated message.""" def run(self) -> None: - upload_message = Message(catalog.i18nc("@info:backup_status", "Creating your backup..."), title = self.MESSAGE_TITLE, progress = -1) + upload_message = Message(catalog.i18nc("@info:backup_status", "Creating your backup..."), + title = self.MESSAGE_TITLE, + progress = -1) upload_message.show() CuraApplication.getInstance().processEvents() cura_api = CuraApplication.getInstance().getCuraAPI() diff --git a/plugins/CuraDrive/src/DrivePluginExtension.py b/plugins/CuraDrive/src/DrivePluginExtension.py index 3a7a59a172..f42ffea9f7 100644 --- a/plugins/CuraDrive/src/DrivePluginExtension.py +++ b/plugins/CuraDrive/src/DrivePluginExtension.py @@ -114,13 +114,17 @@ class DrivePluginExtension(QObject, Extension): self.restoringStateChanged.emit() if error_message: self.backupIdBeingRestored = "" - Message(error_message, title = catalog.i18nc("@info:title", "Backup")).show() + Message(error_message, + title = catalog.i18nc("@info:title", "Backup"), + message_type = Message.MessageType.ERROR).show() def _onCreatingStateChanged(self, is_creating: bool = False, error_message: str = None) -> None: self._is_creating_backup = is_creating self.creatingStateChanged.emit() if error_message: - Message(error_message, title = catalog.i18nc("@info:title", "Backup")).show() + Message(error_message, + title = catalog.i18nc("@info:title", "Backup"), + message_type = Message.MessageType.ERROR).show() else: self._storeBackupDate() if not is_creating and not error_message: diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index fa9a8c5474..f5f238c117 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -391,7 +391,9 @@ class CuraEngineBackend(QObject, Backend): if job.getResult() == StartJobResult.MaterialIncompatible: if application.platformActivity: self._error_message = Message(catalog.i18nc("@info:status", - "Unable to slice with the current material as it is incompatible with the selected machine or configuration."), title = catalog.i18nc("@info:title", "Unable to slice")) + "Unable to slice with the current material as it is incompatible with the selected machine or configuration."), + title = catalog.i18nc("@info:title", "Unable to slice"), + message_type = Message.MessageType.WARNING) self._error_message.show() self.setState(BackendState.Error) self.backendError.emit(job) @@ -421,8 +423,10 @@ class CuraEngineBackend(QObject, Backend): continue error_labels.add(definitions[0].label) - self._error_message = Message(catalog.i18nc("@info:status", "Unable to slice with the current settings. The following settings have errors: {0}").format(", ".join(error_labels)), - title = catalog.i18nc("@info:title", "Unable to slice")) + self._error_message = Message(catalog.i18nc("@info:status", + "Unable to slice with the current settings. The following settings have errors: {0}").format(", ".join(error_labels)), + title = catalog.i18nc("@info:title", "Unable to slice"), + message_type = Message.MessageType.WARNING) self._error_message.show() self.setState(BackendState.Error) self.backendError.emit(job) @@ -445,8 +449,10 @@ class CuraEngineBackend(QObject, Backend): Logger.log("e", "When checking settings for errors, unable to find definition for key {key} in per-object stack.".format(key = key)) continue errors[key] = definition[0].label - self._error_message = Message(catalog.i18nc("@info:status", "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}").format(error_labels = ", ".join(errors.values())), - title = catalog.i18nc("@info:title", "Unable to slice")) + self._error_message = Message(catalog.i18nc("@info:status", + "Unable to slice due to some per-model settings. The following settings have errors on one or more models: {error_labels}").format(error_labels = ", ".join(errors.values())), + title = catalog.i18nc("@info:title", "Unable to slice"), + message_type = Message.MessageType.WARNING) self._error_message.show() self.setState(BackendState.Error) self.backendError.emit(job) @@ -454,8 +460,10 @@ class CuraEngineBackend(QObject, Backend): if job.getResult() == StartJobResult.BuildPlateError: if application.platformActivity: - self._error_message = Message(catalog.i18nc("@info:status", "Unable to slice because the prime tower or prime position(s) are invalid."), - title = catalog.i18nc("@info:title", "Unable to slice")) + self._error_message = Message(catalog.i18nc("@info:status", + "Unable to slice because the prime tower or prime position(s) are invalid."), + title = catalog.i18nc("@info:title", "Unable to slice"), + message_type = Message.MessageType.WARNING) self._error_message.show() self.setState(BackendState.Error) self.backendError.emit(job) @@ -463,8 +471,10 @@ class CuraEngineBackend(QObject, Backend): self.setState(BackendState.NotStarted) if job.getResult() == StartJobResult.ObjectsWithDisabledExtruder: - self._error_message = Message(catalog.i18nc("@info:status", "Unable to slice because there are objects associated with disabled Extruder %s.") % job.getMessage(), - title = catalog.i18nc("@info:title", "Unable to slice")) + self._error_message = Message(catalog.i18nc("@info:status", + "Unable to slice because there are objects associated with disabled Extruder %s.") % job.getMessage(), + title = catalog.i18nc("@info:title", "Unable to slice"), + message_type = Message.MessageType.WARNING) self._error_message.show() self.setState(BackendState.Error) self.backendError.emit(job) @@ -476,7 +486,8 @@ class CuraEngineBackend(QObject, Backend): "\n- Fit within the build volume" "\n- Are assigned to an enabled extruder" "\n- Are not all set as modifier meshes"), - title = catalog.i18nc("@info:title", "Unable to slice")) + title = catalog.i18nc("@info:title", "Unable to slice"), + message_type = Message.MessageType.WARNING) self._error_message.show() self.setState(BackendState.Error) self.backendError.emit(job) diff --git a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py index e0a20177b5..02583a6e40 100644 --- a/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py +++ b/plugins/CuraEngineBackend/ProcessSlicedLayersJob.py @@ -257,10 +257,10 @@ class ProcessSlicedLayersJob(Job): if self.isRunning(): if Application.getInstance().getController().getActiveView().getPluginId() == "SimulationView": if not self._progress_message: - self._progress_message = Message(catalog.i18nc("@info:status", "Processing Layers"), 0, False, 0, catalog.i18nc("@info:title", "Information")) + self._progress_message = Message(catalog.i18nc("@info:status", "Processing Layers"), 0, False, 0, + catalog.i18nc("@info:title", "Information")) if self._progress_message.getProgress() != 100: self._progress_message.show() else: if self._progress_message: self._progress_message.hide() - diff --git a/plugins/DigitalLibrary/src/DFFileExportAndUploadManager.py b/plugins/DigitalLibrary/src/DFFileExportAndUploadManager.py index 69163f9cdf..c8650004e9 100644 --- a/plugins/DigitalLibrary/src/DFFileExportAndUploadManager.py +++ b/plugins/DigitalLibrary/src/DFFileExportAndUploadManager.py @@ -73,6 +73,7 @@ class DFFileExportAndUploadManager: text = "Your {} uploaded to '{}'.".format("file was" if len(self._file_upload_job_metadata) <= 1 else "files were", self._library_project_name), title = "Upload successful", lifetime = 0, + message_type = Message.MessageType.POSITIVE ) self._generic_success_message.addAction( "open_df_project", @@ -81,8 +82,6 @@ class DFFileExportAndUploadManager: ) self._generic_success_message.actionTriggered.connect(self._onMessageActionTriggered) - - def _onCuraProjectFileExported(self, job: ExportFileJob) -> None: """Handler for when the DF Library workspace file (3MF) has been created locally. @@ -221,7 +220,8 @@ class DFFileExportAndUploadManager: self._file_upload_job_metadata[filename]["file_upload_failed_message"] = Message( text = "Failed to export the file '{}'. The upload process is aborted.".format(filename), title = "Export error", - lifetime = 0 + lifetime = 0, + message_type = Message.MessageType.ERROR ) self._on_upload_error() self._onFileUploadFinished(filename) @@ -243,7 +243,8 @@ class DFFileExportAndUploadManager: self._file_upload_job_metadata[filename_3mf]["file_upload_failed_message"] = Message( text = "Failed to upload the file '{}' to '{}'. {}".format(filename_3mf, self._library_project_name, human_readable_error), title = "File upload error", - lifetime = 0 + lifetime = 0, + message_type = Message.MessageType.ERROR ) self._on_upload_error() self._onFileUploadFinished(filename_3mf) @@ -265,7 +266,8 @@ class DFFileExportAndUploadManager: self._file_upload_job_metadata[filename_ufp]["file_upload_failed_message"] = Message( title = "File upload error", text = "Failed to upload the file '{}' to '{}'. {}".format(filename_ufp, self._library_project_name, human_readable_error), - lifetime = 0 + lifetime = 0, + message_type = Message.MessageType.ERROR ) self._on_upload_error() self._onFileUploadFinished(filename_ufp) @@ -301,7 +303,8 @@ class DFFileExportAndUploadManager: self._file_upload_job_metadata[filename]["file_upload_failed_message"] = Message( title = "File upload error", text = "Failed to upload the file '{}' to '{}'. {}".format(self._file_name, self._library_project_name, human_readable_error), - lifetime = 0 + lifetime = 0, + message_type = Message.MessageType.ERROR ) self._on_upload_error() @@ -338,11 +341,13 @@ class DFFileExportAndUploadManager: text = "'{}' was uploaded to '{}'.".format(filename_3mf, self._library_project_name), title = "Upload successful", lifetime = 0, + message_type = Message.MessageType.POSITIVE ), "file_upload_failed_message": Message( text = "Failed to upload the file '{}' to '{}'.".format(filename_3mf, self._library_project_name), title = "File upload error", - lifetime = 0 + lifetime = 0, + message_type = Message.MessageType.ERROR ) } job_3mf = ExportFileJob(self._file_handlers["3mf"], self._nodes, self._file_name, "3mf") @@ -360,11 +365,13 @@ class DFFileExportAndUploadManager: text = "'{}' was uploaded to '{}'.".format(filename_ufp, self._library_project_name), title = "Upload successful", lifetime = 0, + message_type = Message.MessageType.POSITIVE ), "file_upload_failed_message": Message( text = "Failed to upload the file '{}' to '{}'.".format(filename_ufp, self._library_project_name), title = "File upload error", - lifetime = 0 + lifetime = 0, + message_type = Message.MessageType.ERROR ) } job_ufp = ExportFileJob(self._file_handlers["ufp"], self._nodes, self._file_name, "ufp") diff --git a/plugins/DigitalLibrary/src/DigitalFactoryController.py b/plugins/DigitalLibrary/src/DigitalFactoryController.py index cd0f0be638..c0323100c8 100644 --- a/plugins/DigitalLibrary/src/DigitalFactoryController.py +++ b/plugins/DigitalLibrary/src/DigitalFactoryController.py @@ -530,7 +530,8 @@ class DigitalFactoryController(QObject): Message( text = "Failed to write to temporary file for '{}'.".format(file_name), title = "File-system error", - lifetime = 10 + lifetime = 10, + message_type=Message.MessageType.ERROR ).show() return @@ -544,7 +545,8 @@ class DigitalFactoryController(QObject): Message( text = "Failed Digital Library download for '{}'.".format(f), title = "Network error {}".format(error), - lifetime = 10 + lifetime = 10, + message_type=Message.MessageType.ERROR ).show() download_manager = HttpRequestManager.getInstance() @@ -589,7 +591,10 @@ class DigitalFactoryController(QObject): if filename == "": Logger.log("w", "The file name cannot be empty.") - Message(text = "Cannot upload file with an empty name to the Digital Library", title = "Empty file name provided", lifetime = 0).show() + Message(text = "Cannot upload file with an empty name to the Digital Library", + title = "Empty file name provided", + lifetime = 0, + message_type = Message.MessageType.ERROR).show() return self._saveFileToSelectedProjectHelper(filename, formats) diff --git a/plugins/GCodeReader/FlavorParser.py b/plugins/GCodeReader/FlavorParser.py index 09495c527f..56e50d2145 100644 --- a/plugins/GCodeReader/FlavorParser.py +++ b/plugins/GCodeReader/FlavorParser.py @@ -500,7 +500,8 @@ class FlavorParser: "@info:generic", "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate."), lifetime=0, - title = catalog.i18nc("@info:title", "G-code Details")) + title = catalog.i18nc("@info:title", "G-code Details"), + message_type = Message.MessageType.WARNING) caution_message.show() # The "save/print" button's state is bound to the backend state. diff --git a/plugins/ModelChecker/ModelChecker.py b/plugins/ModelChecker/ModelChecker.py index 4f2f8bdf40..321ce8d007 100644 --- a/plugins/ModelChecker/ModelChecker.py +++ b/plugins/ModelChecker/ModelChecker.py @@ -28,7 +28,8 @@ class ModelChecker(QObject, Extension): self._caution_message = Message("", #Message text gets set when the message gets shown, to display the models in question. lifetime = 0, - title = catalog.i18nc("@info:title", "3D Model Assistant")) + title = catalog.i18nc("@info:title", "3D Model Assistant"), + message_type = Message.MessageType.WARNING) self._change_timer = QTimer() self._change_timer.setInterval(200) diff --git a/plugins/README_plugins.txt b/plugins/README_plugins.txt new file mode 100644 index 0000000000..47a639818c --- /dev/null +++ b/plugins/README_plugins.txt @@ -0,0 +1,11 @@ +This is the folder for _bundled_ plugins. If you place any other plugins here, +they will not be seen or upgraded by any next version of Cura. + +If you want your (unbundled) plugins to work after an upgrade, +please don't put them here, but install them either; + - via the Marketplace (recommended if available for that plugin), + - by dragging a `.curapackage` file onto Cura, + - or place it in the plugin folder in the configuration folder* for Cura. + +*) The plugin sub-folder of the configuration folder can be found by: + Open up Help -> Show Configuration Folder -> Navigate to the plugins folder. diff --git a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py index ccdd27ef16..05543813db 100644 --- a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py +++ b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py @@ -93,7 +93,9 @@ class RemovableDriveOutputDevice(OutputDevice): job.progress.connect(self._onProgress) job.finished.connect(self._onFinished) - message = Message(catalog.i18nc("@info:progress Don't translate the XML tags !", "Saving to Removable Drive {0}").format(self.getName()), 0, False, -1, catalog.i18nc("@info:title", "Saving")) + message = Message(catalog.i18nc("@info:progress Don't translate the XML tags !", + "Saving to Removable Drive {0}").format(self.getName()), + 0, False, -1, catalog.i18nc("@info:title", "Saving")) message.show() self.writeStarted.emit(self) @@ -136,7 +138,8 @@ class RemovableDriveOutputDevice(OutputDevice): except: Logger.logException("w", "An execption occured while trying to write to removable drive.") message = Message(catalog.i18nc("@info:status", "Could not save to removable drive {0}: {1}").format(self.getName(),str(job.getError())), - title = catalog.i18nc("@info:title", "Error")) + title = catalog.i18nc("@info:title", "Error"), + message_type = Message.MessageType.ERROR) message.show() self.writeError.emit(self) return @@ -144,13 +147,19 @@ class RemovableDriveOutputDevice(OutputDevice): self._writing = False self.writeFinished.emit(self) if job.getResult(): - message = Message(catalog.i18nc("@info:status", "Saved to Removable Drive {0} as {1}").format(self.getName(), os.path.basename(job.getFileName())), title = catalog.i18nc("@info:title", "File Saved")) + message = Message(catalog.i18nc("@info:status", "Saved to Removable Drive {0} as {1}").format(self.getName(), os.path.basename(job.getFileName())), + title = catalog.i18nc("@info:title", "File Saved"), + message_type = Message.MessageType.POSITIVE) message.addAction("eject", catalog.i18nc("@action:button", "Eject"), "eject", catalog.i18nc("@action", "Eject removable device {0}").format(self.getName())) message.actionTriggered.connect(self._onActionTriggered) message.show() self.writeSuccess.emit(self) else: - message = Message(catalog.i18nc("@info:status", "Could not save to removable drive {0}: {1}").format(self.getName(), str(job.getError())), title = catalog.i18nc("@info:title", "Warning")) + message = Message(catalog.i18nc("@info:status", + "Could not save to removable drive {0}: {1}").format(self.getName(), + str(job.getError())), + title = catalog.i18nc("@info:title", "Error"), + message_type = Message.MessageType.ERROR) message.show() self.writeError.emit(self) job.getStream().close() @@ -159,8 +168,12 @@ class RemovableDriveOutputDevice(OutputDevice): if action == "eject": if Application.getInstance().getOutputDeviceManager().getOutputDevicePlugin("RemovableDriveOutputDevice").ejectDevice(self): message.hide() - - eject_message = Message(catalog.i18nc("@info:status", "Ejected {0}. You can now safely remove the drive.").format(self.getName()), title = catalog.i18nc("@info:title", "Safely Remove Hardware")) + eject_message = Message(catalog.i18nc("@info:status", + "Ejected {0}. You can now safely remove the drive.").format(self.getName()), + title = catalog.i18nc("@info:title", "Safely Remove Hardware")) else: - eject_message = Message(catalog.i18nc("@info:status", "Failed to eject {0}. Another program may be using the drive.").format(self.getName()), title = catalog.i18nc("@info:title", "Warning")) + eject_message = Message(catalog.i18nc("@info:status", + "Failed to eject {0}. Another program may be using the drive.").format(self.getName()), + title = catalog.i18nc("@info:title", "Warning"), + message_type = Message.MessageType.ERROR) eject_message.show() diff --git a/plugins/SimulationView/SimulationView.py b/plugins/SimulationView/SimulationView.py index 57209f2678..af6b538f26 100644 --- a/plugins/SimulationView/SimulationView.py +++ b/plugins/SimulationView/SimulationView.py @@ -125,10 +125,17 @@ class SimulationView(CuraView): self._only_show_top_layers = bool(Application.getInstance().getPreferences().getValue("view/only_show_top_layers")) self._compatibility_mode = self._evaluateCompatibilityMode() - self._wireprint_warning_message = Message(catalog.i18nc("@info:status", "Cura does not accurately display layers when Wire Printing is enabled."), - title = catalog.i18nc("@info:title", "Simulation View")) - self._slice_first_warning_message = Message(catalog.i18nc("@info:status", "Nothing is shown because you need to slice first."), title = catalog.i18nc("@info:title", "No layers to show"), - option_text = catalog.i18nc("@info:option_text", "Do not show this message again"), option_state = False) + self._wireprint_warning_message = Message(catalog.i18nc("@info:status", + "Cura does not accurately display layers when Wire Printing is enabled."), + title = catalog.i18nc("@info:title", "Simulation View"), + message_type = Message.MessageType.WARNING) + self._slice_first_warning_message = Message(catalog.i18nc("@info:status", + "Nothing is shown because you need to slice first."), + title = catalog.i18nc("@info:title", "No layers to show"), + option_text = catalog.i18nc("@info:option_text", + "Do not show this message again"), + option_state = False, + message_type = Message.MessageType.WARNING) self._slice_first_warning_message.optionToggled.connect(self._onDontAskMeAgain) CuraApplication.getInstance().getPreferences().addPreference(self._no_layers_warning_preference, True) diff --git a/plugins/SolidView/SolidView.py b/plugins/SolidView/SolidView.py index 3ecc84eb37..f12c1aae01 100644 --- a/plugins/SolidView/SolidView.py +++ b/plugins/SolidView/SolidView.py @@ -72,7 +72,8 @@ class SolidView(View): lifetime = 60 * 5, # leave message for 5 minutes title = catalog.i18nc("@info:title", "Model Errors"), option_text = catalog.i18nc("@info:option_text", "Do not show this message again"), - option_state = False + option_state = False, + message_type=Message.MessageType.WARNING ) self._xray_warning_message.optionToggled.connect(self._onDontAskMeAgain) application.getPreferences().addPreference(self._show_xray_warning_preference, True) diff --git a/plugins/Toolbox/src/CloudSync/RestartApplicationPresenter.py b/plugins/Toolbox/src/CloudSync/RestartApplicationPresenter.py index d0222029fd..8776d1782a 100644 --- a/plugins/Toolbox/src/CloudSync/RestartApplicationPresenter.py +++ b/plugins/Toolbox/src/CloudSync/RestartApplicationPresenter.py @@ -15,10 +15,9 @@ class RestartApplicationPresenter: def present(self) -> None: app_name = self._app.getApplicationDisplayName() - message = Message(self._i18n_catalog.i18nc( - "@info:generic", - "You need to quit and restart {} before changes have effect.", app_name - )) + message = Message(self._i18n_catalog.i18nc("@info:generic", + "You need to quit and restart {} before changes have effect.", + app_name)) message.addAction("quit", name="Quit " + app_name, diff --git a/plugins/Toolbox/src/CloudSync/SyncOrchestrator.py b/plugins/Toolbox/src/CloudSync/SyncOrchestrator.py index a85c13f639..bb37c6d4a9 100644 --- a/plugins/Toolbox/src/CloudSync/SyncOrchestrator.py +++ b/plugins/Toolbox/src/CloudSync/SyncOrchestrator.py @@ -111,4 +111,4 @@ class SyncOrchestrator(Extension): """Logs an error and shows it to the user""" Logger.error(text) - Message(text, lifetime=0).show() + Message(text, lifetime = 0, message_type = Message.MessageType.ERROR).show() diff --git a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py index ac95624421..a900edeb75 100644 --- a/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py +++ b/plugins/UM3NetworkPrinting/src/Cloud/CloudOutputDeviceManager.py @@ -230,7 +230,8 @@ class CloudOutputDeviceManager: ), progress = 0, lifetime = 0, - image_source = image_path + image_source = image_path, + message_type = Message.MessageType.POSITIVE ) message.show() @@ -316,7 +317,8 @@ class CloudOutputDeviceManager: "A cloud connection is not available for a printer", "A cloud connection is not available for some printers", len(self.reported_device_ids) - ) + ), + message_type = Message.MessageType.WARNING ) device_names = "".join(["
  • {} ({})
  • ".format(self._um_cloud_printers[device].name, self._um_cloud_printers[device].definition.name) for device in self.reported_device_ids]) message_text = self.i18n_catalog.i18ncp( diff --git a/plugins/UM3NetworkPrinting/src/Messages/LegacyDeviceNoLongerSupportedMessage.py b/plugins/UM3NetworkPrinting/src/Messages/LegacyDeviceNoLongerSupportedMessage.py index 146767467a..9014cc2d70 100644 --- a/plugins/UM3NetworkPrinting/src/Messages/LegacyDeviceNoLongerSupportedMessage.py +++ b/plugins/UM3NetworkPrinting/src/Messages/LegacyDeviceNoLongerSupportedMessage.py @@ -19,7 +19,8 @@ class LegacyDeviceNoLongerSupportedMessage(Message): "running Ultimaker Connect. Please update the printer to the " "latest firmware."), title = I18N_CATALOG.i18nc("@info:title", "Update your printer"), - lifetime = 10 + lifetime = 10, + message_type = Message.MessageType.WARNING ) def show(self) -> None: diff --git a/plugins/UM3NetworkPrinting/src/Messages/MaterialSyncMessage.py b/plugins/UM3NetworkPrinting/src/Messages/MaterialSyncMessage.py index 6b481ff4a1..887cfaa5e8 100644 --- a/plugins/UM3NetworkPrinting/src/Messages/MaterialSyncMessage.py +++ b/plugins/UM3NetworkPrinting/src/Messages/MaterialSyncMessage.py @@ -25,8 +25,7 @@ class MaterialSyncMessage(Message): "on the host printer of group {0}.", device.name), title = I18N_CATALOG.i18nc("@info:title", "Sending materials to printer"), lifetime = 10, - dismissable = True - ) + dismissable = True) def show(self) -> None: if MaterialSyncMessage.__is_visible: diff --git a/plugins/UM3NetworkPrinting/src/Messages/NotClusterHostMessage.py b/plugins/UM3NetworkPrinting/src/Messages/NotClusterHostMessage.py index 70bfa769ee..059b81b39e 100644 --- a/plugins/UM3NetworkPrinting/src/Messages/NotClusterHostMessage.py +++ b/plugins/UM3NetworkPrinting/src/Messages/NotClusterHostMessage.py @@ -29,7 +29,8 @@ class NotClusterHostMessage(Message): "it as a group host.", device.name), title = I18N_CATALOG.i18nc("@info:title", "Not a group host"), lifetime = 0, - dismissable = True + dismissable = True, + message_type = Message.MessageType.ERROR ) self._address = device.address self.addAction("", I18N_CATALOG.i18nc("@action", "Configure group"), "", "") diff --git a/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadBlockedMessage.py b/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadBlockedMessage.py index 39dc985cb8..853f6a1380 100644 --- a/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadBlockedMessage.py +++ b/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadBlockedMessage.py @@ -14,5 +14,6 @@ class PrintJobUploadBlockedMessage(Message): super().__init__( text = I18N_CATALOG.i18nc("@info:status", "Please wait until the current job has been sent."), title = I18N_CATALOG.i18nc("@info:title", "Print error"), - lifetime = 10 + lifetime = 10, + message_type = Message.MessageType.ERROR ) diff --git a/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadErrorMessage.py b/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadErrorMessage.py index 9feb4b4970..4b30013b9c 100644 --- a/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadErrorMessage.py +++ b/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadErrorMessage.py @@ -13,5 +13,6 @@ class PrintJobUploadErrorMessage(Message): def __init__(self, message: str = None) -> None: super().__init__( text = message or I18N_CATALOG.i18nc("@info:text", "Could not upload the data to the printer."), - title = I18N_CATALOG.i18nc("@info:title", "Network error") + title = I18N_CATALOG.i18nc("@info:title", "Network error"), + message_type=Message.MessageType.ERROR ) diff --git a/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadQueueFullMessage.py b/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadQueueFullMessage.py index dc910e9e1b..fc05ce3389 100644 --- a/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadQueueFullMessage.py +++ b/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadQueueFullMessage.py @@ -15,5 +15,6 @@ class PrintJobUploadQueueFullMessage(Message): super().__init__( text = I18N_CATALOG.i18nc("@info:status", "Print job queue is full. The printer can't accept a new job."), title = I18N_CATALOG.i18nc("@info:title", "Queue Full"), - lifetime = 10 + lifetime = 10, + message_type=Message.MessageType.ERROR ) diff --git a/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadSuccessMessage.py b/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadSuccessMessage.py index aa3d72ccd8..7fa7340cff 100644 --- a/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadSuccessMessage.py +++ b/plugins/UM3NetworkPrinting/src/Messages/PrintJobUploadSuccessMessage.py @@ -13,5 +13,6 @@ class PrintJobUploadSuccessMessage(Message): def __init__(self) -> None: super().__init__( text = I18N_CATALOG.i18nc("@info:status", "Print job was successfully sent to the printer."), - title = I18N_CATALOG.i18nc("@info:title", "Data Sent") + title = I18N_CATALOG.i18nc("@info:title", "Data Sent"), + message_type = Message.MessageType.POSITIVE ) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index 70a1f4333e..92f4bf4e4d 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -131,7 +131,10 @@ class USBPrinterOutputDevice(PrinterOutputDevice): """ if self._is_printing: - message = Message(text = catalog.i18nc("@message", "A print is still in progress. Cura cannot start another print via USB until the previous print has completed."), title = catalog.i18nc("@message", "Print in Progress")) + message = Message(text = catalog.i18nc("@message", + "A print is still in progress. Cura cannot start another print via USB until the previous print has completed."), + title = catalog.i18nc("@message", "Print in Progress"), + message_type = Message.MessageType.ERROR) message.show() return # Already printing self.writeStarted.emit(self) diff --git a/requirements.txt b/requirements.txt index 59cfd3eccd..db927c4943 100644 --- a/requirements.txt +++ b/requirements.txt @@ -30,7 +30,6 @@ requests==2.22.0 sentry-sdk==0.13.5 six==1.12.0 trimesh==3.2.33 -urllib3==1.25.6 zeroconf==0.24.1 comtypes==1.1.7 pywin32==300 diff --git a/resources/README_resources.txt b/resources/README_resources.txt new file mode 100644 index 0000000000..17124bc0d5 --- /dev/null +++ b/resources/README_resources.txt @@ -0,0 +1,11 @@ +This is the folder for _bundled_ resources. If you place, or tinker with, +any resources here, they will not be seen or upgraded by next versions of Cura. + +If you want your (unbundled or altered) resources to work after an upgrade, +please don't put them here, but install them either; + - for materials: via the Marketplace (recommended if avialable), + - by dragging a `.curapackage` file onto Cura, + - or place it in the right sub-folder in the configuration folder* for Cura. + +*) The configuration folder can be found by: + Open up Help -> Show Configuration Folder diff --git a/resources/definitions/biqu_bx_abl.def.json b/resources/definitions/biqu_bx_abl.def.json index af4f50dec0..3b6b60c2e4 100755 --- a/resources/definitions/biqu_bx_abl.def.json +++ b/resources/definitions/biqu_bx_abl.def.json @@ -43,7 +43,7 @@ ] }, "machine_start_gcode": { - "default_value": "; BIQU BX Start G-code\r\n; For inforation on how to tune this profile and get the\r\n; most out of your BX visit: https:\/\/github.com\/looxonline\/Marlin\r\n; For the official github site visit: https:\/\/github.com\/bigtreetech\/BIQU-BX\r\n\r\nM117 Initial homing sequence. ; Home so that the probe is positioned to heat\r\nG28\r\n\r\nM117 Probe heating position\r\nG0 X65 Y5 Z1 ; Move the probe to the heating position.\r\n\r\nM117 Getting the heaters up to temp!\r\nM104 S140 ; Set Extruder temperature, no wait\r\nM140 S60 ; Set Heat Bed temperature\r\nM190 S60 ; Wait for Heat Bed temperature\r\n\r\nM117 Waiting for probe to warm! ; Wait another 90s for the probe to absorb heat.\r\nG4 S90 \r\n\r\nM117 Post warming re-home\r\nG28 ; Home all axes again after warming\r\n\r\nM117 Z-Dance of my people\r\nG34\r\n\r\nM117 ABL Probing\r\nG29\r\n\r\nM900 K0 L0 T0 ;Edit the K and L values if you have calibrated a k factor for your filament\r\nM900 T0 S0\r\n\r\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\r\nG1 X4.1 Y10 Z0.3 F5000.0 ; Move to start position\r\n\r\nM117 Getting the extruder up to temp\r\nM140 S{material_bed_temperature_layer_0} ; Set Heat Bed temperature\r\nM104 S{material_print_temperature_layer_0} ; Set Extruder temperature\r\nM109 S{material_print_temperature_layer_0} ; Wait for Extruder temperature\r\nM190 S{material_bed_temperature_layer_0} ; Wait for Heat Bed temperature\r\n\r\nG92 E0 ; Reset Extruder\r\nM117 Purging\r\nG1 X4.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\r\nG1 X4.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\r\nG1 X4.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\r\nG92 E0 ; Reset Extruder\r\nM117 Lets make\r\nG1 X8 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish" + "default_value": "; BIQU BX Start G-code\r\n; For information on how to tune this profile and get the\r\n; most out of your BX visit: https:\/\/github.com\/looxonline\/Marlin\r\n; For the official github site visit: https:\/\/github.com\/bigtreetech\/BIQU-BX\r\n\r\nM117 Initial homing sequence. ; Home so that the probe is positioned to heat\r\nG28\r\n\r\nM117 Probe heating position\r\nG0 X65 Y5 Z1 ; Move the probe to the heating position.\r\n\r\nM117 Getting the heaters up to temp!\r\nM104 S140 ; Set Extruder temperature, no wait\r\nM140 S60 ; Set Heat Bed temperature\r\nM190 S60 ; Wait for Heat Bed temperature\r\n\r\nM117 Waiting for probe to warm! ; Wait another 90s for the probe to absorb heat.\r\nG4 S90 \r\n\r\nM117 Post warming re-home\r\nG28 ; Home all axes again after warming\r\n\r\nM117 Z-Dance of my people\r\nG34\r\n\r\nM117 ABL Probing\r\nG29\r\n\r\nM900 K0 L0 T0 ;Edit the K and L values if you have calibrated a k factor for your filament\r\nM900 T0 S0\r\n\r\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\r\nG1 X4.1 Y10 Z0.3 F5000.0 ; Move to start position\r\n\r\nM117 Getting the extruder up to temp\r\nM140 S{material_bed_temperature_layer_0} ; Set Heat Bed temperature\r\nM104 S{material_print_temperature_layer_0} ; Set Extruder temperature\r\nM109 S{material_print_temperature_layer_0} ; Wait for Extruder temperature\r\nM190 S{material_bed_temperature_layer_0} ; Wait for Heat Bed temperature\r\n\r\nG92 E0 ; Reset Extruder\r\nM117 Purging\r\nG1 X4.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\r\nG1 X4.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\r\nG1 X4.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\r\nG92 E0 ; Reset Extruder\r\nM117 Lets make\r\nG1 X8 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish" }, "gantry_height": { "value": 27.5 } diff --git a/resources/definitions/kingroon_base.def.json b/resources/definitions/kingroon_base.def.json new file mode 100644 index 0000000000..c458e684bd --- /dev/null +++ b/resources/definitions/kingroon_base.def.json @@ -0,0 +1,279 @@ +{ + "name": "Kingroon Base Printer", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": false, + "author": "notamu", + "manufacturer": "Kingroon", + "file_formats": "text/x-gcode", + "first_start_actions": ["MachineSettingsAction"], + + "machine_extruder_trains": { + "0": "kingroon_base_extruder_0" + }, + + "has_materials": true, + "has_variants": true, + "has_machine_quality": true, + "variants_name": "Nozzle Size", + + "preferred_variant_name": "0.4mm Nozzle", + "preferred_quality_type": "standard", + "preferred_material": "generic_pla", + "exclude_materials": [ + "3D-Fuel_PLA_PRO_Black", + "3D-Fuel_PLA_SnapSupport", + "bestfilament_abs_skyblue", + "bestfilament_petg_orange", + "bestfilament_pla_green", + "chromatik_pla", + "dsm_arnitel2045_175", + "dsm_novamid1070_175", + "emotiontech_abs", + "emotiontech_absx", + "emotiontech_acetate", + "emotiontech_asax", + "emotiontech_copa", + "emotiontech_nylon_1030", + "emotiontech_nylon_1030cf", + "emotiontech_nylon_1070", + "emotiontech_pc", + "emotiontech_petg", + "emotiontech_pla", + "emotiontech_pla_hr_870", + "emotiontech_bvoh", + "emotiontech_hips", + "emotiontech_pva-m", + "emotiontech_pva-s", + "emotiontech_tpu98a", + "eSUN_PLA_PRO_White", + "eSUN_PETG_Black", + "eSUN_PETG_Grey", + "eSUN_PETG_Purple", + "eSUN_PLA_PRO_Black", + "eSUN_PLA_PRO_Grey", + "eSUN_PLA_PRO_Purple", + "fabtotum_abs", + "fabtotum_nylon", + "fabtotum_pla", + "fabtotum_tpu", + "fdplast_pla_olive", + "fdplast_abs_tomato", + "fdplast_petg_gray", + "fiberlogy_hd_pla", + "filo3d_pla", + "filo3d_pla_green", + "filo3d_pla_red", + "generic_cpe_175", + "generic_hips_175", + "generic_nylon_175", + "generic_pc_175", + "generic_pva_175", + "imade3d_petg_175", + "imade3d_pla_175", + "innofill_innoflex60_175", + "layer_one_white_pla", + "layer_one_black_pla", + "layer_one_dark_gray_pla", + "leapfrog_pva_natural", + "leapfrog_abs_natural", + "leapfrog_epla_natural", + "octofiber_pla", + "polyflex_pla", + "polymax_pla", + "polyplus_pla", + "polywood_pla", + "redd_tpe", + "redd_abs", + "redd_asa", + "redd_hips", + "redd_nylon", + "redd_petg", + "redd_pla", + "tizyx_flex", + "tizyx_petg", + "tizyx_pla", + "tizyx_pla_bois", + "tizyx_pva", + "tizyx_abs", + "verbatim_bvoh_175", + "Vertex_Delta_TPU", + "Vertex_Delta_ABS", + "Vertex_Delta_PET", + "Vertex_Delta_PLA", + "Vertex_Delta_PLA_Glitter", + "Vertex_Delta_PLA_Mat", + "Vertex_Delta_PLA_Satin", + "Vertex_Delta_PLA_Wood", + "volumic_support_ultra", + "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", + "zyyx_pro_flex", + "zyyx_pro_pla" + ] + }, + "overrides": { + "machine_name": { "default_value": "Kingroon Base Printer" }, + "machine_start_gcode": { "default_value": "G28 ; home all axes\n M117 Purge extruder\n G92 E0 ; reset extruder\n G1 Z1.0 F3000 ; move z up little to prevent scratching of surface\n G1 X2 Y20 Z0.3 F5000.0 ; move to start-line position\n G1 X2 Y175.0 Z0.3 F1500.0 E15 ; draw 1st line\n G1 X2 Y175.0 Z0.4 F5000.0 ; move to side a little\n G1 X2 Y20 Z0.4 F1500.0 E30 ; draw 2nd line\n G92 E0 ; reset extruder\n G1 Z1.0 F3000 ; move z up little to prevent scratching of surface"}, + "machine_end_gcode": { "default_value": "G91; relative positioning\n G1 Z1.0 F3000 ; move z up little to prevent scratching of print\n G90; absolute positioning\n G1 X0 Y200 F1000 ; prepare for part removal\n M104 S0; turn off extruder\n M140 S0 ; turn off bed\n G1 X0 Y300 F1000 ; prepare for part removal\n M84 ; disable motors\n M106 S0 ; turn off fan" }, + + "machine_width": { "default_value": 180 }, + "machine_depth": { "default_value": 180 }, + "machine_height": { "default_value": 180 }, + + "machine_max_feedrate_x": { "default_value": 100 }, + "machine_max_feedrate_y": { "default_value": 100 }, + "machine_max_feedrate_z": { "default_value": 10 }, + "machine_max_feedrate_e": { "default_value": 100 }, + + "machine_max_acceleration_x": { "default_value": 500 }, + "machine_max_acceleration_y": { "default_value": 500 }, + "machine_max_acceleration_z": { "default_value": 50 }, + "machine_max_acceleration_e": { "default_value": 500 }, + "machine_acceleration": { "default_value": 500 }, + + "machine_max_jerk_xy": { "default_value": 10 }, + "machine_max_jerk_z": { "default_value": 0.3 }, + "machine_max_jerk_e": { "default_value": 5 }, + + "machine_heated_bed": { "default_value": true }, + + "material_diameter": { "default_value": 1.75 }, + + "acceleration_print": { "value": 500 }, + "acceleration_travel": { "value": 500 }, + "acceleration_travel_layer_0": { "value": "acceleration_travel" }, + "acceleration_roofing": { "enabled": "acceleration_enabled and roofing_layer_count > 0 and top_layers > 0" }, + + "jerk_print": { "value": 8 }, + "jerk_travel": { "value": "jerk_print" }, + "jerk_travel_layer_0": { "value": "jerk_travel" }, + + "acceleration_enabled": { "value": false }, + "jerk_enabled": { "value": false }, + + "default_material_print_temperature": { "maximum_value_warning": "260", "maximum_value": "275" }, + "default_material_bed_temperature": { "maximum_value": "150" }, + + "speed_print": { "value": 60.0 } , + "speed_infill": { "value": "speed_print" }, + "speed_wall": { "value": "speed_print / 2" }, + "speed_wall_0": { "value": "speed_wall" }, + "speed_wall_x": { "value": "speed_wall" }, + "speed_topbottom": { "value": "speed_print / 2" }, + "speed_roofing": { "value": "speed_topbottom" }, + "speed_travel": { "value": "150.0 if speed_print < 60 else 250.0 if speed_print > 100 else speed_print * 2.5" }, + "speed_layer_0": { "value": 20.0 }, + "speed_print_layer_0": { "value": "speed_layer_0" }, + "speed_travel_layer_0": { "value": "100 if speed_layer_0 < 20 else 150 if speed_layer_0 > 30 else speed_layer_0 * 5" }, + "speed_prime_tower": { "value": "speed_topbottom" }, + "speed_support": { "value": "speed_wall_0" }, + "speed_support_interface": { "value": "speed_topbottom" }, + "speed_z_hop": { "value": 5 }, + + "skirt_brim_speed": { "value": "speed_layer_0" }, + + "line_width": { "value": "machine_nozzle_size * 1.1" }, + + "optimize_wall_printing_order": { "value": true }, + + "material_initial_print_temperature": { "value": "material_print_temperature" }, + "material_final_print_temperature": { "value": "material_print_temperature" }, + "material_flow": { "value": 100 }, + "travel_compensate_overlapping_walls_0_enabled": { "value": false }, + + "z_seam_type": { "value": "'back'" }, + "z_seam_corner": { "value": "'z_seam_corner_none'" }, + + "infill_sparse_density": { "value": "15" }, + "infill_pattern": { "value": "'lines' if infill_sparse_density > 50 else 'cubic'" }, + "infill_before_walls": { "value": false }, + "infill_overlap": { "value": 30.0 }, + "skin_overlap": { "value": 10.0 }, + "infill_wipe_dist": { "value": 0.0 }, + "wall_0_wipe_dist": { "value": 0.0 }, + + "fill_perimeter_gaps": { "value": "'everywhere'" }, + "fill_outline_gaps": { "value": false }, + "filter_out_tiny_gaps": { "value": false }, + + "retraction_speed": { + "maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')", + "maximum_value": 200 + }, + "retraction_retract_speed": { + "maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')", + "maximum_value": 200 + }, + "retraction_prime_speed": { + "maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')", + "maximum_value": 200 + }, + + "retraction_hop_enabled": { "value": true }, + "retraction_hop": { "value": "layer_height*2" }, + "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'infill'" }, + "retraction_combing_max_distance": { "value": 30 }, + "travel_avoid_other_parts": { "value": true }, + "travel_avoid_supports": { "value": true }, + "travel_retract_before_outer_wall": { "value": true }, + + "retraction_amount": { "value": 2 }, + "retraction_enable": { "value": true }, + "retraction_count_max": { "value": 100 }, + "retraction_extrusion_window": { "value": 2 }, + "retraction_min_travel": { "value": 1.5 }, + + "cool_fan_full_at_height": { "value": "layer_height_0 + 2 * layer_height" }, + "cool_fan_enabled": { "value": true }, + "cool_min_layer_time": { "value": 10 }, + + "adhesion_type": { "value": "'none' if support_enable else 'skirt'" }, + "brim_replaces_support": { "value": false }, + "skirt_gap": { "value": 10.0 }, + "skirt_line_count": { "value": 4 }, + + "adaptive_layer_height_variation": { "value": 0.04 }, + "adaptive_layer_height_variation_step": { "value": 0.04 }, + + "meshfix_maximum_resolution": { "value": "0.05" }, + "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, + + "support_angle": { "value": "math.floor(math.degrees(math.atan(line_width / 2.0 / layer_height)))" }, + "support_pattern": { "value": "'zigzag'" }, + "support_infill_rate": { "value": "0 if support_enable and support_structure == 'tree' else 20" }, + "support_use_towers": { "value": false }, + "support_xy_distance": { "value": "wall_line_width_0 * 2" }, + "support_xy_distance_overhang": { "value": "wall_line_width_0" }, + "support_z_distance": { "value": "layer_height if layer_height >= 0.16 else layer_height * 2" }, + "support_xy_overrides_z": { "value": "'xy_overrides_z'" }, + "support_wall_count": { "value": 1 }, + "support_brim_enable": { "value": true }, + "support_brim_width": { "value": 4 }, + + "support_interface_enable": { "value": true }, + "support_interface_height": { "value": "layer_height * 4" }, + "support_interface_density": { "value": 33.333 }, + "support_interface_pattern": { "value": "'grid'" }, + "support_interface_skip_height": { "value": 0.2 }, + "minimum_support_area": { "value": 2 }, + "minimum_interface_area": { "value": 10 }, + "top_bottom_thickness": {"value": "layer_height_0 + layer_height * 3" }, + "wall_thickness": {"value": "line_width * 2" } + + } +} diff --git a/resources/definitions/kingroon_kp3.def.json b/resources/definitions/kingroon_kp3.def.json new file mode 100644 index 0000000000..7dc04b2cce --- /dev/null +++ b/resources/definitions/kingroon_kp3.def.json @@ -0,0 +1,22 @@ +{ + "name": "Kingroon KP3", + "version": 2, + "inherits": "kingroon_base", + "overrides": { + "machine_name": { "default_value": "Kingroon KP3" }, + "machine_steps_per_mm_x": { "value": 80 }, + "machine_steps_per_mm_y": { "value": 80 }, + "machine_steps_per_mm_z": { "value": 400 }, + "machine_steps_per_mm_e": { "value": 95 }, + "retraction_amount": { "value": 4 }, + "retraction_speed": { "value": 40 }, + "retraction_extrusion_window": { "value": 4 }, + "speed_travel": { "value": 100 } + + }, + "metadata": { + "quality_definition": "kingroon_base", + "visible": true, + "platform": "kingroon_kp3.stl" + } +} diff --git a/resources/definitions/kingroon_kp3s.def.json b/resources/definitions/kingroon_kp3s.def.json new file mode 100644 index 0000000000..00120ed8f8 --- /dev/null +++ b/resources/definitions/kingroon_kp3s.def.json @@ -0,0 +1,33 @@ +{ + "name": "Kingroon KP3S", + "version": 2, + "inherits": "kingroon_base", + "overrides": { + "machine_name": { "default_value": "Kingroon KP3S" }, + "machine_steps_per_mm_x": { "value": 160 }, + "machine_steps_per_mm_y": { "value": 160 }, + "machine_steps_per_mm_z": { "value": 800 }, + "machine_steps_per_mm_e": { "value": 764 }, + "machine_max_feedrate_x": { "value": 200 }, + "machine_max_feedrate_y": { "value": 200 }, + "machine_max_feedrate_z": { "value": 4 }, + "machine_max_feedrate_e": { "value": 100 }, + "machine_max_acceleration_x": { "value": 1000 }, + "machine_max_acceleration_y": { "value": 1000 }, + "machine_max_acceleration_z": { "value": 100 }, + "machine_max_acceleration_e": { "value": 1000 }, + "machine_acceleration": { "value": 1000 }, + "machine_max_jerk_xy": { "value": 15 }, + "machine_max_jerk_z": { "value": 0.4 }, + "retraction_amount": { "value": 1 }, + "retraction_speed": { "value": 40 }, + "retraction_extrusion_window": { "value": 1 }, + "speed_z_hop": { "value": 4 } + + }, + "metadata": { + "quality_definition": "kingroon_base", + "visible": true, + "platform": "kingroon_kp3s.stl" + } +} diff --git a/resources/definitions/seckit_skgo.def.json b/resources/definitions/seckit_skgo.def.json new file mode 100644 index 0000000000..cb413cd9ba --- /dev/null +++ b/resources/definitions/seckit_skgo.def.json @@ -0,0 +1,59 @@ +{ + "version": 2, + "name": "SecKit SK-Go", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Ernest Lin", + "manufacturer": "SecKit 3DP Design", + "file_formats": "text/x-gcode", + "has_materials": true, + "has_machine_quality": false, + "preferred_quality_type": "normal", + "machine_extruder_trains": + { + "0": "seckit_skgo_extruder_0" + } + }, + + + "overrides": { + "machine_name": { "default_value": "SecKit SK-Go" }, + "machine_width": { + "default_value": 310 + }, + "machine_depth": { + "default_value": 310 + }, + "machine_height": { + "default_value": 350 + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [ -10, 20 ], + [ -10, -20 ], + [ 10, 20 ], + [ 10, -20 ] + ] + }, + "gantry_height": { + "value": "50" + }, + "machine_gcode_flavor": { + "default_value": "RepRap (Marlin/Sprinter)" + }, + "machine_start_gcode": { + "default_value": "M569 S1 X Y ; enable StealthChop for Sensorless Homing\nG28 ; Home\nM569 S0 X Y ; disable StealthChop for normal print\nM900 K0.07 ; K factor of linear advance\nG1 Z15.0 F6000 ;Move the platform down 15mm\n;Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0\nG90 ; abs position" + }, + "machine_end_gcode": { + "default value": "M104 S0\nM140 S0\nG91 ; relative position\nG1 Z10 F450\n;Retract the filament\nG92 E1\nG1 E-1 F300\nG90 ; abs position\nG1 X10 Y280 F6000\nM84" + } + } +} diff --git a/resources/definitions/seckit_sktank.def.json b/resources/definitions/seckit_sktank.def.json new file mode 100644 index 0000000000..4b3795d619 --- /dev/null +++ b/resources/definitions/seckit_sktank.def.json @@ -0,0 +1,59 @@ +{ + "version": 2, + "name": "SecKit SK-Tank", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Ernest Lin", + "manufacturer": "SecKit 3DP Design", + "file_formats": "text/x-gcode", + "has_materials": true, + "has_machine_quality": false, + "preferred_quality_type": "normal", + "machine_extruder_trains": + { + "0": "seckit_sktank_extruder_0" + } + }, + + + "overrides": { + "machine_name": { "default_value": "SecKit SK-Tank" }, + "machine_width": { + "default_value": 350 + }, + "machine_depth": { + "default_value": 350 + }, + "machine_height": { + "default_value": 400 + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [ -10, 20 ], + [ -10, -20 ], + [ 10, 20 ], + [ 10, -20 ] + ] + }, + "gantry_height": { + "value": "50" + }, + "machine_gcode_flavor": { + "default_value": "RepRap (RepRap)" + }, + "machine_start_gcode": { + "default_value": "G32 ;auto bed tramming and find a correct Z datum\nG29 S1 ;load default mesh\nM572 D0 S0.08 ; Pressure advance\nG1 Z15.0 F6000 ;Move the platform down 15mm\n;Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0" + }, + "machine_end_gcode": { + "default value": "M104 S0\nM140 S0\n;Retract the filament\nG92 E1\nG1 E-1 F300\nG90\nG1 X2 Y300 F6000\n; move bed to the bottom to prevent bed falls\n;G91\n;G1 Z300\nM106 P0 S0\nM18" + } + } +} diff --git a/resources/definitions/ultimaker2_plus_connect.def.json b/resources/definitions/ultimaker2_plus_connect.def.json index 46c615a262..c0ddcf813f 100644 --- a/resources/definitions/ultimaker2_plus_connect.def.json +++ b/resources/definitions/ultimaker2_plus_connect.def.json @@ -22,8 +22,7 @@ "0": "ultimaker2_plus_connect_extruder_0" }, "supports_usb_connection": false, - "supports_network_connection": true, - "supports_material_export": true + "supports_network_connection": true }, "overrides": { diff --git a/resources/extruders/kingroon_base_extruder_0.def.json b/resources/extruders/kingroon_base_extruder_0.def.json new file mode 100644 index 0000000000..bcb7e93260 --- /dev/null +++ b/resources/extruders/kingroon_base_extruder_0.def.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "kingroon_base", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + + } +} diff --git a/resources/extruders/seckit_skgo_extruder_0.def.json b/resources/extruders/seckit_skgo_extruder_0.def.json new file mode 100644 index 0000000000..2c79e00c6d --- /dev/null +++ b/resources/extruders/seckit_skgo_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "seckit_skgo", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} diff --git a/resources/extruders/seckit_sktank_extruder_0.def.json b/resources/extruders/seckit_sktank_extruder_0.def.json new file mode 100644 index 0000000000..15e8b9f5c6 --- /dev/null +++ b/resources/extruders/seckit_sktank_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "seckit_sktank", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} diff --git a/resources/meshes/kingroon_kp3.stl b/resources/meshes/kingroon_kp3.stl new file mode 100644 index 0000000000..aa876e6710 Binary files /dev/null and b/resources/meshes/kingroon_kp3.stl differ diff --git a/resources/meshes/kingroon_kp3s.stl b/resources/meshes/kingroon_kp3s.stl new file mode 100644 index 0000000000..b42721bc1c Binary files /dev/null and b/resources/meshes/kingroon_kp3s.stl differ diff --git a/resources/qml/ExtruderIcon.qml b/resources/qml/ExtruderIcon.qml index f33e345b68..ed392d13d7 100644 --- a/resources/qml/ExtruderIcon.qml +++ b/resources/qml/ExtruderIcon.qml @@ -18,7 +18,7 @@ Item property bool extruderEnabled: true property alias iconSize: mainIcon.sourceSize property string iconVariant: "medium" - + layer.enabled: true // Prevent weird opacity effects. Item { opacity: extruderEnabled ? 1 : UM.Theme.getColor("extruder_disabled").a diff --git a/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml b/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml index ab1d66f0e1..afedafa9c2 100644 --- a/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml +++ b/resources/qml/Menus/ConfigurationMenu/ConfigurationListView.qml @@ -32,19 +32,20 @@ Item anchors.top: parent.top anchors.topMargin: UM.Theme.getSize("default_margin").height - UM.RecolorImage + Rectangle { id: icon - - anchors.left: parent.left - anchors.verticalCenter: label.verticalCenter - - source: UM.Theme.getIcon("Warning") color: UM.Theme.getColor("warning") width: UM.Theme.getSize("section_icon").width height: width + radius: width / 2 + UM.RecolorImage + { + anchors.fill:parent + source: UM.Theme.getIcon("Warning", "low") + color: UM.Theme.getColor("message_warning_icon") + } } - Label { id: label diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml index fc920a30e7..26d88db911 100644 --- a/resources/qml/Settings/SettingView.qml +++ b/resources/qml/Settings/SettingView.qml @@ -185,6 +185,8 @@ Item right: parent.right rightMargin: UM.Theme.getSize("wide_margin").width } + width: UM.Theme.getSize("medium_button_icon").width + height: UM.Theme.getSize("medium_button_icon").height style: ButtonStyle { diff --git a/resources/qml/Widgets/MenuItem.qml b/resources/qml/Widgets/MenuItem.qml index a930bfe901..f0824b4d98 100644 --- a/resources/qml/Widgets/MenuItem.qml +++ b/resources/qml/Widgets/MenuItem.qml @@ -24,7 +24,7 @@ MenuItem anchors.verticalCenter: parent.verticalCenter anchors.right: parent.right anchors.rightMargin: UM.Theme.getSize("default_margin").width - source: UM.Theme.getIcon("arrow_right") + source: UM.Theme.getIcon("ChevronSingleRight") color: UM.Theme.getColor("setting_control_text") } @@ -37,7 +37,7 @@ MenuItem anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left anchors.leftMargin: UM.Theme.getSize("default_margin").width - source: UM.Theme.getIcon("check") + source: UM.Theme.getIcon("Check") color: UM.Theme.getColor("setting_control_text") } diff --git a/resources/qml/Widgets/ScrollableTextArea.qml b/resources/qml/Widgets/ScrollableTextArea.qml index 86dcad8112..6becf75cb1 100644 --- a/resources/qml/Widgets/ScrollableTextArea.qml +++ b/resources/qml/Widgets/ScrollableTextArea.qml @@ -34,6 +34,7 @@ ScrollView color: UM.Theme.getColor("text") textFormat: TextEdit.PlainText renderType: Text.NativeRendering + wrapMode: Text.Wrap selectByMouse: true } } diff --git a/resources/quality/kingroon/ABS/kingroon_0.2_ABS_super.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.2_ABS_super.inst.cfg new file mode 100644 index 0000000000..698303f4e7 --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.2_ABS_super.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_abs +variant = 0.2mm Nozzle + +[values] +wall_thickness = =line_width*8 diff --git a/resources/quality/kingroon/ABS/kingroon_0.2_ABS_ultra.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.2_ABS_ultra.inst.cfg new file mode 100644 index 0000000000..0c9f850659 --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.2_ABS_ultra.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Ultra Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = ultra +material = generic_abs +variant = 0.2mm Nozzle + +[values] +wall_thickness = =line_width*8 diff --git a/resources/quality/kingroon/ABS/kingroon_0.3_ABS_adaptive.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.3_ABS_adaptive.inst.cfg new file mode 100644 index 0000000000..bbc2f0f8eb --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.3_ABS_adaptive.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +material = generic_abs +variant = 0.3mm Nozzle + +[values] +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/ABS/kingroon_0.3_ABS_low.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.3_ABS_low.inst.cfg new file mode 100644 index 0000000000..7ed5907ea7 --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.3_ABS_low.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Low Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = low +material = generic_abs +variant = 0.3mm Nozzle + +[values] +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/ABS/kingroon_0.3_ABS_standard.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.3_ABS_standard.inst.cfg new file mode 100644 index 0000000000..485c45d486 --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.3_ABS_standard.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_abs +variant = 0.3mm Nozzle + +[values] +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/ABS/kingroon_0.3_ABS_super.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.3_ABS_super.inst.cfg new file mode 100644 index 0000000000..5d42c6cdc4 --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.3_ABS_super.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_abs +variant = 0.3mm Nozzle + +[values] +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/ABS/kingroon_0.4_ABS_adaptive.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.4_ABS_adaptive.inst.cfg new file mode 100644 index 0000000000..1f13b76cbd --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.4_ABS_adaptive.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +material = generic_abs +variant = 0.4mm Nozzle + +[values] +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/ABS/kingroon_0.4_ABS_low.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.4_ABS_low.inst.cfg new file mode 100644 index 0000000000..8d9ec713f5 --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.4_ABS_low.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Low Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = low +material = generic_abs +variant = 0.4mm Nozzle + +[values] +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/ABS/kingroon_0.4_ABS_standard.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.4_ABS_standard.inst.cfg new file mode 100644 index 0000000000..38738df40f --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.4_ABS_standard.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_abs +variant = 0.4mm Nozzle + +[values] +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/ABS/kingroon_0.4_ABS_super.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.4_ABS_super.inst.cfg new file mode 100644 index 0000000000..5464496205 --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.4_ABS_super.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_abs +variant = 0.4mm Nozzle + +[values] +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/ABS/kingroon_0.5_ABS_adaptive.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.5_ABS_adaptive.inst.cfg new file mode 100644 index 0000000000..c017c78d20 --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.5_ABS_adaptive.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +material = generic_abs +variant = 0.5mm Nozzle + +[values] +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/ABS/kingroon_0.5_ABS_low.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.5_ABS_low.inst.cfg new file mode 100644 index 0000000000..12ad8e2996 --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.5_ABS_low.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Low Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = low +material = generic_abs +variant = 0.5mm Nozzle + +[values] +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/ABS/kingroon_0.5_ABS_standard.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.5_ABS_standard.inst.cfg new file mode 100644 index 0000000000..2c24630c6c --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.5_ABS_standard.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_abs +variant = 0.5mm Nozzle + +[values] +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/ABS/kingroon_0.5_ABS_super.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.5_ABS_super.inst.cfg new file mode 100644 index 0000000000..d76f8ee5a4 --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.5_ABS_super.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_abs +variant = 0.5mm Nozzle + +[values] +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/ABS/kingroon_0.6_ABS_standard.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.6_ABS_standard.inst.cfg new file mode 100644 index 0000000000..07c8560aa9 --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.6_ABS_standard.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_abs +variant = 0.6mm Nozzle + +[values] +wall_thickness = =line_width*3 diff --git a/resources/quality/kingroon/ABS/kingroon_0.8_ABS_draft.inst.cfg b/resources/quality/kingroon/ABS/kingroon_0.8_ABS_draft.inst.cfg new file mode 100644 index 0000000000..6f8940bbed --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_0.8_ABS_draft.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Draft Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = draft +material = generic_abs +variant = 0.8mm Nozzle + +[values] +wall_thickness = =line_width*3 diff --git a/resources/quality/kingroon/ABS/kingroon_1.0_ABS_draft.inst.cfg b/resources/quality/kingroon/ABS/kingroon_1.0_ABS_draft.inst.cfg new file mode 100644 index 0000000000..095e6de90f --- /dev/null +++ b/resources/quality/kingroon/ABS/kingroon_1.0_ABS_draft.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Draft Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = draft +material = generic_abs +variant = 1.0mm Nozzle + +[values] +wall_thickness = =line_width*3 diff --git a/resources/quality/kingroon/PETG/kingroon_0.2_PETG_super.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.2_PETG_super.inst.cfg new file mode 100644 index 0000000000..53fd8840c6 --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.2_PETG_super.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_petg +variant = 0.2mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*8 diff --git a/resources/quality/kingroon/PETG/kingroon_0.2_PETG_ultra.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.2_PETG_ultra.inst.cfg new file mode 100644 index 0000000000..d1473871b0 --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.2_PETG_ultra.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Ultra Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = ultra +material = generic_petg +variant = 0.2mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*8 diff --git a/resources/quality/kingroon/PETG/kingroon_0.3_PETG_adaptive.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.3_PETG_adaptive.inst.cfg new file mode 100644 index 0000000000..adf5e75452 --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.3_PETG_adaptive.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +material = generic_petg +variant = 0.3mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/PETG/kingroon_0.3_PETG_low.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.3_PETG_low.inst.cfg new file mode 100644 index 0000000000..b1273367ec --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.3_PETG_low.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Low Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = low +material = generic_petg +variant = 0.3mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/PETG/kingroon_0.3_PETG_standard.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.3_PETG_standard.inst.cfg new file mode 100644 index 0000000000..af071ae0eb --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.3_PETG_standard.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_petg +variant = 0.3mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/PETG/kingroon_0.3_PETG_super.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.3_PETG_super.inst.cfg new file mode 100644 index 0000000000..8f69a4d8a2 --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.3_PETG_super.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_petg +variant = 0.3mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/PETG/kingroon_0.4_PETG_adaptive.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.4_PETG_adaptive.inst.cfg new file mode 100644 index 0000000000..75a6b4abc2 --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.4_PETG_adaptive.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +material = generic_petg +variant = 0.4mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/PETG/kingroon_0.4_PETG_low.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.4_PETG_low.inst.cfg new file mode 100644 index 0000000000..935384311e --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.4_PETG_low.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Low Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = low +material = generic_petg +variant = 0.4mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/PETG/kingroon_0.4_PETG_standard.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.4_PETG_standard.inst.cfg new file mode 100644 index 0000000000..197744b392 --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.4_PETG_standard.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_petg +variant = 0.4mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/PETG/kingroon_0.4_PETG_super.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.4_PETG_super.inst.cfg new file mode 100644 index 0000000000..6f5dd5f6b4 --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.4_PETG_super.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_petg +variant = 0.4mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/PETG/kingroon_0.5_PETG_adaptive.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.5_PETG_adaptive.inst.cfg new file mode 100644 index 0000000000..55480fe4fc --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.5_PETG_adaptive.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +material = generic_petg +variant = 0.5mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/PETG/kingroon_0.5_PETG_low.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.5_PETG_low.inst.cfg new file mode 100644 index 0000000000..604c1df5ba --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.5_PETG_low.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Low Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = low +material = generic_petg +variant = 0.5mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/PETG/kingroon_0.5_PETG_standard.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.5_PETG_standard.inst.cfg new file mode 100644 index 0000000000..52f668fa68 --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.5_PETG_standard.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_petg +variant = 0.5mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/PETG/kingroon_0.5_PETG_super.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.5_PETG_super.inst.cfg new file mode 100644 index 0000000000..aa8a2da3b8 --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.5_PETG_super.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_petg +variant = 0.5mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*4 diff --git a/resources/quality/kingroon/PETG/kingroon_0.6_PETG_standard.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.6_PETG_standard.inst.cfg new file mode 100644 index 0000000000..f90f574798 --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.6_PETG_standard.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_petg +variant = 0.6mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*3 diff --git a/resources/quality/kingroon/PETG/kingroon_0.8_PETG_draft.inst.cfg b/resources/quality/kingroon/PETG/kingroon_0.8_PETG_draft.inst.cfg new file mode 100644 index 0000000000..5b4258fd72 --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_0.8_PETG_draft.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Draft Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = draft +material = generic_petg +variant = 0.8mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*3 diff --git a/resources/quality/kingroon/PETG/kingroon_1.0_PETG_draft.inst.cfg b/resources/quality/kingroon/PETG/kingroon_1.0_PETG_draft.inst.cfg new file mode 100644 index 0000000000..a2dfab7f1c --- /dev/null +++ b/resources/quality/kingroon/PETG/kingroon_1.0_PETG_draft.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Draft Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = draft +material = generic_petg +variant = 1.0mm Nozzle + +[values] +speed_layer_0 = 15 +wall_thickness = =line_width*3 diff --git a/resources/quality/kingroon/PLA/kingroon_0.2_PLA_super.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.2_PLA_super.inst.cfg new file mode 100644 index 0000000000..96097481be --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.2_PLA_super.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_pla +variant = 0.2mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.2_PLA_ultra.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.2_PLA_ultra.inst.cfg new file mode 100644 index 0000000000..8b1e4e680c --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.2_PLA_ultra.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Ultra Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = ultra +material = generic_pla +variant = 0.2mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.3_PLA_adaptive.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.3_PLA_adaptive.inst.cfg new file mode 100644 index 0000000000..ba03561f97 --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.3_PLA_adaptive.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +material = generic_pla +variant = 0.3mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.3_PLA_low.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.3_PLA_low.inst.cfg new file mode 100644 index 0000000000..570ac8c627 --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.3_PLA_low.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Low Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = low +material = generic_pla +variant = 0.3mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.3_PLA_standard.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.3_PLA_standard.inst.cfg new file mode 100644 index 0000000000..d0fe46bec6 --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.3_PLA_standard.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_pla +variant = 0.3mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.3_PLA_super.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.3_PLA_super.inst.cfg new file mode 100644 index 0000000000..5d0fd38e44 --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.3_PLA_super.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_pla +variant = 0.3mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.4_PLA_adaptive.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.4_PLA_adaptive.inst.cfg new file mode 100644 index 0000000000..949ee730f4 --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.4_PLA_adaptive.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +material = generic_pla +variant = 0.4mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.4_PLA_low.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.4_PLA_low.inst.cfg new file mode 100644 index 0000000000..637968b6eb --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.4_PLA_low.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Low Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = low +material = generic_pla +variant = 0.4mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.4_PLA_standard.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.4_PLA_standard.inst.cfg new file mode 100644 index 0000000000..ae7950a060 --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.4_PLA_standard.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_pla +variant = 0.4mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.4_PLA_super.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.4_PLA_super.inst.cfg new file mode 100644 index 0000000000..aa47467c13 --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.4_PLA_super.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_pla +variant = 0.4mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.5_PLA_adaptive.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.5_PLA_adaptive.inst.cfg new file mode 100644 index 0000000000..f3a069499f --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.5_PLA_adaptive.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +material = generic_pla +variant = 0.5mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.5_PLA_low.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.5_PLA_low.inst.cfg new file mode 100644 index 0000000000..0b04db2735 --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.5_PLA_low.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Low Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = low +material = generic_pla +variant = 0.5mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.5_PLA_standard.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.5_PLA_standard.inst.cfg new file mode 100644 index 0000000000..e5255a5816 --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.5_PLA_standard.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_pla +variant = 0.5mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.5_PLA_super.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.5_PLA_super.inst.cfg new file mode 100644 index 0000000000..cc3edb7042 --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.5_PLA_super.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_pla +variant = 0.5mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.6_PLA_draft.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.6_PLA_draft.inst.cfg new file mode 100644 index 0000000000..4e908e5d9f --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.6_PLA_draft.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Draft Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = draft +material = generic_pla +variant = 0.6mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.6_PLA_low.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.6_PLA_low.inst.cfg new file mode 100644 index 0000000000..e0a2337eae --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.6_PLA_low.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Low Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = low +material = generic_pla +variant = 0.6mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.6_PLA_standard.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.6_PLA_standard.inst.cfg new file mode 100644 index 0000000000..110feef3b6 --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.6_PLA_standard.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_pla +variant = 0.6mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_0.8_PLA_draft.inst.cfg b/resources/quality/kingroon/PLA/kingroon_0.8_PLA_draft.inst.cfg new file mode 100644 index 0000000000..3035da9861 --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_0.8_PLA_draft.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Draft Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = draft +material = generic_pla +variant = 0.8mm Nozzle + +[values] diff --git a/resources/quality/kingroon/PLA/kingroon_1.0_PLA_draft.inst.cfg b/resources/quality/kingroon/PLA/kingroon_1.0_PLA_draft.inst.cfg new file mode 100644 index 0000000000..d63752a00f --- /dev/null +++ b/resources/quality/kingroon/PLA/kingroon_1.0_PLA_draft.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Draft Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = draft +material = generic_pla +variant = 1.0mm Nozzle + +[values] diff --git a/resources/quality/kingroon/TPU/kingroon_0.3_TPU_adaptive.inst.cfg b/resources/quality/kingroon/TPU/kingroon_0.3_TPU_adaptive.inst.cfg new file mode 100644 index 0000000000..e4433ce3d9 --- /dev/null +++ b/resources/quality/kingroon/TPU/kingroon_0.3_TPU_adaptive.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +material = generic_tpu +variant = 0.3mm Nozzle + +[values] diff --git a/resources/quality/kingroon/TPU/kingroon_0.3_TPU_standard.inst.cfg b/resources/quality/kingroon/TPU/kingroon_0.3_TPU_standard.inst.cfg new file mode 100644 index 0000000000..c8a23122f7 --- /dev/null +++ b/resources/quality/kingroon/TPU/kingroon_0.3_TPU_standard.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_tpu +variant = 0.3mm Nozzle + +[values] diff --git a/resources/quality/kingroon/TPU/kingroon_0.3_TPU_super.inst.cfg b/resources/quality/kingroon/TPU/kingroon_0.3_TPU_super.inst.cfg new file mode 100644 index 0000000000..50d3c97c8e --- /dev/null +++ b/resources/quality/kingroon/TPU/kingroon_0.3_TPU_super.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_tpu +variant = 0.3mm Nozzle + +[values] diff --git a/resources/quality/kingroon/TPU/kingroon_0.4_TPU_adaptive.inst.cfg b/resources/quality/kingroon/TPU/kingroon_0.4_TPU_adaptive.inst.cfg new file mode 100644 index 0000000000..632ccc990b --- /dev/null +++ b/resources/quality/kingroon/TPU/kingroon_0.4_TPU_adaptive.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +material = generic_tpu +variant = 0.4mm Nozzle + +[values] diff --git a/resources/quality/kingroon/TPU/kingroon_0.4_TPU_standard.inst.cfg b/resources/quality/kingroon/TPU/kingroon_0.4_TPU_standard.inst.cfg new file mode 100644 index 0000000000..3b9ee5f56f --- /dev/null +++ b/resources/quality/kingroon/TPU/kingroon_0.4_TPU_standard.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_tpu +variant = 0.4mm Nozzle + +[values] diff --git a/resources/quality/kingroon/TPU/kingroon_0.4_TPU_super.inst.cfg b/resources/quality/kingroon/TPU/kingroon_0.4_TPU_super.inst.cfg new file mode 100644 index 0000000000..67dda85f40 --- /dev/null +++ b/resources/quality/kingroon/TPU/kingroon_0.4_TPU_super.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_tpu +variant = 0.4mm Nozzle + +[values] diff --git a/resources/quality/kingroon/TPU/kingroon_0.5_TPU_adaptive.inst.cfg b/resources/quality/kingroon/TPU/kingroon_0.5_TPU_adaptive.inst.cfg new file mode 100644 index 0000000000..a35ac4c966 --- /dev/null +++ b/resources/quality/kingroon/TPU/kingroon_0.5_TPU_adaptive.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +material = generic_tpu +variant = 0.5mm Nozzle + +[values] diff --git a/resources/quality/kingroon/TPU/kingroon_0.5_TPU_standard.inst.cfg b/resources/quality/kingroon/TPU/kingroon_0.5_TPU_standard.inst.cfg new file mode 100644 index 0000000000..ee1c72dc9d --- /dev/null +++ b/resources/quality/kingroon/TPU/kingroon_0.5_TPU_standard.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_tpu +variant = 0.5mm Nozzle + +[values] diff --git a/resources/quality/kingroon/TPU/kingroon_0.5_TPU_super.inst.cfg b/resources/quality/kingroon/TPU/kingroon_0.5_TPU_super.inst.cfg new file mode 100644 index 0000000000..de017e2af5 --- /dev/null +++ b/resources/quality/kingroon/TPU/kingroon_0.5_TPU_super.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +material = generic_tpu +variant = 0.5mm Nozzle + +[values] diff --git a/resources/quality/kingroon/TPU/kingroon_0.6_TPU_standard.inst.cfg b/resources/quality/kingroon/TPU/kingroon_0.6_TPU_standard.inst.cfg new file mode 100644 index 0000000000..82bd9a9738 --- /dev/null +++ b/resources/quality/kingroon/TPU/kingroon_0.6_TPU_standard.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +material = generic_tpu +variant = 0.6mm Nozzle + +[values] diff --git a/resources/quality/kingroon/TPU/kingroon_0.8_TPU_draft.inst.cfg b/resources/quality/kingroon/TPU/kingroon_0.8_TPU_draft.inst.cfg new file mode 100644 index 0000000000..3f116a8dc1 --- /dev/null +++ b/resources/quality/kingroon/TPU/kingroon_0.8_TPU_draft.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Draft Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = draft +material = generic_tpu +variant = 0.8mm Nozzle + +[values] diff --git a/resources/quality/kingroon/TPU/kingroon_1.0_TPU_draft.inst.cfg b/resources/quality/kingroon/TPU/kingroon_1.0_TPU_draft.inst.cfg new file mode 100644 index 0000000000..cc3447548f --- /dev/null +++ b/resources/quality/kingroon/TPU/kingroon_1.0_TPU_draft.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 4 +name = Draft Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = draft +material = generic_tpu +variant = 1.0mm Nozzle + +[values] diff --git a/resources/quality/kingroon/kingroon_global_adaptive.inst.cfg b/resources/quality/kingroon/kingroon_global_adaptive.inst.cfg new file mode 100644 index 0000000000..cc18db11c7 --- /dev/null +++ b/resources/quality/kingroon/kingroon_global_adaptive.inst.cfg @@ -0,0 +1,19 @@ +[general] +version = 4 +name = Dynamic Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = adaptive +weight = -2 +global_quality = True + +[values] +layer_height = 0.16 +layer_height_0 = 0.20 +top_bottom_thickness = =layer_height_0+layer_height*4 +wall_thickness = =line_width*3 +support_interface_height = =layer_height*6 +adaptive_layer_height_enabled = true diff --git a/resources/quality/kingroon/kingroon_global_draft.inst.cfg b/resources/quality/kingroon/kingroon_global_draft.inst.cfg new file mode 100644 index 0000000000..fd892506a1 --- /dev/null +++ b/resources/quality/kingroon/kingroon_global_draft.inst.cfg @@ -0,0 +1,18 @@ +[general] +version = 4 +name = Draft Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = draft +weight = -5 +global_quality = True + +[values] +layer_height = 0.32 +layer_height_0 = 0.32 +top_bottom_thickness = =layer_height_0+layer_height*3 +wall_thickness = =line_width*2 +support_interface_height = =layer_height*4 diff --git a/resources/quality/kingroon/kingroon_global_low.inst.cfg b/resources/quality/kingroon/kingroon_global_low.inst.cfg new file mode 100644 index 0000000000..e939b5739d --- /dev/null +++ b/resources/quality/kingroon/kingroon_global_low.inst.cfg @@ -0,0 +1,18 @@ +[general] +version = 4 +name = Low Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = low +weight = -4 +global_quality = True + +[values] +layer_height = 0.28 +layer_height_0 = 0.28 +top_bottom_thickness = =layer_height_0+layer_height*3 +wall_thickness = =line_width*2 +support_interface_height = =layer_height*4 diff --git a/resources/quality/kingroon/kingroon_global_standard.inst.cfg b/resources/quality/kingroon/kingroon_global_standard.inst.cfg new file mode 100644 index 0000000000..62f6939255 --- /dev/null +++ b/resources/quality/kingroon/kingroon_global_standard.inst.cfg @@ -0,0 +1,18 @@ +[general] +version = 4 +name = Standard Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = standard +weight = -3 +global_quality = True + +[values] +layer_height = 0.2 +layer_height_0 = 0.2 +top_bottom_thickness = =layer_height_0+layer_height*3 +wall_thickness = =line_width*3 +support_interface_height = =layer_height*5 diff --git a/resources/quality/kingroon/kingroon_global_super.inst.cfg b/resources/quality/kingroon/kingroon_global_super.inst.cfg new file mode 100644 index 0000000000..cbd461cc9f --- /dev/null +++ b/resources/quality/kingroon/kingroon_global_super.inst.cfg @@ -0,0 +1,18 @@ +[general] +version = 4 +name = Super Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = super +weight = -1 +global_quality = True + +[values] +layer_height = 0.12 +layer_height_0 = 0.12 +top_bottom_thickness = =layer_height_0+layer_height*6 +wall_thickness = =line_width*3 +support_interface_height = =layer_height*8 diff --git a/resources/quality/kingroon/kingroon_global_ultra.inst.cfg b/resources/quality/kingroon/kingroon_global_ultra.inst.cfg new file mode 100644 index 0000000000..1ef8f33e0e --- /dev/null +++ b/resources/quality/kingroon/kingroon_global_ultra.inst.cfg @@ -0,0 +1,18 @@ +[general] +version = 4 +name = Ultra Quality +definition = kingroon_base + +[metadata] +setting_version = 17 +type = quality +quality_type = ultra +weight = 0 +global_quality = True + +[values] +layer_height = 0.08 +layer_height_0 = 0.12 +top_bottom_thickness = =layer_height_0+layer_height*10 +wall_thickness = =line_width*3 +support_interface_height = =layer_height*12 diff --git a/resources/themes/cura-light/icons/low/Cancel.svg b/resources/themes/cura-light/icons/low/Cancel.svg new file mode 100644 index 0000000000..6fc1159747 --- /dev/null +++ b/resources/themes/cura-light/icons/low/Cancel.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/low/Check.svg b/resources/themes/cura-light/icons/low/Check.svg new file mode 100644 index 0000000000..a20a9b1b70 --- /dev/null +++ b/resources/themes/cura-light/icons/low/Check.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/low/CircleSolid.svg b/resources/themes/cura-light/icons/low/CircleSolid.svg new file mode 100644 index 0000000000..18f38a2341 --- /dev/null +++ b/resources/themes/cura-light/icons/low/CircleSolid.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/resources/themes/cura-light/icons/low/Warning.svg b/resources/themes/cura-light/icons/low/Warning.svg new file mode 100644 index 0000000000..0def040628 --- /dev/null +++ b/resources/themes/cura-light/icons/low/Warning.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index a2727ec12b..6d99b7ae03 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -239,8 +239,9 @@ "text_scene": [102, 102, 102, 255], "text_scene_hover": [123, 123, 113, 255], - "error": [255, 140, 0, 255], - "warning": [245, 166, 35, 255], + "error": [218, 30, 40, 255], + "warning": [253, 209, 58, 255], + "success": [36, 162, 73, 255], "disabled": [229, 229, 229, 255], "toolbar_button_hover": [232, 242, 252, 255], @@ -363,6 +364,9 @@ "message_close_hover": [8, 7, 63, 255], "message_progressbar_background": [245, 245, 245, 255], "message_progressbar_control": [50, 130, 255, 255], + "message_success_icon": [255, 255, 255, 255], + "message_warning_icon": [0, 0, 0, 255], + "message_error_icon": [255, 255, 255, 255], "tool_panel_background": [255, 255, 255, 255], @@ -616,6 +620,7 @@ "message_radius": [0.25, 0.25], "message_action_button": [0, 2.5], "message_image": [15.0, 5.0], + "message_type_icon": [2, 2], "infill_button_margin": [0.5, 0.5], diff --git a/resources/variants/kingroon_kp3_0.2.inst.cfg b/resources/variants/kingroon_kp3_0.2.inst.cfg new file mode 100644 index 0000000000..8fa9186bff --- /dev/null +++ b/resources/variants/kingroon_kp3_0.2.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.2mm Nozzle +version = 4 +definition = kingroon_kp3 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.2 diff --git a/resources/variants/kingroon_kp3_0.3.inst.cfg b/resources/variants/kingroon_kp3_0.3.inst.cfg new file mode 100644 index 0000000000..b31510e125 --- /dev/null +++ b/resources/variants/kingroon_kp3_0.3.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.3mm Nozzle +version = 4 +definition = kingroon_kp3 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.3 diff --git a/resources/variants/kingroon_kp3_0.4.inst.cfg b/resources/variants/kingroon_kp3_0.4.inst.cfg new file mode 100644 index 0000000000..47e539ac09 --- /dev/null +++ b/resources/variants/kingroon_kp3_0.4.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.4mm Nozzle +version = 4 +definition = kingroon_kp3 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.4 diff --git a/resources/variants/kingroon_kp3_0.5.inst.cfg b/resources/variants/kingroon_kp3_0.5.inst.cfg new file mode 100644 index 0000000000..4cf935f6e1 --- /dev/null +++ b/resources/variants/kingroon_kp3_0.5.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.5mm Nozzle +version = 4 +definition = kingroon_kp3 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.5 diff --git a/resources/variants/kingroon_kp3_0.6.inst.cfg b/resources/variants/kingroon_kp3_0.6.inst.cfg new file mode 100644 index 0000000000..a1da7fb2c5 --- /dev/null +++ b/resources/variants/kingroon_kp3_0.6.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.6mm Nozzle +version = 4 +definition = kingroon_kp3 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.6 diff --git a/resources/variants/kingroon_kp3_0.8.inst.cfg b/resources/variants/kingroon_kp3_0.8.inst.cfg new file mode 100644 index 0000000000..1335367a25 --- /dev/null +++ b/resources/variants/kingroon_kp3_0.8.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.8mm Nozzle +version = 4 +definition = kingroon_kp3 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.8 diff --git a/resources/variants/kingroon_kp3_1.0.inst.cfg b/resources/variants/kingroon_kp3_1.0.inst.cfg new file mode 100644 index 0000000000..0dba9543c9 --- /dev/null +++ b/resources/variants/kingroon_kp3_1.0.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 1.0mm Nozzle +version = 4 +definition = kingroon_kp3 + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 1.0 diff --git a/resources/variants/kingroon_kp3s_0.2.inst.cfg b/resources/variants/kingroon_kp3s_0.2.inst.cfg new file mode 100644 index 0000000000..2ffda2c256 --- /dev/null +++ b/resources/variants/kingroon_kp3s_0.2.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.2mm Nozzle +version = 4 +definition = kingroon_kp3s + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.2 diff --git a/resources/variants/kingroon_kp3s_0.3.inst.cfg b/resources/variants/kingroon_kp3s_0.3.inst.cfg new file mode 100644 index 0000000000..1f914eb6bf --- /dev/null +++ b/resources/variants/kingroon_kp3s_0.3.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.3mm Nozzle +version = 4 +definition = kingroon_kp3s + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.3 diff --git a/resources/variants/kingroon_kp3s_0.4.inst.cfg b/resources/variants/kingroon_kp3s_0.4.inst.cfg new file mode 100644 index 0000000000..479baabb4d --- /dev/null +++ b/resources/variants/kingroon_kp3s_0.4.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.4mm Nozzle +version = 4 +definition = kingroon_kp3s + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.4 diff --git a/resources/variants/kingroon_kp3s_0.5.inst.cfg b/resources/variants/kingroon_kp3s_0.5.inst.cfg new file mode 100644 index 0000000000..60100a80fd --- /dev/null +++ b/resources/variants/kingroon_kp3s_0.5.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.5mm Nozzle +version = 4 +definition = kingroon_kp3s + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.5 diff --git a/resources/variants/kingroon_kp3s_0.6.inst.cfg b/resources/variants/kingroon_kp3s_0.6.inst.cfg new file mode 100644 index 0000000000..2aed87e544 --- /dev/null +++ b/resources/variants/kingroon_kp3s_0.6.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.6mm Nozzle +version = 4 +definition = kingroon_kp3s + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.6 diff --git a/resources/variants/kingroon_kp3s_0.8.inst.cfg b/resources/variants/kingroon_kp3s_0.8.inst.cfg new file mode 100644 index 0000000000..e0bce0a969 --- /dev/null +++ b/resources/variants/kingroon_kp3s_0.8.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.8mm Nozzle +version = 4 +definition = kingroon_kp3s + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.8 diff --git a/resources/variants/kingroon_kp3s_1.0.inst.cfg b/resources/variants/kingroon_kp3s_1.0.inst.cfg new file mode 100644 index 0000000000..f9db27a49f --- /dev/null +++ b/resources/variants/kingroon_kp3s_1.0.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 1.0mm Nozzle +version = 4 +definition = kingroon_kp3s + +[metadata] +setting_version = 17 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 1.0