diff --git a/.github/ISSUE_TEMPLATE/bugreport.yaml b/.github/ISSUE_TEMPLATE/bugreport.yaml index 87c82c982a..f31971ab2a 100644 --- a/.github/ISSUE_TEMPLATE/bugreport.yaml +++ b/.github/ISSUE_TEMPLATE/bugreport.yaml @@ -64,7 +64,7 @@ body: You can find your log file here: Windows: `%APPDATA%\cura\\cura.log` or usually `C:\Users\\\AppData\Roaming\cura\\cura.log` MacOS: `$USER/Library/Application Support/cura//cura.log` - Ubuntu/Linus: `$USER/.local/share/cura//cura.log` + Ubuntu/Linux: `$USER/.local/share/cura//cura.log` If the Cura user interface still starts, you can also reach this directory from the application menu in Help -> Show settings folder - type: checkboxes diff --git a/cura/API/Account.py b/cura/API/Account.py index a85e2c64c5..ab45c4a4be 100644 --- a/cura/API/Account.py +++ b/cura/API/Account.py @@ -1,7 +1,7 @@ # Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from datetime import datetime -from typing import Optional, Dict, TYPE_CHECKING, Callable +from typing import Any, Optional, Dict, TYPE_CHECKING, Callable from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, pyqtProperty, QTimer, Q_ENUMS @@ -46,6 +46,9 @@ class Account(QObject): loginStateChanged = pyqtSignal(bool) """Signal emitted when user logged in or out""" + additionalRightsChanged = pyqtSignal("QVariantMap") + """Signal emitted when a users additional rights change""" + accessTokenChanged = pyqtSignal() syncRequested = pyqtSignal() """Sync services may connect to this signal to receive sync triggers. @@ -70,6 +73,7 @@ class Account(QObject): self._error_message = None # type: Optional[Message] self._logged_in = False + self._additional_rights: Dict[str, Any] = {} self._sync_state = SyncState.IDLE self._manual_sync_enabled = False self._update_packages_enabled = False @@ -301,3 +305,14 @@ class Account(QObject): return # Nothing to do, user isn't logged in. self._authorization_service.deleteAuthData() + + def updateAdditionalRight(self, **kwargs) -> None: + """Update the additional rights of the account. + The argument(s) are the rights that need to be set""" + self._additional_rights.update(kwargs) + self.additionalRightsChanged.emit(self._additional_rights) + + @pyqtProperty("QVariantMap", notify = additionalRightsChanged) + def additionalRights(self) -> Dict[str, Any]: + """A dictionary which can be queried for additional account rights.""" + return self._additional_rights diff --git a/cura/ApplicationMetadata.py b/cura/ApplicationMetadata.py index 6911132f55..712f3e0f1b 100644 --- a/cura/ApplicationMetadata.py +++ b/cura/ApplicationMetadata.py @@ -13,7 +13,7 @@ DEFAULT_CURA_DEBUG_MODE = False # Each release has a fixed SDK version coupled with it. It doesn't make sense to make it configurable because, for # example Cura 3.2 with SDK version 6.1 will not work. So the SDK version is hard-coded here and left out of the # CuraVersion.py.in template. -CuraSDKVersion = "7.7.0" +CuraSDKVersion = "7.8.0" try: from cura.CuraVersion import CuraAppName # type: ignore diff --git a/cura/Arranging/Nest2DArrange.py b/cura/Arranging/Nest2DArrange.py index fdac63cd9d..ebe96202f2 100644 --- a/cura/Arranging/Nest2DArrange.py +++ b/cura/Arranging/Nest2DArrange.py @@ -110,18 +110,11 @@ def findNodePlacement(nodes_to_arrange: List["SceneNode"], build_volume: "BuildV return found_solution_for_all, node_items -def arrange(nodes_to_arrange: List["SceneNode"], build_volume: "BuildVolume", fixed_nodes: Optional[List["SceneNode"]] = None, factor = 10000, add_new_nodes_in_scene: bool = False) -> bool: - """ - Find placement for a set of scene nodes, and move them by using a single grouped operation. - :param nodes_to_arrange: The list of nodes that need to be moved. - :param build_volume: The build volume that we want to place the nodes in. It gets size & disallowed areas from this. - :param fixed_nodes: List of nods that should not be moved, but should be used when deciding where the others nodes - are placed. - :param factor: The library that we use is int based. This factor defines how accuracte we want it to be. - :param add_new_nodes_in_scene: Whether to create new scene nodes before applying the transformations and rotations - - :return: found_solution_for_all: Whether the algorithm found a place on the buildplate for all the objects - """ +def createGroupOperationForArrange(nodes_to_arrange: List["SceneNode"], + build_volume: "BuildVolume", + fixed_nodes: Optional[List["SceneNode"]] = None, + factor = 10000, + add_new_nodes_in_scene: bool = False) -> Tuple[GroupedOperation, int]: scene_root = Application.getInstance().getController().getScene().getRoot() found_solution_for_all, node_items = findNodePlacement(nodes_to_arrange, build_volume, fixed_nodes, factor) @@ -143,6 +136,27 @@ def arrange(nodes_to_arrange: List["SceneNode"], build_volume: "BuildVolume", fi grouped_operation.addOperation( TranslateOperation(node, Vector(200, node.getWorldPosition().y, -not_fit_count * 20), set_position = True)) not_fit_count += 1 - grouped_operation.push() - return found_solution_for_all + return grouped_operation, not_fit_count + + +def arrange(nodes_to_arrange: List["SceneNode"], + build_volume: "BuildVolume", + fixed_nodes: Optional[List["SceneNode"]] = None, + factor = 10000, + add_new_nodes_in_scene: bool = False) -> bool: + """ + Find placement for a set of scene nodes, and move them by using a single grouped operation. + :param nodes_to_arrange: The list of nodes that need to be moved. + :param build_volume: The build volume that we want to place the nodes in. It gets size & disallowed areas from this. + :param fixed_nodes: List of nods that should not be moved, but should be used when deciding where the others nodes + are placed. + :param factor: The library that we use is int based. This factor defines how accuracte we want it to be. + :param add_new_nodes_in_scene: Whether to create new scene nodes before applying the transformations and rotations + + :return: found_solution_for_all: Whether the algorithm found a place on the buildplate for all the objects + """ + + grouped_operation, not_fit_count = createGroupOperationForArrange(nodes_to_arrange, build_volume, fixed_nodes, factor, add_new_nodes_in_scene) + grouped_operation.push() + return not_fit_count != 0 diff --git a/cura/Backups/Backup.py b/cura/Backups/Backup.py index 85510e6b4c..90a354c0a3 100644 --- a/cura/Backups/Backup.py +++ b/cura/Backups/Backup.py @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Ultimaker B.V. +# Copyright (c) 2021 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import io @@ -168,7 +168,10 @@ class Backup: preferences_file = Resources.getPath(Resources.Preferences, "{}.cfg".format(preferences_file_name)) backup_preferences_file = os.path.join(version_data_dir, "{}.cfg".format(preferences_file_name)) Logger.log("d", "Moving preferences file from %s to %s", backup_preferences_file, preferences_file) - shutil.move(backup_preferences_file, preferences_file) + try: + shutil.move(backup_preferences_file, preferences_file) + except EnvironmentError as e: + Logger.error(f"Unable to back-up preferences file: {type(e)} - {str(e)}") # Read the preferences from the newly restored configuration (or else the cached Preferences will override the restored ones) self._application.readPreferencesFromConfiguration() @@ -203,6 +206,8 @@ class Backup: archive.extract(archive_filename, target_path) except (PermissionError, EnvironmentError): Logger.logException("e", f"Unable to extract the file {archive_filename} from the backup due to permission or file system errors.") + except UnicodeEncodeError: + Logger.error(f"Unable to extract the file {archive_filename} because of an encoding error.") CuraApplication.getInstance().processEvents() return True diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index cf397e395e..e0c43c4876 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -1078,9 +1078,10 @@ class BuildVolume(SceneNode): # setting does *not* have a limit_to_extruder setting (which means that we can't ask the global extruder what # the value is. adhesion_extruder = self._global_container_stack.getProperty("adhesion_extruder_nr", "value") - skirt_brim_line_width = self._global_container_stack.extruderList[int(adhesion_extruder)].getProperty("skirt_brim_line_width", "value") + adhesion_stack = self._global_container_stack.extruderList[int(adhesion_extruder)] + skirt_brim_line_width = adhesion_stack.getProperty("skirt_brim_line_width", "value") - initial_layer_line_width_factor = self._global_container_stack.getProperty("initial_layer_line_width_factor", "value") + initial_layer_line_width_factor = adhesion_stack.getProperty("initial_layer_line_width_factor", "value") # Use brim width if brim is enabled OR the prime tower has a brim. if adhesion_type == "brim": brim_line_count = self._global_container_stack.getProperty("brim_line_count", "value") diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 5c5f083491..609a5e26b1 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -129,7 +129,7 @@ class CuraApplication(QtApplication): # SettingVersion represents the set of settings available in the machine/extruder definitions. # You need to make sure that this version number needs to be increased if there is any non-backwards-compatible # changes of the settings. - SettingVersion = 18 + SettingVersion = 19 Created = False @@ -320,7 +320,7 @@ class CuraApplication(QtApplication): super().initialize() self._preferences.addPreference("cura/single_instance", False) - self._use_single_instance = self._preferences.getValue("cura/single_instance") + self._use_single_instance = self._preferences.getValue("cura/single_instance") or self._cli_args.single_instance self.__sendCommandToSingleInstance() self._initializeSettingDefinitions() @@ -750,7 +750,9 @@ class CuraApplication(QtApplication): @pyqtSlot(str, result = QUrl) def getDefaultPath(self, key): default_path = self.getPreferences().getValue("local_file/%s" % key) - return QUrl.fromLocalFile(default_path) + if os.path.exists(default_path): + return QUrl.fromLocalFile(default_path) + return QUrl() @pyqtSlot(str, str) def setDefaultPath(self, key, default_path): diff --git a/cura/Machines/Models/MaterialManagementModel.py b/cura/Machines/Models/MaterialManagementModel.py index 6663dbdae1..5c6baaf55f 100644 --- a/cura/Machines/Models/MaterialManagementModel.py +++ b/cura/Machines/Models/MaterialManagementModel.py @@ -7,8 +7,11 @@ from typing import Any, Dict, Optional, TYPE_CHECKING import uuid # To generate new GUIDs for new materials. import zipfile # To export all materials in a .zip archive. +from PyQt5.QtGui import QDesktopServices + from UM.i18n import i18nCatalog from UM.Logger import Logger +from UM.Message import Message from UM.Signal import postponeSignals, CompressTechnique import cura.CuraApplication # Imported like this to prevent circular imports. @@ -20,6 +23,7 @@ if TYPE_CHECKING: catalog = i18nCatalog("cura") + class MaterialManagementModel(QObject): favoritesChanged = pyqtSignal(str) """Triggered when a favorite is added or removed. @@ -27,6 +31,63 @@ class MaterialManagementModel(QObject): :param The base file of the material is provided as parameter when this emits """ + def __init__(self, parent: Optional[QObject] = None) -> None: + super().__init__(parent = parent) + self._checkIfNewMaterialsWereInstalled() + + def _checkIfNewMaterialsWereInstalled(self) -> None: + """ + Checks whether new material packages were installed in the latest startup. If there were, then it shows + a message prompting the user to sync the materials with their printers. + """ + application = cura.CuraApplication.CuraApplication.getInstance() + for package_id, package_data in application.getPackageManager().getPackagesInstalledOnStartup().items(): + if package_data["package_info"]["package_type"] == "material": + # At least one new material was installed + self._showSyncNewMaterialsMessage() + break + + def _showSyncNewMaterialsMessage(self) -> None: + sync_materials_message = Message( + text = catalog.i18nc("@action:button", + "Please sync the material profiles with your printers before starting to print."), + title = catalog.i18nc("@action:button", "New materials installed"), + message_type = Message.MessageType.WARNING, + lifetime = 0 + ) + + sync_materials_message.addAction( + "sync", + name = catalog.i18nc("@action:button", "Sync materials with printers"), + icon = "", + description = "Sync your newly installed materials with your printers.", + button_align = Message.ActionButtonAlignment.ALIGN_RIGHT + ) + + sync_materials_message.addAction( + "learn_more", + name = catalog.i18nc("@action:button", "Learn more"), + icon = "", + description = "Learn more about syncing your newly installed materials with your printers.", + button_align = Message.ActionButtonAlignment.ALIGN_LEFT, + button_style = Message.ActionButtonStyle.LINK + ) + sync_materials_message.actionTriggered.connect(self._onSyncMaterialsMessageActionTriggered) + + # Show the message only if there are printers that support material export + container_registry = cura.CuraApplication.CuraApplication.getInstance().getContainerRegistry() + global_stacks = container_registry.findContainerStacks(type = "machine") + if any([stack.supportsMaterialExport for stack in global_stacks]): + sync_materials_message.show() + + def _onSyncMaterialsMessageActionTriggered(self, sync_message: Message, sync_message_action: str): + if sync_message_action == "sync": + QDesktopServices.openUrl(QUrl("https://example.com/openSyncAllWindow")) + # self.openSyncAllWindow() + sync_message.hide() + elif sync_message_action == "learn_more": + QDesktopServices.openUrl(QUrl("https://support.ultimaker.com/hc/en-us/articles/360013137919?utm_source=cura&utm_medium=software&utm_campaign=sync-material-printer-message")) + @pyqtSlot("QVariant", result = bool) def canMaterialBeRemoved(self, material_node: "MaterialNode") -> bool: """Can a certain material be deleted, or is it still in use in one of the container stacks anywhere? @@ -287,7 +348,17 @@ class MaterialManagementModel(QObject): """ registry = CuraContainerRegistry.getInstance() - archive = zipfile.ZipFile(file_path.toLocalFile(), "w", compression = zipfile.ZIP_DEFLATED) + try: + archive = zipfile.ZipFile(file_path.toLocalFile(), "w", compression = zipfile.ZIP_DEFLATED) + except OSError as e: + Logger.log("e", f"Can't write to destination {file_path.toLocalFile()}: {type(e)} - {str(e)}") + error_message = Message( + text = catalog.i18nc("@message:text", "Could not save material archive to {}:").format(file_path.toLocalFile()) + " " + str(e), + title = catalog.i18nc("@message:title", "Failed to save material archive"), + message_type = Message.MessageType.ERROR + ) + error_message.show() + return for metadata in registry.findInstanceContainersMetadata(type = "material"): if metadata["base_file"] != metadata["id"]: # Only process base files. continue @@ -296,4 +367,7 @@ class MaterialManagementModel(QObject): material = registry.findContainers(id = metadata["id"])[0] suffix = registry.getMimeTypeForContainer(type(material)).preferredSuffix filename = metadata["id"] + "." + suffix - archive.writestr(filename, material.serialize()) + try: + archive.writestr(filename, material.serialize()) + except OSError as e: + Logger.log("e", f"An error has occurred while writing the material \'{metadata['id']}\' in the file \'{filename}\': {e}.") diff --git a/cura/Machines/Models/QualityProfilesDropDownMenuModel.py b/cura/Machines/Models/QualityProfilesDropDownMenuModel.py index 7aa30c6f82..f7316e9c09 100644 --- a/cura/Machines/Models/QualityProfilesDropDownMenuModel.py +++ b/cura/Machines/Models/QualityProfilesDropDownMenuModel.py @@ -41,10 +41,6 @@ class QualityProfilesDropDownMenuModel(ListModel): machine_manager.activeQualityGroupChanged.connect(self._onChange) machine_manager.activeMaterialChanged.connect(self._onChange) machine_manager.activeVariantChanged.connect(self._onChange) - machine_manager.extruderChanged.connect(self._onChange) - - extruder_manager = application.getExtruderManager() - extruder_manager.extrudersChanged.connect(self._onChange) self._layer_height_unit = "" # This is cached diff --git a/cura/MultiplyObjectsJob.py b/cura/MultiplyObjectsJob.py index 4c1caf137c..1446ae687e 100644 --- a/cura/MultiplyObjectsJob.py +++ b/cura/MultiplyObjectsJob.py @@ -6,11 +6,15 @@ from typing import List from UM.Application import Application from UM.Job import Job +from UM.Math.Vector import Vector from UM.Message import Message +from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation +from UM.Operations.GroupedOperation import GroupedOperation +from UM.Operations.TranslateOperation import TranslateOperation from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Scene.SceneNode import SceneNode from UM.i18n import i18nCatalog -from cura.Arranging.Nest2DArrange import arrange +from cura.Arranging.Nest2DArrange import arrange, createGroupOperationForArrange i18n_catalog = i18nCatalog("cura") @@ -43,11 +47,11 @@ class MultiplyObjectsJob(Job): # Only count sliceable objects if node_.callDecoration("isSliceable"): fixed_nodes.append(node_) - + nodes_to_add_without_arrange = [] for node in self._objects: # If object is part of a group, multiply group current_node = node - while current_node.getParent() and (current_node.getParent().callDecoration("isGroup") or current_node.getParent().callDecoration("isSliceable")): + while current_node.getParent() and current_node.getParent().callDecoration("isGroup"): current_node = current_node.getParent() if current_node in processed_nodes: @@ -56,19 +60,38 @@ class MultiplyObjectsJob(Job): for _ in range(self._count): new_node = copy.deepcopy(node) - # Same build plate build_plate_number = current_node.callDecoration("getBuildPlateNumber") new_node.callDecoration("setBuildPlateNumber", build_plate_number) for child in new_node.getChildren(): child.callDecoration("setBuildPlateNumber", build_plate_number) - - nodes.append(new_node) + if not current_node.getParent().callDecoration("isSliceable"): + nodes.append(new_node) + else: + # The node we're trying to place has another node that is sliceable as a parent. + # As such, we shouldn't arrange it (but it should be added to the scene!) + nodes_to_add_without_arrange.append(new_node) + new_node.setParent(current_node.getParent()) found_solution_for_all = True + group_operation = GroupedOperation() if nodes: - found_solution_for_all = arrange(nodes, Application.getInstance().getBuildVolume(), fixed_nodes, - factor = 10000, add_new_nodes_in_scene = True) + group_operation, not_fit_count = createGroupOperationForArrange(nodes, + Application.getInstance().getBuildVolume(), + fixed_nodes, + factor = 10000, + add_new_nodes_in_scene = True) + found_solution_for_all = not_fit_count == 0 + + if nodes_to_add_without_arrange: + for nested_node in nodes_to_add_without_arrange: + group_operation.addOperation(AddSceneNodeOperation(nested_node, nested_node.getParent())) + # Move the node a tiny bit so it doesn't overlap with the existing one. + # This doesn't fix it if someone creates more than one duplicate, but it at least shows that something + # happened (and after moving it, it's clear that there are more underneath) + group_operation.addOperation(TranslateOperation(nested_node, Vector(2.5, 2.5, 2.5))) + + group_operation.push() status_message.hide() if not found_solution_for_all: diff --git a/cura/OAuth2/AuthorizationService.py b/cura/OAuth2/AuthorizationService.py index 9bff497c17..291845fd78 100644 --- a/cura/OAuth2/AuthorizationService.py +++ b/cura/OAuth2/AuthorizationService.py @@ -99,7 +99,14 @@ class AuthorizationService: # If no auth data exists, we should always log in again. Logger.log("d", "There was no auth data or access token") return None - user_data = self._auth_helpers.parseJWT(self._auth_data.access_token) + + try: + user_data = self._auth_helpers.parseJWT(self._auth_data.access_token) + except AttributeError: + # THis might seem a bit double, but we get crash reports about this (CURA-2N2 in sentry) + Logger.log("d", "There was no auth data or access token") + return None + if user_data: # If the profile was found, we return it immediately. return user_data diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index 09c9a7a3dc..518eaaa8fa 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -23,6 +23,8 @@ from UM.Settings.InstanceContainer import InstanceContainer import cura.CuraApplication from cura.Machines.ContainerTree import ContainerTree +from cura.Settings.ExtruderStack import ExtruderStack +from cura.Settings.GlobalStack import GlobalStack if TYPE_CHECKING: from cura.CuraApplication import CuraApplication @@ -408,7 +410,7 @@ class ContainerManager(QObject): container_registry = cura.CuraApplication.CuraApplication.getInstance().getContainerRegistry() for plugin_id, container_type in container_registry.getContainerTypes(): # Ignore default container types since those are not plugins - if container_type in (InstanceContainer, ContainerStack, DefinitionContainer): + if container_type in (InstanceContainer, ContainerStack, DefinitionContainer, GlobalStack, ExtruderStack): continue serialize_type = "" diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index ac9d704afd..d8e17ec305 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Ultimaker B.V. +# Copyright (c) 2021 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import time @@ -1398,6 +1398,8 @@ class MachineManager(QObject): # previous one). self._global_container_stack.setUserChanges(global_user_changes) for i, user_changes in enumerate(per_extruder_user_changes): + if i >= len(self._global_container_stack.extruderList): # New printer has fewer extruders. + break self._global_container_stack.extruderList[i].setUserChanges(per_extruder_user_changes[i]) @pyqtSlot(QObject) diff --git a/cura/SingleInstance.py b/cura/SingleInstance.py index fa82ceb104..597a4d5f32 100644 --- a/cura/SingleInstance.py +++ b/cura/SingleInstance.py @@ -18,6 +18,8 @@ class SingleInstance: self._single_instance_server = None + self._application.getPreferences().addPreference("cura/single_instance_clear_before_load", True) + # Starts a client that checks for a single instance server and sends the files that need to opened if the server # exists. Returns True if the single instance server is found, otherwise False. def startClient(self) -> bool: @@ -42,8 +44,9 @@ class SingleInstance: # "command" field is required and holds the name of the command to execute. # Other fields depend on the command. - payload = {"command": "clear-all"} - single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding = "ascii")) + if self._application.getPreferences().getValue("cura/single_instance_clear_before_load"): + payload = {"command": "clear-all"} + single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding = "ascii")) payload = {"command": "focus"} single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding = "ascii")) diff --git a/cura/UI/PrintInformation.py b/cura/UI/PrintInformation.py index d6bd336558..2135c6fe81 100644 --- a/cura/UI/PrintInformation.py +++ b/cura/UI/PrintInformation.py @@ -13,6 +13,8 @@ from UM.Qt.Duration import Duration from UM.Scene.SceneNode import SceneNode from UM.i18n import i18nCatalog from UM.MimeTypeDatabase import MimeTypeDatabase, MimeTypeNotFoundError +from UM.OutputDevice.OutputDevice import OutputDevice +from UM.OutputDevice.ProjectOutputDevice import ProjectOutputDevice if TYPE_CHECKING: from cura.CuraApplication import CuraApplication @@ -68,6 +70,7 @@ class PrintInformation(QObject): self._application.globalContainerStackChanged.connect(self.setToZeroPrintInformation) self._application.fileLoaded.connect(self.setBaseName) self._application.workspaceLoaded.connect(self.setProjectName) + self._application.getOutputDeviceManager().writeStarted.connect(self._onOutputStart) self._application.getMachineManager().rootMaterialChanged.connect(self._onActiveMaterialsChanged) self._application.getInstance().getPreferences().preferenceChanged.connect(self._onPreferencesChanged) @@ -439,3 +442,11 @@ class PrintInformation(QObject): """Listen to scene changes to check if we need to reset the print information""" self.setToZeroPrintInformation(self._active_build_plate) + + def _onOutputStart(self, output_device: OutputDevice) -> None: + """If this is the sort of output 'device' (like local or online file storage, rather than a printer), + the user could have altered the file-name, and thus the project name should be altered as well.""" + if isinstance(output_device, ProjectOutputDevice): + new_name = output_device.getLastOutputName() + if new_name is not None: + self.setJobName(os.path.splitext(os.path.basename(new_name))[0]) diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 74f564c825..8636c465c0 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -428,6 +428,7 @@ class CuraEngineBackend(QObject, Backend): "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) + Logger.warning(f"Unable to slice with the current settings. The following settings have errors: {', '.join(error_labels)}") self._error_message.show() self.setState(BackendState.Error) self.backendError.emit(job) @@ -454,6 +455,7 @@ class CuraEngineBackend(QObject, Backend): "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) + Logger.warning(f"Unable to slice due to per-object settings. The following settings have errors on one or more models: {', '.join(errors.values())}") self._error_message.show() self.setState(BackendState.Error) self.backendError.emit(job) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index de3b375e28..9e53ce8b3a 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Ultimaker B.V. +# Copyright (c) 2021 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import numpy @@ -353,10 +353,19 @@ class StartSliceJob(Job): result[key] = stack.getProperty(key, "value") Job.yieldThread() - result["print_bed_temperature"] = result["material_bed_temperature"] # Renamed settings. + # Material identification in addition to non-human-readable GUID + result["material_id"] = stack.material.getMetaDataEntry("base_file", "") + result["material_type"] = stack.material.getMetaDataEntry("material", "") + result["material_name"] = stack.material.getMetaDataEntry("name", "") + result["material_brand"] = stack.material.getMetaDataEntry("brand", "") + + # Renamed settings. + result["print_bed_temperature"] = result["material_bed_temperature"] result["print_temperature"] = result["material_print_temperature"] result["travel_speed"] = result["speed_travel"] - result["time"] = time.strftime("%H:%M:%S") #Some extra settings. + + #Some extra settings. + result["time"] = time.strftime("%H:%M:%S") result["date"] = time.strftime("%d-%m-%Y") result["day"] = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][int(time.strftime("%w"))] result["initial_extruder_nr"] = CuraApplication.getInstance().getExtruderManager().getInitialExtruderNr() @@ -455,9 +464,9 @@ class StartSliceJob(Job): bed_temperature_settings = ["material_bed_temperature", "material_bed_temperature_layer_0"] pattern = r"\{(%s)(,\s?\w+)?\}" % "|".join(bed_temperature_settings) # match {setting} as well as {setting, extruder_nr} settings["material_bed_temp_prepend"] = re.search(pattern, start_gcode) == None - print_temperature_settings = ["material_print_temperature", "material_print_temperature_layer_0", "default_material_print_temperature", "material_initial_print_temperature", "material_final_print_temperature", "material_standby_temperature"] + print_temperature_settings = ["material_print_temperature", "material_print_temperature_layer_0", "default_material_print_temperature", "material_initial_print_temperature", "material_final_print_temperature", "material_standby_temperature", "print_temperature"] pattern = r"\{(%s)(,\s?\w+)?\}" % "|".join(print_temperature_settings) # match {setting} as well as {setting, extruder_nr} - settings["material_print_temp_prepend"] = re.search(pattern, start_gcode) == None + settings["material_print_temp_prepend"] = re.search(pattern, start_gcode) is None # Replace the setting tokens in start and end g-code. # Use values from the first used extruder by default so we get the expected temperatures diff --git a/plugins/DigitalLibrary/src/DigitalFactoryApiClient.py b/plugins/DigitalLibrary/src/DigitalFactoryApiClient.py index ad87ea9b8a..5301151c5f 100644 --- a/plugins/DigitalLibrary/src/DigitalFactoryApiClient.py +++ b/plugins/DigitalLibrary/src/DigitalFactoryApiClient.py @@ -67,10 +67,12 @@ class DigitalFactoryApiClient: def callbackWrap(response: Optional[Any] = None, *args, **kwargs) -> None: if (response is not None and isinstance(response, DigitalFactoryFeatureBudgetResponse) and response.library_max_private_projects is not None): - callback( - response.library_max_private_projects == -1 or # Note: -1 is unlimited - response.library_max_private_projects > 0) + # A user has DF access when library_max_private_projects is either -1 (unlimited) or bigger then 0 + has_access = response.library_max_private_projects == -1 or response.library_max_private_projects > 0 + callback(has_access) self._library_max_private_projects = response.library_max_private_projects + # update the account with the additional user rights + self._account.updateAdditionalRight(df_access = has_access) else: Logger.warning(f"Digital Factory: Response is not a feature budget, likely an error: {str(response)}") callback(False) diff --git a/plugins/DigitalLibrary/src/DigitalFactoryController.py b/plugins/DigitalLibrary/src/DigitalFactoryController.py index b94f0e69c8..e1b1c62172 100644 --- a/plugins/DigitalLibrary/src/DigitalFactoryController.py +++ b/plugins/DigitalLibrary/src/DigitalFactoryController.py @@ -603,8 +603,8 @@ class DigitalFactoryController(QObject): self._saveFileToSelectedProjectHelper(filename, formats) def _saveFileToSelectedProjectHelper(self, filename: str, formats: List[str]) -> None: - # Indicate we have started sending a job. - self.uploadStarted.emit() + # Indicate we have started sending a job (and propagate any user file name changes back to the open project) + self.uploadStarted.emit(filename if "3mf" in formats else None) library_project_id = self._project_model.items[self._selected_project_idx]["libraryProjectId"] library_project_name = self._project_model.items[self._selected_project_idx]["displayName"] diff --git a/plugins/DigitalLibrary/src/DigitalFactoryOutputDevice.py b/plugins/DigitalLibrary/src/DigitalFactoryOutputDevice.py index 70e3ac34f2..0a10ea034c 100644 --- a/plugins/DigitalLibrary/src/DigitalFactoryOutputDevice.py +++ b/plugins/DigitalLibrary/src/DigitalFactoryOutputDevice.py @@ -8,6 +8,8 @@ from UM.Logger import Logger from UM.OutputDevice import OutputDeviceError from UM.OutputDevice.ProjectOutputDevice import ProjectOutputDevice from UM.Scene.SceneNode import SceneNode +from UM.Version import Version +from cura import ApplicationMetadata from cura.API import Account from cura.CuraApplication import CuraApplication from .DigitalFactoryController import DigitalFactoryController @@ -105,8 +107,11 @@ class DigitalFactoryOutputDevice(ProjectOutputDevice): self.enabled = logged_in and self._controller.userAccountHasLibraryAccess() self.enabledChanged.emit() - def _onWriteStarted(self) -> None: + def _onWriteStarted(self, new_name: Optional[str] = None) -> None: self._writing = True + if new_name and Version(ApplicationMetadata.CuraSDKVersion) >= Version("7.8.0"): + # setLastOutputName is only supported in sdk version 7.8.0 and up + self.setLastOutputName(new_name) # On saving, the user can change the name, this should propagate. self.writeStarted.emit(self) def _onWriteFinished(self) -> None: diff --git a/plugins/PerObjectSettingsTool/SettingPickDialog.qml b/plugins/PerObjectSettingsTool/SettingPickDialog.qml index 28ddb7e642..1bba094e49 100644 --- a/plugins/PerObjectSettingsTool/SettingPickDialog.qml +++ b/plugins/PerObjectSettingsTool/SettingPickDialog.qml @@ -96,11 +96,11 @@ UM.Dialog } showAll: toggleShowAll.checked || filterInput.text !== "" } - delegate:Loader + delegate: Loader { id: loader - width: parent.width + width: listview.width height: model.type != undefined ? UM.Theme.getSize("section").height : 0 property var definition: model diff --git a/plugins/PostProcessingPlugin/scripts/ChangeAtZ.py b/plugins/PostProcessingPlugin/scripts/ChangeAtZ.py index 712af63b07..3a46fcabdf 100644 --- a/plugins/PostProcessingPlugin/scripts/ChangeAtZ.py +++ b/plugins/PostProcessingPlugin/scripts/ChangeAtZ.py @@ -9,7 +9,7 @@ # Modified by Ricardo Gomez, ricardoga@otulook.com, to add Bed Temperature and make it work with Cura_13.06.04+ # Modified by Stefan Heule, Dim3nsioneer@gmx.ch since V3.0 (see changelog below) # Modified by Jaime van Kessel (Ultimaker), j.vankessel@ultimaker.com to make it work for 15.10 / 2.x -# Modified by Ruben Dulek (Ultimaker), r.dulek@ultimaker.com, to debug. +# Modified by Ghostkeeper (Ultimaker), rubend@tutanota.com, to debug. # Modified by Wes Hanney, https://github.com/novamxd, Retract Length + Speed, Clean up # history / changelog: diff --git a/plugins/PostProcessingPlugin/scripts/FilamentChange.py b/plugins/PostProcessingPlugin/scripts/FilamentChange.py index 17ff045b8d..ff62e1949c 100644 --- a/plugins/PostProcessingPlugin/scripts/FilamentChange.py +++ b/plugins/PostProcessingPlugin/scripts/FilamentChange.py @@ -7,6 +7,8 @@ from typing import List from ..Script import Script +from UM.Application import Application #To get the current printer's settings. + class FilamentChange(Script): _layer_keyword = ";LAYER:" @@ -81,10 +83,51 @@ class FilamentChange(Script): "type": "float", "default_value": 0, "minimum_value": 0 + }, + "retract_method": + { + "label": "Retract method", + "description": "The gcode variant to use for retract.", + "type": "enum", + "options": {"U": "Marlin (M600 U)", "L": "Reprap (M600 L)"}, + "default_value": "U", + "value": "\\\"L\\\" if machine_gcode_flavor==\\\"RepRap (RepRap)\\\" else \\\"U\\\"", + "enabled": "not firmware_config" + }, + "machine_gcode_flavor": + { + "label": "G-code flavor", + "description": "The type of g-code to be generated. This setting is controlled by the script and will not be visible.", + "type": "enum", + "options": + { + "RepRap (Marlin/Sprinter)": "Marlin", + "RepRap (Volumetric)": "Marlin (Volumetric)", + "RepRap (RepRap)": "RepRap", + "UltiGCode": "Ultimaker 2", + "Griffin": "Griffin", + "Makerbot": "Makerbot", + "BFB": "Bits from Bytes", + "MACH3": "Mach3", + "Repetier": "Repetier" + }, + "default_value": "RepRap (Marlin/Sprinter)", + "enabled": "false" } } }""" + ## Copy machine name and gcode flavor from global stack so we can use their value in the script stack + def initialize(self) -> None: + super().initialize() + + global_container_stack = Application.getInstance().getGlobalContainerStack() + if global_container_stack is None or self._instance is None: + return + + for key in ["machine_gcode_flavor"]: + self._instance.setProperty(key, "value", global_container_stack.getProperty(key, "value")) + def execute(self, data: List[str]): """Inserts the filament change g-code at specific layer numbers. @@ -106,7 +149,10 @@ class FilamentChange(Script): color_change = color_change + (" E%.2f" % initial_retract) if later_retract is not None and later_retract > 0.: - color_change = color_change + (" L%.2f" % later_retract) + # Reprap uses 'L': https://reprap.org/wiki/G-code#M600:_Filament_change_pause + # Marlin uses 'U' https://marlinfw.org/docs/gcode/M600.html + retract_method = self.getSettingValueByKey("retract_method") + color_change = color_change + (" %s%.2f" % (retract_method, later_retract)) if x_pos is not None: color_change = color_change + (" X%.2f" % x_pos) diff --git a/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py b/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py index a0c3648304..40a56ace57 100644 --- a/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py +++ b/plugins/PostProcessingPlugin/scripts/SearchAndReplace.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Ruben Dulek +# Copyright (c) 2017 Ghostkeeper # The PostProcessingPlugin is released under the terms of the AGPLv3 or higher. import re #To perform the search and replace. diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py index 02e71207e0..0e8db0f88a 100755 --- a/plugins/SliceInfoPlugin/SliceInfo.py +++ b/plugins/SliceInfoPlugin/SliceInfo.py @@ -130,6 +130,7 @@ class SliceInfo(QObject, Extension): data["cura_version"] = self._application.getVersion() data["cura_build_type"] = ApplicationMetadata.CuraBuildType org_id = user_profile.get("organization_id", None) if user_profile else None + data["is_logged_in"] = self._application.getCuraAPI().account.isLoggedIn data["organization_id"] = org_id if org_id else None data["subscriptions"] = user_profile.get("subscriptions", []) if user_profile else [] diff --git a/plugins/SliceInfoPlugin/example_data.html b/plugins/SliceInfoPlugin/example_data.html index 5b97f1cba6..85a9f554ff 100644 --- a/plugins/SliceInfoPlugin/example_data.html +++ b/plugins/SliceInfoPlugin/example_data.html @@ -7,6 +7,7 @@ Intent Profile: Default
Quality Profile: Fast
Using Custom Settings: No
+ Is Logged In: Yes
Organization ID (if any): ABCDefGHIjKlMNOpQrSTUvYxWZ0-1234567890abcDE=
Subscriptions (if any):
    diff --git a/plugins/Toolbox/src/CloudSync/LicensePresenter.py b/plugins/Toolbox/src/CloudSync/LicensePresenter.py index 9a68c93d71..39ce11c8d3 100644 --- a/plugins/Toolbox/src/CloudSync/LicensePresenter.py +++ b/plugins/Toolbox/src/CloudSync/LicensePresenter.py @@ -1,3 +1,6 @@ +# Copyright (c) 2021 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + import os from collections import OrderedDict from typing import Dict, Optional, List, Any @@ -95,7 +98,11 @@ class LicensePresenter(QObject): for package_id, item in packages.items(): item["package_id"] = package_id - item["licence_content"] = self._package_manager.getPackageLicense(item["package_path"]) + try: + item["licence_content"] = self._package_manager.getPackageLicense(item["package_path"]) + except EnvironmentError as e: + Logger.error(f"Could not open downloaded package {package_id} to read license file! {type(e)} - {e}") + continue # Skip this package. if item["licence_content"] is None: # Implicitly accept when there is no license item["accepted"] = True diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index b91b580779..e525a88d89 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Ultimaker B.V. +# Copyright (c) 2021 Ultimaker B.V. # Toolbox is released under the terms of the LGPLv3 or higher. import json @@ -542,7 +542,7 @@ class Toolbox(QObject, Extension): # Make API Calls # -------------------------------------------------------------------------- def _makeRequestByType(self, request_type: str) -> None: - Logger.log("d", "Requesting [%s] metadata from server.", request_type) + Logger.debug(f"Requesting {request_type} metadata from server.") url = self._request_urls[request_type] callback = lambda r, rt = request_type: self._onDataRequestFinished(rt, r) @@ -554,7 +554,7 @@ class Toolbox(QObject, Extension): @pyqtSlot(str) def startDownload(self, url: str) -> None: - Logger.log("i", "Attempting to download & install package from %s.", url) + Logger.info(f"Attempting to download & install package from {url}.") callback = lambda r: self._onDownloadFinished(r) error_callback = lambda r, e: self._onDownloadFailed(r, e) @@ -572,7 +572,7 @@ class Toolbox(QObject, Extension): @pyqtSlot() def cancelDownload(self) -> None: - Logger.log("i", "User cancelled the download of a package. request %s", self._download_request_data) + Logger.info(f"User cancelled the download of a package. request {self._download_request_data}") if self._download_request_data is not None: self._application.getHttpRequestManager().abortRequest(self._download_request_data) self._download_request_data = None @@ -585,7 +585,7 @@ class Toolbox(QObject, Extension): # Handlers for Network Events # -------------------------------------------------------------------------- def _onDataRequestError(self, request_type: str, reply: "QNetworkReply", error: "QNetworkReply.NetworkError") -> None: - Logger.log("e", "Request [%s] failed due to error [%s]: %s", request_type, error, reply.errorString()) + Logger.error(f"Request {request_type} failed due to error {error}: {reply.errorString()}") self.setViewPage("errored") def _onDataRequestFinished(self, request_type: str, reply: "QNetworkReply") -> None: @@ -682,9 +682,13 @@ class Toolbox(QObject, Extension): if not package_info: Logger.log("w", "Package file [%s] was not a valid CuraPackage.", file_path) return - - license_content = self._package_manager.getPackageLicense(file_path) package_id = package_info["package_id"] + + try: + license_content = self._package_manager.getPackageLicense(file_path) + except EnvironmentError as e: + Logger.error(f"Could not open downloaded package {package_id} to read license file! {type(e)} - {e}") + return if license_content is not None: # get the icon url for package_id, make sure the result is a string, never None icon_url = next((x["icon_url"] for x in self.packagesModel.items if x["id"] == package_id), None) or "" diff --git a/plugins/UFPReader/plugin.json b/plugins/UFPReader/plugin.json index be0ea40073..08df39c938 100644 --- a/plugins/UFPReader/plugin.json +++ b/plugins/UFPReader/plugin.json @@ -3,6 +3,6 @@ "author": "Ultimaker B.V.", "version": "1.0.0", "description": "Provides support for reading Ultimaker Format Packages.", - "supported_sdk_versions": ["7.7.0"], + "supported_sdk_versions": ["7.8.0"], "i18n-catalog": "cura" } \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/resources/svg/CloudPlatform.svg b/plugins/UM3NetworkPrinting/resources/svg/CloudPlatform.svg new file mode 100644 index 0000000000..5da9f17bbf --- /dev/null +++ b/plugins/UM3NetworkPrinting/resources/svg/CloudPlatform.svg @@ -0,0 +1,353 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/UM3NetworkPrinting/resources/svg/cloud-flow-start.svg b/plugins/UM3NetworkPrinting/resources/svg/cloud-flow-start.svg deleted file mode 100644 index 746dc269fd..0000000000 --- a/plugins/UM3NetworkPrinting/resources/svg/cloud-flow-start.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Cloud_connection-icon - Created with Sketch. - - - - - - - - \ No newline at end of file diff --git a/plugins/UM3NetworkPrinting/src/Messages/CloudFlowMessage.py b/plugins/UM3NetworkPrinting/src/Messages/CloudFlowMessage.py index c453537d81..34687339a9 100644 --- a/plugins/UM3NetworkPrinting/src/Messages/CloudFlowMessage.py +++ b/plugins/UM3NetworkPrinting/src/Messages/CloudFlowMessage.py @@ -15,27 +15,26 @@ I18N_CATALOG = i18nCatalog("cura") class CloudFlowMessage(Message): - def __init__(self, address: str) -> None: - + def __init__(self, printer_name: str) -> None: image_path = os.path.join( CuraApplication.getInstance().getPluginRegistry().getPluginPath("UM3NetworkPrinting") or "", - "resources", "svg", "cloud-flow-start.svg" + "resources", "svg", "CloudPlatform.svg" ) - super().__init__( - text=I18N_CATALOG.i18nc("@info:status", - "Send and monitor print jobs from anywhere using your Ultimaker account."), - lifetime=0, - dismissable=True, - option_state=False, - image_source=QUrl.fromLocalFile(image_path), - image_caption=I18N_CATALOG.i18nc("@info:status Ultimaker Cloud should not be translated.", - "Connect to Ultimaker Digital Factory"), + text = I18N_CATALOG.i18nc("@info:status", + f"Your printer {printer_name} could be connected via cloud.\n Manage your print queue and monitor your prints from anywhere connecting your printer to Digital Factory"), + title = I18N_CATALOG.i18nc("@info:title", "Are you ready for cloud printing?"), + image_source = QUrl.fromLocalFile(image_path) ) - self._address = address - self.addAction("", I18N_CATALOG.i18nc("@action", "Get started"), "", "") + self._printer_name = printer_name + self.addAction("get_started", I18N_CATALOG.i18nc("@action", "Get started"), "", "") + self.addAction("learn_more", I18N_CATALOG.i18nc("@action", "Learn more"), "", "", button_style = Message.ActionButtonStyle.LINK, button_align = Message.ActionButtonAlignment.ALIGN_LEFT) + self.actionTriggered.connect(self._onCloudFlowStarted) - def _onCloudFlowStarted(self, messageId: str, actionId: str) -> None: - QDesktopServices.openUrl(QUrl("http://{}/cloud_connect".format(self._address))) - self.hide() + def _onCloudFlowStarted(self, message_id: str, action_id: str) -> None: + if action_id == "get_started": + QDesktopServices.openUrl(QUrl("https://digitalfactory.ultimaker.com/app/printers?add_printer=true&utm_source=cura&utm_medium=software&utm_campaign=message-networkprinter-added")) + self.hide() + else: + QDesktopServices.openUrl(QUrl("https://support.ultimaker.com/hc/en-us/articles/360012019239?utm_source=cura&utm_medium=software&utm_campaign=add-cloud-printer")) diff --git a/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py b/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py index e79709d3dc..0cd5304cf9 100644 --- a/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py +++ b/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py @@ -52,7 +52,6 @@ class LocalClusterOutputDeviceManager: def start(self) -> None: """Start the network discovery.""" - self._zero_conf_client.start() for address in self._getStoredManualAddresses(): self.addManualDevice(address) @@ -292,4 +291,4 @@ class LocalClusterOutputDeviceManager: if not CuraApplication.getInstance().getCuraAPI().account.isLoggedIn: # Do not show the message if the user is not signed in. return - CloudFlowMessage(device.ipAddress).show() + CloudFlowMessage(device.name).show() diff --git a/plugins/UM3NetworkPrinting/src/Network/SendMaterialJob.py b/plugins/UM3NetworkPrinting/src/Network/SendMaterialJob.py index 96a2b78e8f..877eaebcb7 100644 --- a/plugins/UM3NetworkPrinting/src/Network/SendMaterialJob.py +++ b/plugins/UM3NetworkPrinting/src/Network/SendMaterialJob.py @@ -133,6 +133,9 @@ class SendMaterialJob(Job): except FileNotFoundError: Logger.error("Unable to send material {material_id}, since it has been deleted in the meanwhile.".format(material_id = material_id)) return + except EnvironmentError as e: + Logger.error(f"Unable to send material {material_id}. We can't open that file for reading: {str(e)}") + return # Add the material signature file if needed. signature_file_path = "{}.sig".format(file_path) diff --git a/plugins/VersionUpgrade/VersionUpgrade411to412/VersionUpgrade411to412.py b/plugins/VersionUpgrade/VersionUpgrade411to412/VersionUpgrade411to412.py new file mode 100644 index 0000000000..4fb18486c2 --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade411to412/VersionUpgrade411to412.py @@ -0,0 +1,114 @@ +# Copyright (c) 2021 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +import configparser +import io +import os.path +from typing import List, Tuple + +from UM.VersionUpgrade import VersionUpgrade + + +class VersionUpgrade411to412(VersionUpgrade): + """ + Upgrades configurations from the state they were in at version 4.11 to the + state they should be in at version 4.12. + """ + + _flsun_profile_mapping = { + "extra_coarse": "flsun_sr_normal", + "coarse": "flsun_sr_normal", + "extra_fast": "flsun_sr_normal", + "draft": "flsun_sr_normal", + "fast": "flsun_sr_normal", + "normal": "flsun_sr_normal", + "high": "flsun_sr_fine" + } + + _flsun_quality_type_mapping = { + "extra coarse": "normal", + "coarse" : "normal", + "verydraft" : "normal", + "draft" : "normal", + "fast" : "normal", + "normal" : "normal", + "high" : "fine" + } + + def upgradePreferences(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: + """ + Upgrades preferences to have the new version number. + :param serialized: The original contents of the preferences file. + :param filename: The file name of the preferences file. + :return: A list of new file names, and a list of the new contents for + those files. + """ + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialized) + + # Update version number. + parser["metadata"]["setting_version"] = "19" + + result = io.StringIO() + parser.write(result) + return [filename], [result.getvalue()] + + + def upgradeInstanceContainer(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: + """ + Upgrades instance containers to have the new version number. + :param serialized: The original contents of the instance container. + :param filename: The file name of the instance container. + :return: A list of file names, and a list of the new contents for those + files. + """ + parser = configparser.ConfigParser(interpolation = None, comment_prefixes = ()) + parser.read_string(serialized) + + # Update setting version number. + if "metadata" not in parser: + parser["metadata"] = {} + parser["metadata"]["setting_version"] = "19" + + # Update user-made quality profiles of flsun_sr printers to use the flsun_sr-specific qualities instead of the + # global ones as their base + file_base_name = os.path.basename(filename) # Remove any path-related characters from the filename + if file_base_name.startswith("flsun_sr_") and parser["metadata"].get("type") == "quality_changes": + if "general" in parser and parser["general"].get("definition") == "fdmprinter": + old_quality_type = parser["metadata"].get("quality_type", "normal") + parser["general"]["definition"] = "flsun_sr" + parser["metadata"]["quality_type"] = self._flsun_quality_type_mapping.get(old_quality_type, "normal") + + result = io.StringIO() + parser.write(result) + return [filename], [result.getvalue()] + + def upgradeStack(self, serialized: str, filename: str) -> Tuple[List[str], List[str]]: + """ + Upgrades container stacks to have the new version number. + Upgrades container stacks for FLSun Racer to change their profiles. + :param serialized: The original contents of the container stack. + :param filename: The file name of the container stack. + :return: A list of file names, and a list of the new contents for those + files. + """ + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialized) + + # Update setting version number. + if "metadata" not in parser: + parser["metadata"] = {} + parser["metadata"]["setting_version"] = "19" + + # Change renamed profiles. + if "containers" in parser: + definition_id = parser["containers"].get("7") + if definition_id == "flsun_sr": + if parser["metadata"].get("type", "machine") == "machine": # Only global stacks. + old_quality = parser["containers"].get("3") + new_quality = self._flsun_profile_mapping.get(old_quality, "flsun_sr_normal") + parser["containers"]["3"] = new_quality + + result = io.StringIO() + parser.write(result) + return [filename], [result.getvalue()] diff --git a/plugins/VersionUpgrade/VersionUpgrade411to412/__init__.py b/plugins/VersionUpgrade/VersionUpgrade411to412/__init__.py new file mode 100644 index 0000000000..cb84fe0361 --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade411to412/__init__.py @@ -0,0 +1,56 @@ +# Copyright (c) 2021 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +from typing import Any, Dict, TYPE_CHECKING + +from . import VersionUpgrade411to412 + +if TYPE_CHECKING: + from UM.Application import Application + +upgrade = VersionUpgrade411to412.VersionUpgrade411to412() + + +def getMetaData() -> Dict[str, Any]: + return { + "version_upgrade": { + # From To Upgrade function + ("machine_stack", 5000017): ("machine_stack", 5000019, upgrade.upgradeStack), + ("extruder_train", 5000017): ("extruder_train", 5000019, upgrade.upgradeStack), + ("definition_changes", 4000017): ("definition_changes", 4000019, upgrade.upgradeInstanceContainer), + ("quality_changes", 4000017): ("quality_changes", 4000019, upgrade.upgradeInstanceContainer), + ("quality", 4000017): ("quality", 4000019, upgrade.upgradeInstanceContainer), + ("user", 4000017): ("user", 4000019, upgrade.upgradeInstanceContainer), + ("preferences", 7000017): ("preferences", 7000019, upgrade.upgradePreferences), + }, + "sources": { + "machine_stack": { + "get_version": upgrade.getCfgVersion, + "location": {"./machine_instances"} + }, + "extruder_train": { + "get_version": upgrade.getCfgVersion, + "location": {"./extruders"} + }, + "definition_changes": { + "get_version": upgrade.getCfgVersion, + "location": {"./definition_changes"} + }, + "quality_changes": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality_changes"} + }, + "quality": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, + "user": { + "get_version": upgrade.getCfgVersion, + "location": {"./user"} + } + } + } + + +def register(app: "Application") -> Dict[str, Any]: + return {"version_upgrade": upgrade} diff --git a/plugins/VersionUpgrade/VersionUpgrade411to412/plugin.json b/plugins/VersionUpgrade/VersionUpgrade411to412/plugin.json new file mode 100644 index 0000000000..4ac4f264c8 --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade411to412/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "Version Upgrade 4.11 to 4.12", + "author": "Ultimaker B.V.", + "version": "1.0.0", + "description": "Upgrades configurations from Cura 4.11 to Cura 4.12.", + "api": 7, + "i18n-catalog": "cura" +} diff --git a/requirements.txt b/requirements.txt index db927c4943..7daca8335a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,36 +1,38 @@ -cffi==1.14.1 -colorlog -cryptography==3.4.6 -importlib-metadata==3.7.2 -mypy==0.740 -numpy==1.20.2 -PyQt5==5.15.2 -PyQt5-sip==12.8.1 -scipy==1.6.1 -shapely[vectorized]==1.7.1 -twisted==21.2.0 -typing appdirs==1.4.3 certifi==2019.11.28 +cffi==1.14.1 chardet==3.0.4 +colorlog +comtypes==1.1.7 +cryptography==3.4.8 decorator==4.4.0 idna==2.8 +importlib-metadata==3.7.2 +keyring==23.0.1 +lxml==4.6.3 +mypy==0.740 netifaces==0.10.9 -networkx==2.3 +networkx==2.6.2 +numpy==1.20.2 numpy-stl==2.10.1 packaging==18.0 pycollada==0.6 -pycparser==2.19 +pycparser==2.20 pyparsing==2.4.2 +PyQt5==5.15.2 +PyQt5-sip==12.8.1 pyserial==3.4 pytest python-dateutil==2.8.0 python-utils==2.3.0 +pywin32==301 requests==2.22.0 +scipy==1.6.2 sentry-sdk==0.13.5 +shapely[vectorized]==1.7.1 six==1.12.0 trimesh==3.2.33 -zeroconf==0.24.1 -comtypes==1.1.7 -pywin32==300 -keyring==23.0.1 +twisted==21.2.0 +typing +urllib3==1.25.9 +zeroconf==0.31.0 diff --git a/resources/bundled_packages/cura.json b/resources/bundled_packages/cura.json index 641a6dca66..a5d0ffb2a3 100644 --- a/resources/bundled_packages/cura.json +++ b/resources/bundled_packages/cura.json @@ -6,7 +6,7 @@ "display_name": "3MF Reader", "description": "Provides support for reading 3MF files.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -23,7 +23,7 @@ "display_name": "3MF Writer", "description": "Provides support for writing 3MF files.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -40,7 +40,7 @@ "display_name": "AMF Reader", "description": "Provides support for reading AMF files.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "fieldOfView", @@ -57,7 +57,7 @@ "display_name": "Cura Backups", "description": "Backup and restore your configuration.", "package_version": "1.2.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -74,7 +74,7 @@ "display_name": "CuraEngine Backend", "description": "Provides the link to the CuraEngine slicing backend.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -91,7 +91,7 @@ "display_name": "Cura Profile Reader", "description": "Provides support for importing Cura profiles.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -108,7 +108,7 @@ "display_name": "Cura Profile Writer", "description": "Provides support for exporting Cura profiles.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -124,8 +124,8 @@ "package_type": "plugin", "display_name": "Ultimaker Digital Library", "description": "Connects to the Digital Library, allowing Cura to open files from and save files to the Digital Library.", - "package_version": "1.0.0", - "sdk_version": "7.7.0", + "package_version": "1.1.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -142,7 +142,7 @@ "display_name": "Firmware Update Checker", "description": "Checks for firmware updates.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -159,7 +159,7 @@ "display_name": "Firmware Updater", "description": "Provides a machine actions for updating firmware.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -176,7 +176,7 @@ "display_name": "Compressed G-code Reader", "description": "Reads g-code from a compressed archive.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -193,7 +193,7 @@ "display_name": "Compressed G-code Writer", "description": "Writes g-code to a compressed archive.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -210,7 +210,7 @@ "display_name": "G-Code Profile Reader", "description": "Provides support for importing profiles from g-code files.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -227,7 +227,7 @@ "display_name": "G-Code Reader", "description": "Allows loading and displaying G-code files.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "VictorLarchenko", @@ -244,7 +244,7 @@ "display_name": "G-Code Writer", "description": "Writes g-code to a file.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -261,7 +261,7 @@ "display_name": "Image Reader", "description": "Enables ability to generate printable geometry from 2D image files.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -278,7 +278,7 @@ "display_name": "Legacy Cura Profile Reader", "description": "Provides support for importing profiles from legacy Cura versions.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -295,7 +295,7 @@ "display_name": "Machine Settings Action", "description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "fieldOfView", @@ -312,7 +312,7 @@ "display_name": "Model Checker", "description": "Checks models and print configuration for possible printing issues and give suggestions.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -329,7 +329,7 @@ "display_name": "Monitor Stage", "description": "Provides a monitor stage in Cura.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -346,7 +346,7 @@ "display_name": "Per-Object Settings Tool", "description": "Provides the per-model settings.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -363,7 +363,7 @@ "display_name": "Post Processing", "description": "Extension that allows for user created scripts for post processing.", "package_version": "2.2.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -380,7 +380,7 @@ "display_name": "Prepare Stage", "description": "Provides a prepare stage in Cura.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -397,7 +397,7 @@ "display_name": "Preview Stage", "description": "Provides a preview stage in Cura.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -414,7 +414,7 @@ "display_name": "Removable Drive Output Device", "description": "Provides removable drive hotplugging and writing support.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -431,7 +431,7 @@ "display_name": "Sentry Logger", "description": "Logs certain events so that they can be used by the crash reporter", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -448,7 +448,7 @@ "display_name": "Simulation View", "description": "Provides the Simulation view.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -465,7 +465,7 @@ "display_name": "Slice Info", "description": "Submits anonymous slice info. Can be disabled through preferences.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -482,7 +482,7 @@ "display_name": "Solid View", "description": "Provides a normal solid mesh view.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -499,7 +499,7 @@ "display_name": "Support Eraser Tool", "description": "Creates an eraser mesh to block the printing of support in certain places.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -516,7 +516,7 @@ "display_name": "Trimesh Reader", "description": "Provides support for reading model files.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -533,7 +533,7 @@ "display_name": "Toolbox", "description": "Find, manage and install new Cura packages.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -550,7 +550,7 @@ "display_name": "UFP Reader", "description": "Provides support for reading Ultimaker Format Packages.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -567,7 +567,7 @@ "display_name": "UFP Writer", "description": "Provides support for writing Ultimaker Format Packages.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -584,7 +584,7 @@ "display_name": "Ultimaker Machine Actions", "description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -601,7 +601,7 @@ "display_name": "UM3 Network Printing", "description": "Manages network connections to Ultimaker 3 printers.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -618,7 +618,7 @@ "display_name": "USB Printing", "description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.", "package_version": "1.0.2", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -635,7 +635,7 @@ "display_name": "Version Upgrade 2.1 to 2.2", "description": "Upgrades configurations from Cura 2.1 to Cura 2.2.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -652,7 +652,7 @@ "display_name": "Version Upgrade 2.2 to 2.4", "description": "Upgrades configurations from Cura 2.2 to Cura 2.4.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -669,7 +669,7 @@ "display_name": "Version Upgrade 2.5 to 2.6", "description": "Upgrades configurations from Cura 2.5 to Cura 2.6.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -686,7 +686,7 @@ "display_name": "Version Upgrade 2.6 to 2.7", "description": "Upgrades configurations from Cura 2.6 to Cura 2.7.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -703,7 +703,7 @@ "display_name": "Version Upgrade 2.7 to 3.0", "description": "Upgrades configurations from Cura 2.7 to Cura 3.0.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -720,7 +720,7 @@ "display_name": "Version Upgrade 3.0 to 3.1", "description": "Upgrades configurations from Cura 3.0 to Cura 3.1.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -737,7 +737,7 @@ "display_name": "Version Upgrade 3.2 to 3.3", "description": "Upgrades configurations from Cura 3.2 to Cura 3.3.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -754,7 +754,7 @@ "display_name": "Version Upgrade 3.3 to 3.4", "description": "Upgrades configurations from Cura 3.3 to Cura 3.4.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -771,7 +771,7 @@ "display_name": "Version Upgrade 3.4 to 3.5", "description": "Upgrades configurations from Cura 3.4 to Cura 3.5.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -788,7 +788,7 @@ "display_name": "Version Upgrade 3.5 to 4.0", "description": "Upgrades configurations from Cura 3.5 to Cura 4.0.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -805,7 +805,7 @@ "display_name": "Version Upgrade 4.0 to 4.1", "description": "Upgrades configurations from Cura 4.0 to Cura 4.1.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -822,7 +822,7 @@ "display_name": "Version Upgrade 4.1 to 4.2", "description": "Upgrades configurations from Cura 4.1 to Cura 4.2.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -839,7 +839,7 @@ "display_name": "Version Upgrade 4.2 to 4.3", "description": "Upgrades configurations from Cura 4.2 to Cura 4.3.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -856,7 +856,7 @@ "display_name": "Version Upgrade 4.3 to 4.4", "description": "Upgrades configurations from Cura 4.3 to Cura 4.4.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -873,7 +873,7 @@ "display_name": "Version Upgrade 4.4 to 4.5", "description": "Upgrades configurations from Cura 4.4 to Cura 4.5.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -890,7 +890,7 @@ "display_name": "Version Upgrade 4.5 to 4.6", "description": "Upgrades configurations from Cura 4.5 to Cura 4.6.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -907,7 +907,7 @@ "display_name": "Version Upgrade 4.6.0 to 4.6.2", "description": "Upgrades configurations from Cura 4.6.0 to Cura 4.6.2.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -924,7 +924,7 @@ "display_name": "Version Upgrade 4.6.2 to 4.7", "description": "Upgrades configurations from Cura 4.6.2 to Cura 4.7.", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -941,7 +941,7 @@ "display_name": "Version Upgrade 4.7.0 to 4.8.0", "description": "Upgrades configurations from Cura 4.7.0 to Cura 4.8.0", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -958,7 +958,7 @@ "display_name": "Version Upgrade 4.8.0 to 4.9.0", "description": "Upgrades configurations from Cura 4.8.0 to Cura 4.9.0", "package_version": "1.0.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -976,6 +976,24 @@ "description": "Upgrades configurations from Cura 4.9 to Cura 4.10", "package_version": "1.0.0", "sdk_version": 7, + "sdk_version_semver": "7.8.0", + "website": "https://ultimaker.com", + "author": { + "author_id": "UltimakerPackages", + "display_name": "Ultimaker B.V.", + "email": "plugins@ultimaker.com", + "website": "https://ultimaker.com" + } + } + }, + "VersionUpgrade411to412": { + "package_info": { + "package_id": "VersionUpgrade411to412", + "package_type": "plugin", + "display_name": "Version Upgrade 4.11 to 4.12", + "description": "Upgrades configurations from Cura 4.11 to Cura 4.12", + "package_version": "1.0.0", + "sdk_version": 7, "sdk_version_semver": "7.7.0", "website": "https://ultimaker.com", "author": { @@ -993,7 +1011,7 @@ "display_name": "X3D Reader", "description": "Provides support for reading X3D files.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "SevaAlekseyev", @@ -1010,7 +1028,7 @@ "display_name": "XML Material Profiles", "description": "Provides capabilities to read and write XML-based material profiles.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -1027,7 +1045,7 @@ "display_name": "X-Ray View", "description": "Provides the X-Ray view.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com", "author": { "author_id": "UltimakerPackages", @@ -1044,7 +1062,7 @@ "display_name": "Generic ABS", "description": "The generic ABS profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1062,7 +1080,7 @@ "display_name": "Generic BAM", "description": "The generic BAM profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1080,7 +1098,7 @@ "display_name": "Generic CFF CPE", "description": "The generic CFF CPE profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1098,7 +1116,7 @@ "display_name": "Generic CFF PA", "description": "The generic CFF PA profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1116,7 +1134,7 @@ "display_name": "Generic CPE", "description": "The generic CPE profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1134,7 +1152,7 @@ "display_name": "Generic CPE+", "description": "The generic CPE+ profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1152,7 +1170,7 @@ "display_name": "Generic GFF CPE", "description": "The generic GFF CPE profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1170,7 +1188,7 @@ "display_name": "Generic GFF PA", "description": "The generic GFF PA profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1188,7 +1206,7 @@ "display_name": "Generic HIPS", "description": "The generic HIPS profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1206,7 +1224,7 @@ "display_name": "Generic Nylon", "description": "The generic Nylon profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1224,7 +1242,7 @@ "display_name": "Generic PC", "description": "The generic PC profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1242,7 +1260,7 @@ "display_name": "Generic PETG", "description": "The generic PETG profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1260,7 +1278,7 @@ "display_name": "Generic PLA", "description": "The generic PLA profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1278,7 +1296,7 @@ "display_name": "Generic PP", "description": "The generic PP profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1296,7 +1314,7 @@ "display_name": "Generic PVA", "description": "The generic PVA profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1314,7 +1332,7 @@ "display_name": "Generic Tough PLA", "description": "The generic Tough PLA profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1332,7 +1350,7 @@ "display_name": "Generic TPU", "description": "The generic TPU profile which other profiles can be based upon.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://github.com/Ultimaker/fdm_materials", "author": { "author_id": "Generic", @@ -1350,7 +1368,7 @@ "display_name": "Dagoma Chromatik PLA", "description": "Filament testé et approuvé pour les imprimantes 3D Dagoma. Chromatik est l'idéal pour débuter et suivre les tutoriels premiers pas. Il vous offre qualité et résistance pour chacune de vos impressions.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://dagoma.fr/boutique/filaments.html", "author": { "author_id": "Dagoma", @@ -1367,7 +1385,7 @@ "display_name": "FABtotum ABS", "description": "This material is easy to be extruded but it is not the simplest to use. It is one of the most used in 3D printing to get very well finished objects. It is not sustainable and its smoke can be dangerous if inhaled. The reason to prefer this filament to PLA is mainly because of its precision and mechanical specs. ABS (for plastic) stands for Acrylonitrile Butadiene Styrene and it is a thermoplastic which is widely used in everyday objects. It can be printed with any FFF 3D printer which can get to high temperatures as it must be extruded in a range between 220° and 245°, so it’s compatible with all versions of the FABtotum Personal fabricator.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=40", "author": { "author_id": "FABtotum", @@ -1384,7 +1402,7 @@ "display_name": "FABtotum Nylon", "description": "When 3D printing started this material was not listed among the extrudable filaments. It is flexible as well as resistant to tractions. It is well known for its uses in textile but also in industries which require a strong and flexible material. There are different kinds of Nylon: 3D printing mostly uses Nylon 6 and Nylon 6.6, which are the most common. It requires higher temperatures to be printed, so a 3D printer must be able to reach them (around 240°C): the FABtotum, of course, can.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=53", "author": { "author_id": "FABtotum", @@ -1401,7 +1419,7 @@ "display_name": "FABtotum PLA", "description": "It is the most common filament used for 3D printing. It is studied to be bio-degradable as it comes from corn starch’s sugar mainly. It is completely made of renewable sources and has no footprint on polluting. PLA stands for PolyLactic Acid and it is a thermoplastic that today is still considered the easiest material to be 3D printed. It can be extruded at lower temperatures: the standard range of FABtotum’s one is between 185° and 195°.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=39", "author": { "author_id": "FABtotum", @@ -1418,7 +1436,7 @@ "display_name": "FABtotum TPU Shore 98A", "description": "", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=66", "author": { "author_id": "FABtotum", @@ -1435,7 +1453,7 @@ "display_name": "Fiberlogy HD PLA", "description": "With our HD PLA you have many more options. You can use this material in two ways. Choose the one you like best. You can use it as a normal PLA and get prints characterized by a very good adhesion between the layers and high precision. You can also make your prints acquire similar properties to that of ABS – better impact resistance and high temperature resistance. All you need is an oven. Yes, an oven! By annealing our HD PLA in an oven, in accordance with the manual, you will avoid all the inconveniences of printing with ABS, such as unpleasant odour or hazardous fumes.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://fiberlogy.com/en/fiberlogy-filaments/filament-hd-pla/", "author": { "author_id": "Fiberlogy", @@ -1452,7 +1470,7 @@ "display_name": "Filo3D PLA", "description": "Fast, safe and reliable printing. PLA is ideal for the fast and reliable printing of parts and prototypes with a great surface quality.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://dagoma.fr", "author": { "author_id": "Dagoma", @@ -1469,7 +1487,7 @@ "display_name": "IMADE3D JellyBOX PETG", "description": "", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://shop.imade3d.com/filament.html", "author": { "author_id": "IMADE3D", @@ -1486,7 +1504,7 @@ "display_name": "IMADE3D JellyBOX PLA", "description": "", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://shop.imade3d.com/filament.html", "author": { "author_id": "IMADE3D", @@ -1503,7 +1521,7 @@ "display_name": "Octofiber PLA", "description": "PLA material from Octofiber.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://nl.octofiber.com/3d-printing-filament/pla.html", "author": { "author_id": "Octofiber", @@ -1520,7 +1538,7 @@ "display_name": "PolyFlex™ PLA", "description": "PolyFlex™ is a highly flexible yet easy to print 3D printing material. Featuring good elasticity and a large strain-to- failure, PolyFlex™ opens up a completely new realm of applications.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://www.polymaker.com/shop/polyflex/", "author": { "author_id": "Polymaker", @@ -1537,7 +1555,7 @@ "display_name": "PolyMax™ PLA", "description": "PolyMax™ PLA is a 3D printing material with excellent mechanical properties and printing quality. PolyMax™ PLA has an impact resistance of up to nine times that of regular PLA, and better overall mechanical properties than ABS.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://www.polymaker.com/shop/polymax/", "author": { "author_id": "Polymaker", @@ -1554,7 +1572,7 @@ "display_name": "PolyPlus™ PLA True Colour", "description": "PolyPlus™ PLA is a premium PLA designed for all desktop FDM/FFF 3D printers. It is produced with our patented Jam-Free™ technology that ensures consistent extrusion and prevents jams.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://www.polymaker.com/shop/polyplus-true-colour/", "author": { "author_id": "Polymaker", @@ -1571,7 +1589,7 @@ "display_name": "PolyWood™ PLA", "description": "PolyWood™ is a wood mimic printing material that contains no actual wood ensuring a clean Jam-Free™ printing experience.", "package_version": "1.0.1", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "http://www.polymaker.com/shop/polywood/", "author": { "author_id": "Polymaker", @@ -1588,7 +1606,7 @@ "display_name": "Ultimaker ABS", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1607,7 +1625,7 @@ "display_name": "Ultimaker Breakaway", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/breakaway", "author": { "author_id": "UltimakerPackages", @@ -1626,7 +1644,7 @@ "display_name": "Ultimaker CPE", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1645,7 +1663,7 @@ "display_name": "Ultimaker CPE+", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/cpe", "author": { "author_id": "UltimakerPackages", @@ -1664,7 +1682,7 @@ "display_name": "Ultimaker Nylon", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1683,7 +1701,7 @@ "display_name": "Ultimaker PC", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/pc", "author": { "author_id": "UltimakerPackages", @@ -1702,7 +1720,7 @@ "display_name": "Ultimaker PLA", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1721,7 +1739,7 @@ "display_name": "Ultimaker PP", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/pp", "author": { "author_id": "UltimakerPackages", @@ -1740,7 +1758,7 @@ "display_name": "Ultimaker PVA", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/abs", "author": { "author_id": "UltimakerPackages", @@ -1759,7 +1777,7 @@ "display_name": "Ultimaker TPU 95A", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/tpu-95a", "author": { "author_id": "UltimakerPackages", @@ -1778,7 +1796,7 @@ "display_name": "Ultimaker Tough PLA", "description": "Example package for material and quality profiles for Ultimaker materials.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://ultimaker.com/products/materials/tough-pla", "author": { "author_id": "UltimakerPackages", @@ -1797,7 +1815,7 @@ "display_name": "Vertex Delta ABS", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", @@ -1814,7 +1832,7 @@ "display_name": "Vertex Delta PET", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", @@ -1831,7 +1849,7 @@ "display_name": "Vertex Delta PLA", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", @@ -1848,7 +1866,7 @@ "display_name": "Vertex Delta TPU", "description": "ABS material and quality files for the Delta Vertex K8800.", "package_version": "1.4.0", - "sdk_version": "7.7.0", + "sdk_version": "7.8.0", "website": "https://vertex3dprinter.eu", "author": { "author_id": "Velleman", diff --git a/resources/definitions/3di_base.def.json b/resources/definitions/3di_base.def.json new file mode 100644 index 0000000000..b86ff4707c --- /dev/null +++ b/resources/definitions/3di_base.def.json @@ -0,0 +1,49 @@ +{ + "version": 2, + "name": "3DI Base Printer", + "inherits": "fdmprinter", + "metadata": { + "visible": false, + "author": "Vaibhav Jain", + "manufacturer": "3Deometry Innovations", + "file_formats": "text/x-gcode", + "machine_extruder_trains": + { + "0": "3di_base_extruder_0" + } + }, + + "overrides": { + "machine_name":{ + "default_value": "3DI Base Printer" + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_width": { + "default_value": 220 + }, + "machine_height": { + "default_value": 220 + }, + "machine_depth": { + "default_value": 220 + }, + "machine_center_is_zero": { + "default_value": true + }, + "machine_gcode_flavor": { + "default_value": "RepRap (Marlin/Sprinter)" + }, + "machine_start_gcode": { + "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 ;Home all axes (max endstops)\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." + }, + "machine_end_gcode": { + "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG28 ;Home all axes (max endstops)\nM84 ;steppers off\nG90 ;absolute positioning" + }, + "machine_shape": { + "default_value": "elliptic" + } + } +} + diff --git a/resources/definitions/3di_d300.def.json b/resources/definitions/3di_d300.def.json new file mode 100644 index 0000000000..3fad62d339 --- /dev/null +++ b/resources/definitions/3di_d300.def.json @@ -0,0 +1,26 @@ +{ + "version": 2, + "name": "3DI D300", + "inherits": "3di_base", + "metadata": { + "visible": true, + "platform": "3di_d300_platform.STL", + "platform_offset": [-200, -5, 173.205] + }, + + "overrides": { + "machine_name": { + "default_value": "3DI D300" + }, + "machine_width": { + "default_value": 300 + }, + "machine_height": { + "default_value": 300 + }, + "machine_depth": { + "default_value": 300 + } + } +} + diff --git a/resources/definitions/anycubic_mega_zero.def.json b/resources/definitions/anycubic_mega_zero.def.json index b0c3132858..5f71d243ab 100644 --- a/resources/definitions/anycubic_mega_zero.def.json +++ b/resources/definitions/anycubic_mega_zero.def.json @@ -92,7 +92,7 @@ "retraction_hop_enabled": { "value": "True" }, "retraction_hop": { "value": 0.2 }, - "retraction_combing": { "default_value": "noskin" }, + "retraction_combing": { "value": "'noskin'" }, "retraction_combing_max_distance": { "value": 30 }, "travel_avoid_other_parts": { "value": true }, diff --git a/resources/definitions/arjunpro300.def.json b/resources/definitions/arjunpro300.def.json new file mode 100644 index 0000000000..7f7160f777 --- /dev/null +++ b/resources/definitions/arjunpro300.def.json @@ -0,0 +1,52 @@ +{ + "version": 2, + "name": "Arjun Pro 300", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Venkat Kamesh", + "manufacturer": "Sri Vignan Technologies", + "weight": 3, + "file_formats": "text/x-gcode", + "platform": "arjunpro300_platform.STL", + "platform_offset": [-155, -6, 190], + "has_material": true, + "has_variants": true, + "preferred_variant_name": "0.4 mm Nozzle", + "machine_extruder_trains": + { + "0": "arjunpro_extruder_0", + "1": "arjunpro_extruder_1" + } + }, + + "overrides": { + "machine_name": { "default_value": "Arjun Pro 300" }, + "machine_width": { "default_value": 300 }, + "machine_height": { "default_value": 293 }, + "machine_depth": { "default_value": 300 }, + "machine_center_is_zero": {"default_value": false}, + "machine_heated_bed": { "default_value": true }, + "machine_nozzle_size": {"default_value": 0.4}, + "machine_show_variants": {"default_value": true}, + "machine_acceleration": {"default_value": 2000}, + "machine_max_feedrate_x": { "value": 300 }, + "machine_max_feedrate_y": { "value": 300 }, + "machine_max_feedrate_z": { "value": 15 }, + "machine_max_feedrate_e": { "value": 150 }, + "machine_use_extruder_offset_to_offset_coords": {"default_value": false}, + "line_width": {"value": "machine_nozzle_size"}, + "speed_travel": {"maximum_value": "300", "value": "200"}, + "optimize_wall_printing_order": { "value": "True" }, + "material_diameter": { "default_value": 1.75}, + "retraction_amount": {"default_value": 6.5}, + "retraction_speed": { "default_value": 30}, + + "adhesion_type": { "default_value": "skirt" }, + "machine_gcode_flavor": { "default_value": "Marlin"}, + "ironing_enabled":{"default_value": true}, + "machine_start_gcode": { "default_value": "M605 S0\nG21\nG90\nM82\nM107\nT1\nG28 \nG29 \nG1 X0 Y5 F2000\nT1\nG92 E0\nG1 E45 F210\nG92 E0\nT0\nG92 E0\nG1 E45 F210\nG92 E0\nM117\n"}, + "machine_end_gcode": { "default_value": "G91\nG1 Z+0.5 E-16 Y+10 F9000\nG90\nM107\nM104 S0 T1\nM104 S0 T0\nM140 S0\nM117\nG28 X0 Y0\nT0\nM84"}, + "machine_extruder_count": { "default_value": 2 } + } +} diff --git a/resources/definitions/arjunpro_duplication.def.json b/resources/definitions/arjunpro_duplication.def.json new file mode 100644 index 0000000000..9aebd197a7 --- /dev/null +++ b/resources/definitions/arjunpro_duplication.def.json @@ -0,0 +1,49 @@ +{ + "version": 2, + "name": "Arjun Pro 300 Duplication", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Venkat Kamesh", + "manufacturer": "Sri Vignan Technologies", + "weight": 3, + "file_formats": "text/x-gcode", + "has_material": true, + "has_variants": true, + "preferred_variant_name": "0.4 mm Nozzle", + "machine_extruder_trains": + { + "0": "arjunpro_dm_extruder" + } + }, + + "overrides": { + "machine_name": { "default_value": "Arjunpro 300 Duplication" }, + "machine_width": { "default_value": 120 }, + "machine_height": { "default_value": 293 }, + "machine_depth": { "default_value": 300 }, + "machine_center_is_zero": {"default_value": false}, + "machine_heated_bed": { "default_value": true }, + "machine_nozzle_size": {"default_value": 0.4}, + "machine_show_variants": {"default_value": true}, + "machine_acceleration": {"default_value": 2000}, + "machine_max_feedrate_x": { "value": 300 }, + "machine_max_feedrate_y": { "value": 300 }, + "machine_max_feedrate_z": { "value": 15 }, + "machine_max_feedrate_e": { "value": 150 }, + "machine_use_extruder_offset_to_offset_coords": {"default_value": false}, + "line_width": {"value": "machine_nozzle_size"}, + "speed_travel": {"maximum_value": "300", "value": "200"}, + "optimize_wall_printing_order": { "value": "True" }, + "material_diameter": { "default_value": 1.75}, + "retraction_amount": {"default_value": 6.5}, + "retraction_speed": { "default_value": 30}, + + "adhesion_type": { "default_value": "skirt" }, + "machine_gcode_flavor": { "default_value": "Marlin"}, + "ironing_enabled":{"default_value": true}, + "machine_start_gcode": {"default_value": "M605 S2 R0 X125\nG21\nG90\nM82\nM107\nM104 S{material_print_temperature}\nM105\nM109 S{material_print_temperature}\nG28 \nG29 \nG1 Z15 F150\nG28 Y5\nG1 Y20 F6000\nG28 X0\nG1 X80 F6000\nT0\nG92 E0\nG1 E35 F250\nG1 E45 F120\nG92 E0\nG1 X100 Z0 F5000\nG1 X125 F6000\nM117\n"}, + "machine_end_gcode": {"default_value": "G91\nG1 Z+0.5 E-16 Y+10 F9000\nG90\nM107\nM107 P1\nM104 S0\nM140 S0\nM117\nM605 S0\nG28 X0 Y0\nM84"}, + "machine_extruder_count": { "default_value": 1 } + } +} diff --git a/resources/definitions/arjunpro_mirrored.def.json b/resources/definitions/arjunpro_mirrored.def.json new file mode 100644 index 0000000000..5502708186 --- /dev/null +++ b/resources/definitions/arjunpro_mirrored.def.json @@ -0,0 +1,49 @@ +{ + "version": 2, + "name": "Arjun Pro 300 Mirror", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Venkat Kamesh", + "manufacturer": "Sri Vignan Technologies", + "weight": 3, + "file_formats": "text/x-gcode", + "has_material": true, + "has_variants": true, + "preferred_variant_name": "0.4 mm Nozzle", + "machine_extruder_trains": + { + "0": "arjunpro_mm_extruder" + } + }, + + "overrides": { + "machine_name": { "default_value": "Arjunpro 300 Mirror" }, + "machine_width": { "default_value": 120 }, + "machine_height": { "default_value": 293 }, + "machine_depth": { "default_value": 300 }, + "machine_center_is_zero": {"default_value": false}, + "machine_heated_bed": { "default_value": true }, + "machine_nozzle_size": {"default_value": 0.4}, + "machine_show_variants": {"default_value": true}, + "machine_acceleration": {"default_value": 2000}, + "machine_max_feedrate_x": { "value": 300 }, + "machine_max_feedrate_y": { "value": 300 }, + "machine_max_feedrate_z": { "value": 15 }, + "machine_max_feedrate_e": { "value": 150 }, + "machine_use_extruder_offset_to_offset_coords": {"default_value": false}, + "line_width": {"value": "machine_nozzle_size"}, + "speed_travel": {"maximum_value": "300", "value": "200"}, + "optimize_wall_printing_order": { "value": "True" }, + "material_diameter": { "default_value": 1.75}, + "retraction_amount": {"default_value": 6.5}, + "retraction_speed": { "default_value": 30}, + + "adhesion_type": { "default_value": "skirt" }, + "machine_gcode_flavor": { "default_value": "Marlin"}, + "ironing_enabled":{"default_value": true}, + "machine_start_gcode": {"default_value": "M605 S2 R0 X125\nM605 S3 X125\nG21\nG90\nM82\nM107\nM104 S{material_print_temperature}\nM105\nM109 S{material_print_temperature}\nG28 \nG29 \nG1 Z15 F150\nG28 Y5\nG1 Y20 F6000\nG28 X0\nG1 X80 F6000\nT0\nG92 E0\nG1 E35 F250\nG1 E45 F120\nG92 E0\nG1 X100 Z0 F5000\nG1 X125 F6000\nM117\n"}, + "machine_end_gcode": {"default_value": "G91\nG1 Z+0.5 E-16 Y+10 F9000\nG90\nM107\nM107 P1\nM104 S0\nM140 S0\nM117\nM605 S0\nG28 X0 Y0\nM84"}, + "machine_extruder_count": { "default_value": 1 } + } +} diff --git a/resources/definitions/atmat_signal_pro_base.def.json b/resources/definitions/atmat_signal_pro_base.def.json index 411867fb02..0d1c5a75c2 100644 --- a/resources/definitions/atmat_signal_pro_base.def.json +++ b/resources/definitions/atmat_signal_pro_base.def.json @@ -225,7 +225,7 @@ "retraction_prime_speed": { "value": "math.ceil(retraction_speed * 0.4)", "maximum_value_warning": "130" }, "retraction_hop_enabled": { "value": "True" }, "retraction_hop": { "value": "0.5" }, - "retraction_combing": { "default_value": "noskin" }, + "retraction_combing": { "value": "'noskin'" }, "retraction_combing_max_distance": { "value": "10" }, "travel_avoid_other_parts": { "value": "True" }, "travel_avoid_supports": { "value": "True" }, diff --git a/resources/definitions/creality_ender5plus.def.json b/resources/definitions/creality_ender5plus.def.json index 48ebad61ea..44469284f2 100644 --- a/resources/definitions/creality_ender5plus.def.json +++ b/resources/definitions/creality_ender5plus.def.json @@ -5,6 +5,7 @@ "overrides": { "machine_name": { "default_value": "Creality Ender-5 Plus" }, "machine_start_gcode": { "default_value": "M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration\nM203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate\nM204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration\nM205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\nM420 S1 Z2 ;Enable ABL using saved Mesh and Fade Height\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\n"}, + "machine_end_gcode": { "default_value": "G91 ;Relative positioning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positioning\n\nG1 X{machine_width} Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\n\nM84 X Y E ;Disable all steppers but Z\n" }, "machine_width": { "default_value": 350 }, "machine_depth": { "default_value": 350 }, "machine_height": { "default_value": 400 }, diff --git a/resources/definitions/creality_ender6.def.json b/resources/definitions/creality_ender6.def.json new file mode 100644 index 0000000000..7d1c8ff9f4 --- /dev/null +++ b/resources/definitions/creality_ender6.def.json @@ -0,0 +1,41 @@ +{ + "name": "Creality Ender-6", + "version": 2, + "inherits": "creality_base", + "overrides": { + "machine_name": { "default_value": "Creality Ender-6" }, + "machine_start_gcode": { "default_value": "\nG28 ;Home\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\n"}, + "machine_end_gcode": { "default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positionning\n\nG28 X Y ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\n\nM84 X Y E ;Disable all steppers but Z\n" }, + "machine_width": { "default_value": 260 }, + "machine_depth": { "default_value": 260 }, + "machine_height": { "default_value": 400 }, + "z_seam_type": { "value": "'sharpest_corner'"}, + "z_seam_corner": { "value": "'z_seam_corner_inner'"}, + "infill_sparse_density": { "value": "10"}, + "infill_pattern": { "value": "'lines' if infill_sparse_density > 50 else 'grid'"}, + "infill_overlap":{"value": 10}, + "material_print_temperature":{"value": 220}, + "material_bed_temperature":{"value": 50}, + "retraction_amount":{"value": 10}, + "speed_travel": { "value": 80.0 }, + "coasting_enable": { "value": true}, + "coasting_min_volume": { "value": 0.5}, + "machine_head_with_fans_polygon": { "default_value": [ + [-26, 34], + [-26, -32], + [32, -32], + [32, 34] + ] + }, + + "gantry_height": { "value": 25 }, + + "speed_print": { "value": 50.0 }, + "speed_wall": { "value": 30.0 } + + }, + "metadata": { + "quality_definition": "creality_base", + "visible": true + } +} diff --git a/resources/definitions/creasee_cs50spro.def.json b/resources/definitions/creasee_cs50spro.def.json new file mode 100644 index 0000000000..a2be3d0a52 --- /dev/null +++ b/resources/definitions/creasee_cs50spro.def.json @@ -0,0 +1,32 @@ +{ + "version": 2, + "name": "Creasee CS50s Pro", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "manufacturer": "Creasee", + "machine_extruder_trains": + { + "0": "creasee_cs50spro_extruder" + } + }, + + "overrides": { + "machine_name": { "default_value": "Creasee CS50s Pro" }, + "machine_width": { + "default_value": 500 + }, + "machine_depth": { + "default_value": 500 + }, + "machine_height": { + "default_value": 600 + }, + "machine_start_gcode": { + "default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform" + }, + "machine_end_gcode": { + "default_value": "M104 S0\nM140 S0\nG92 E0\nG1 E-10 F2000\nG28 X0 Y0\nM84" + } + } +} diff --git a/resources/definitions/creasee_phoenix.def.json b/resources/definitions/creasee_phoenix.def.json new file mode 100644 index 0000000000..05e134b6b8 --- /dev/null +++ b/resources/definitions/creasee_phoenix.def.json @@ -0,0 +1,32 @@ +{ + "version": 2, + "name": "Creasee Phoenix", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "manufacturer": "Creasee", + "machine_extruder_trains": + { + "0": "creasee_phoenix_extruder" + } + }, + + "overrides": { + "machine_name": { "default_value": "Creasee Phoenix" }, + "machine_width": { + "default_value": 350 + }, + "machine_depth": { + "default_value": 350 + }, + "machine_height": { + "default_value": 350 + }, + "machine_start_gcode": { + "default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform" + }, + "machine_end_gcode": { + "default_value": "M104 S0\nM140 S0\nG92 E0\nG1 E-10 F2000\nG28 X0 Y0\nM84" + } + } +} diff --git a/resources/definitions/creasee_skywalker.def.json b/resources/definitions/creasee_skywalker.def.json new file mode 100644 index 0000000000..3120e6b116 --- /dev/null +++ b/resources/definitions/creasee_skywalker.def.json @@ -0,0 +1,32 @@ +{ + "version": 2, + "name": "Creasee Skywalker", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "manufacturer": "Creasee", + "machine_extruder_trains": + { + "0": "creasee_skywalker_extruder" + } + }, + + "overrides": { + "machine_name": { "default_value": "Creasee Skywalker" }, + "machine_width": { + "default_value": 300 + }, + "machine_depth": { + "default_value": 300 + }, + "machine_height": { + "default_value": 400 + }, + "machine_start_gcode": { + "default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform" + }, + "machine_end_gcode": { + "default_value": "M104 S0\nM140 S0\nG92 E0\nG1 E-10 F2000\nG28 X0 Y0\nM84" + } + } +} diff --git a/resources/definitions/creatable_d3.def.json b/resources/definitions/creatable_d3.def.json index 864e25301f..a95fe44ff1 100644 --- a/resources/definitions/creatable_d3.def.json +++ b/resources/definitions/creatable_d3.def.json @@ -27,7 +27,7 @@ "gantry_height": {"value": "43"}, "layer_height": { "default_value": 0.1 }, "relative_extrusion": { "value": "False" }, - "retraction_combing": { "default_value": "off" }, + "retraction_combing": { "value": "'off'" }, "retraction_hop_enabled": { "default_value": true }, "retraction_hop_only_when_collides": { "default_value": false }, "retraction_speed": { "default_value": 100 }, diff --git a/resources/definitions/cremaker_common.def.json b/resources/definitions/cremaker_common.def.json new file mode 100644 index 0000000000..6fd339f58f --- /dev/null +++ b/resources/definitions/cremaker_common.def.json @@ -0,0 +1,58 @@ +{ + "version": 2, + "name": "cremaker common", + "inherits": "fdmprinter", + "metadata": { + "visible": false, + "author": "Joyplace", + "manufacturer": "JOYPLACE CO., LTD.", + "file_formats": "text/x-gcode", + "icon": "icon_ultimaker2", + "has_materials": true, + "machine_extruder_trains": { + "0": "cremaker_extruder_0" + } + }, + + "overrides": { + "machine_heated_bed": { "default_value": true }, + "material_diameter": { "default_value": 1.75 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "layer_height": { "value": 0.2 }, + "layer_height_0": { "value": 0.3 }, + "optimize_wall_printing_order": { "value": true }, + "xy_offset": { "value": 0.1 }, + "xy_offset_layer_0": { "value": -0.1 }, + "hole_xy_offset": { "value": 0.15 }, + "material_print_temperature": { "value": 200 }, + "speed_travel": { "value": 100 }, + "speed_layer_0": { "value": 25 }, + "acceleration_enabled": { "value": true }, + "acceleration_print": { "value": 1250 }, + "acceleration_infill": { "value": 1250 }, + "acceleration_wall": { "value": 800 }, + "acceleration_wall_0": { "value": 800 }, + "acceleration_wall_x": { "value": 800 }, + "acceleration_travel": { "value": 1250 }, + "acceleration_layer_0": { "value": 1000 }, + "acceleration_print_layer_0": { "value": 1000 }, + "acceleration_travel_layer_0": { "value": 1000 }, + "retraction_amount": { "value": 1.2 }, + "retraction_speed": { "value": 40 }, + "retraction_combing": { "value": "'infill'" }, + "retraction_hop_enabled": { "value": true }, + "retraction_hop_only_when_collides": { "value": true }, + "retraction_hop": { "value": 0.3 }, + "adhesion_type": { "value": "'skirt'" }, + "relative_extrusion": { "value": true }, + "gantry_height": { "value": 28 }, + "machine_max_feedrate_z": { "value": 12 }, + "machine_max_feedrate_e": { "value": 120 }, + "machine_max_acceleration_z": { "value": 10 }, + "machine_acceleration": { "value": 1250 }, + "machine_max_jerk_xy": { "value": 10 }, + "machine_max_jerk_z": { "value": 0.3 }, + "machine_max_jerk_e": { "value": 5.0 }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" } + } +} diff --git a/resources/definitions/cremaker_m_v1.def.json b/resources/definitions/cremaker_m_v1.def.json new file mode 100644 index 0000000000..d4cd65a6da --- /dev/null +++ b/resources/definitions/cremaker_m_v1.def.json @@ -0,0 +1,40 @@ +{ + "version": 2, + "name": "Cremaker M V1", + "inherits": "cremaker_common", + "metadata": { + "visible": true, + "platform": "cremaker_platform_200.obj" + }, + + "overrides": { + "machine_name": { "default_value": "Cremaker M V1" }, + "machine_width": { "default_value": 200 }, + "machine_depth": { "default_value": 200 }, + "machine_height": { "default_value": 260 }, + "initial_layer_line_width_factor": { "default_value": 110.0 }, + "machine_head_with_fans_polygon": { + "default_value": [ + [ -35, 48 ], + [ 54, 48 ], + [ 54, -67 ], + [ -35, -67 ] + ] + }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + "machine_start_gcode": { + "default_value": "G28\nG1 Z5.0 F6000\nG1 X2 Y5 F3000\nG1 Z0.3\nG92 E0\nG1 Y100 E10 F600\nG92 E0" + }, + "machine_end_gcode": { + "default_value": "M104 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y180\nM84" + }, + "jerk_enabled": { "value": true }, + "jerk_print": { "value": 8 }, + "jerk_infill": { "value": 8 }, + "jerk_wall": { "value": 8 }, + "jerk_wall_0": { "value": 8 }, + "jerk_wall_x": { "value": 8 }, + "jerk_travel": { "value": 10 }, + "jerk_layer_0": { "value": 8 } + } +} diff --git a/resources/definitions/cremaker_m_v2.def.json b/resources/definitions/cremaker_m_v2.def.json new file mode 100644 index 0000000000..2d6c4d1a7f --- /dev/null +++ b/resources/definitions/cremaker_m_v2.def.json @@ -0,0 +1,38 @@ +{ + "version": 2, + "name": "Cremaker M V2", + "inherits": "cremaker_common", + "metadata": { + "visible": true, + "platform": "cremaker_platform_220.obj" + }, + + "overrides": { + "machine_name": { "default_value": "Cremaker M V2" }, + "machine_width": { "default_value": 220 }, + "machine_depth": { "default_value": 220 }, + "machine_height": { "default_value": 260 }, + "initial_layer_line_width_factor": { "default_value": 100.0 }, + "machine_head_with_fans_polygon": { + "default_value": [ + [ -35, 48 ], + [ 54, 48 ], + [ 54, -67 ], + [ -35, -67 ] + ] + }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + "machine_start_gcode": { + "default_value": "G28\nG29\nG1 Z5.0 F6000\nG1 X2 Y5 Z0.3 F3000\nG92 E0\nG1 Y100 E10 F1500\nG0 X2.3 F3000\nG1 Y20 E8.5 F1500\nG92 E0\nG1 F2400 E-2" + }, + "machine_end_gcode": { + "default_value": "M104 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y200\nM84" + }, + + "cool_fan_speed": { "value": 50 }, + "coasting_enable": { "value": true }, + "coasting_volume": { "value": 0.05 }, + "coasting_min_volume": { "value": 1.0 }, + "jerk_enabled": { "value": false } + } +} diff --git a/resources/definitions/cremaker_s_v1.def.json b/resources/definitions/cremaker_s_v1.def.json new file mode 100644 index 0000000000..101d82fac8 --- /dev/null +++ b/resources/definitions/cremaker_s_v1.def.json @@ -0,0 +1,32 @@ +{ + "version": 2, + "name": "Cremaker S V1", + "inherits": "cremaker_common", + "metadata": { + "visible": true, + "platform": "cremaker_platform_200.obj" + }, + + "overrides": { + "machine_name": { "default_value": "Cremaker S V1" }, + "machine_width": { "default_value": 200 }, + "machine_depth": { "default_value": 200 }, + "machine_height": { "default_value": 160 }, + "initial_layer_line_width_factor": { "default_value": 110.0 }, + "machine_head_with_fans_polygon": { + "default_value": [ + [ -39, 45 ], + [ 23, 45 ], + [ 23, -33 ], + [ -39, -33 ] + ] + }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + "machine_start_gcode": { + "default_value": "G28\nG1 Z5.0 F6000\nG1 X2 Y5 F3000\nG1 Z0.3\nG92 E0\nG1 Y100 E10 F600\nG92 E0" + }, + "machine_end_gcode": { + "default_value": "M104 S0 ; turn off extruder\nM140 S0 ; turn off heatbed\nG92 E1\nG1 E-1 F300\nG28 X0 Y180\nM84" + } + } +} diff --git a/resources/definitions/deltacomb_base.def.json b/resources/definitions/deltacomb_base.def.json index 254257036a..a977dee663 100644 --- a/resources/definitions/deltacomb_base.def.json +++ b/resources/definitions/deltacomb_base.def.json @@ -64,7 +64,7 @@ "retraction_hop": { "default_value": 1.0 }, "retraction_amount" : { "default_value": 3.5 }, "retraction_speed" : { "default_value": 40 }, - "retraction_combing" : { "default_value": "noskin" }, + "retraction_combing" : { "value": "'noskin'" }, "travel_avoid_distance": { "value": "1" }, "travel_avoid_supports": { "value": "True" }, "retraction_hop_only_when_collides": { "value": "1" }, diff --git a/resources/definitions/eryone_thinker.def.json b/resources/definitions/eryone_thinker.def.json index ded5fbc1f5..a89ae76bcb 100644 --- a/resources/definitions/eryone_thinker.def.json +++ b/resources/definitions/eryone_thinker.def.json @@ -12,7 +12,7 @@ "platform_texture": "eryone_thinker_plate.png", "platform_offset": [0, -120, 0], "has_materials": true, - "preferred_material": "generic_pla", + "preferred_material": "eryone_pla", "has_machine_quality": true, "preferred_quality_type": "normal", "machine_extruder_trains": @@ -57,10 +57,10 @@ "default_value": "Marlin" }, "machine_start_gcode": { - "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z10.0 F600 ;move the platform down 10mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 Y-3 F1200 ;move to prime\nG1 X10 F1200 ;\nG1 Z0.1 F600 ;get ready to prime\nG1 X120 E15 F1200 ;prime nozzle \nG1 X120 F3600 ;quick wipe\nG92 E0 ;zero the extruded length\nG5 ;enable resume from power failure\nM117 Printing..." + "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z10.0 F600 ;move the platform down 10mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 Y-3 F1200 ;move to prime\nG1 X10 F1200 ;\nG1 Z0.1 F600 ;get ready to prime\nG1 X120 E15 F1200 ;prime nozzle \nG1 X120 F3600 ;quick wipe\nG92 E0 ;zero the extruded length\nM413 S1 ;enable resume from power failure\nM117 Printing..." }, "machine_end_gcode": { - "default_value": "M104 S0 ;turn off extruder\nM140 S0 ;turn off bed\nM107 ;turn off all fans\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 E-5 F300\nG1 Z+0.5 E-5 ;move Z up a bit and retract filament even more\nG90 ;absolute positioning\nG1 X0 Y250 F4800 ; position for easy part removal\nM84 ;steppers off" + "default_value": "M104 S0 ;turn off extruder\nM140 S0 ;turn off bed\nM107 ;turn off all fans\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 ;move Z up a bit and retract filament even more\nG90 ;absolute positioning\nG1 X0 Y250 F4800 ; position for easy part removal\nM84 ;steppers off" }, "acceleration_enabled": { "value": true @@ -160,7 +160,7 @@ "value": 10 }, "skirt_brim_speed": { - "value": 40 + "value": "math.ceil(speed_print * 40 / 60)" }, "skirt_gap": { "value": 5 @@ -229,7 +229,7 @@ "value": 3 }, "wall_thickness": { - "value": "1.2" + "value": "line_width * wall_line_count" }, "bottom_layers": { "value": "4" @@ -250,4 +250,4 @@ "value": "'z_seam_corner_inner'" } } -} +} \ No newline at end of file diff --git a/resources/definitions/fdmextruder.def.json b/resources/definitions/fdmextruder.def.json index ff8c410c5b..f25aed5d5b 100644 --- a/resources/definitions/fdmextruder.def.json +++ b/resources/definitions/fdmextruder.def.json @@ -6,7 +6,7 @@ "type": "extruder", "author": "Ultimaker", "manufacturer": "Unknown", - "setting_version": 18, + "setting_version": 19, "visible": false, "position": "0" }, diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 27e0d61126..ad31892e14 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6,7 +6,7 @@ "type": "machine", "author": "Ultimaker", "manufacturer": "Unknown", - "setting_version": 18, + "setting_version": 19, "file_formats": "text/x-gcode;model/stl;application/x-wavefront-obj;application/x3g", "visible": false, "has_materials": true, @@ -1943,7 +1943,7 @@ "default_value": 2, "minimum_value": "0", "minimum_value_warning": "infill_line_width", - "value": "0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else 1))))", + "value": "0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else (1.6 if infill_pattern == 'lightning' else 1)))))", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true } @@ -1952,7 +1952,7 @@ "infill_pattern": { "label": "Infill Pattern", - "description": "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, tri-hexagon, cubic, octet, quarter cubic, cross and concentric patterns are fully printed every layer. Gyroid, cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction.", + "description": "The pattern of the infill material of the print. The line and zig zag infill swap direction on alternate layers, reducing material cost. The grid, triangle, tri-hexagon, cubic, octet, quarter cubic, cross and concentric patterns are fully printed every layer. Gyroid, cubic, quarter cubic and octet infill change with every layer to provide a more equal distribution of strength over each direction. Lightning infill tries to minimize the infill, by only supporting the (internal) roofs of the object. As such, the infill percentage is only 'valid' one layer below whatever it needs to support of the model.", "type": "enum", "options": { @@ -1968,7 +1968,8 @@ "zigzag": "Zig Zag", "cross": "Cross", "cross_3d": "Cross 3D", - "gyroid": "Gyroid" + "gyroid": "Gyroid", + "lightning": "Lightning" }, "default_value": "grid", "enabled": "infill_line_distance > 0", @@ -1994,7 +1995,7 @@ "type": "bool", "default_value": true, "value": "(infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_multiplier % 2 == 0) and infill_wall_line_count > 0", - "enabled": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'concentric' or infill_multiplier % 2 == 0 or infill_wall_line_count > 1", + "enabled": "infill_pattern != 'lightning' and infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'concentric' or infill_multiplier % 2 == 0 or infill_wall_line_count > 1", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -2004,7 +2005,7 @@ "description": "A list of integer line directions to use. Elements from the list are used sequentially as the layers progress and when the end of the list is reached, it starts at the beginning again. The list items are separated by commas and the whole list is contained in square brackets. Default is an empty list which means use the traditional default angles (45 and 135 degrees for the lines and zig zag patterns and 45 degrees for all other patterns).", "type": "[int]", "default_value": "[ ]", - "enabled": "infill_pattern != 'concentric' and infill_sparse_density > 0", + "enabled": "infill_pattern != 'lightning' and infill_pattern != 'concentric' and infill_sparse_density > 0", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -2015,7 +2016,7 @@ "unit": "mm", "type": "float", "default_value": 0, - "enabled": "infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'", + "enabled": "infill_pattern != 'lightning' and infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -2026,7 +2027,7 @@ "unit": "mm", "type": "float", "default_value": 0, - "enabled": "infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'", + "enabled": "infill_pattern != 'lightning' and infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -2037,7 +2038,7 @@ "type": "bool", "default_value": false, "warning_value": "True if infill_pattern not in ('grid', 'triangles', 'trihexagon', 'cubic', 'cubicsubdiv', 'tetrahedral', 'quarter_cubic') else None", - "enabled": "not ((infill_pattern == 'cross' and connect_infill_polygons) or infill_pattern == 'concentric')", + "enabled": "not (infill_pattern == 'lightning' or (infill_pattern == 'cross' and connect_infill_polygons) or infill_pattern == 'concentric')", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -2146,7 +2147,7 @@ "minimum_value": "0", "maximum_value_warning": "1 if (infill_pattern == 'cross' or infill_pattern == 'cross_3d' or support_pattern == 'concentric') else 5", "maximum_value": "999999 if infill_line_distance == 0 else (20 - math.log(infill_line_distance) / math.log(2))", - "enabled": "infill_sparse_density > 0 and infill_pattern != 'cubicsubdiv'", + "enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0 and infill_pattern != 'cubicsubdiv'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -2159,7 +2160,7 @@ "default_value": 1.5, "minimum_value": "0.0001", "minimum_value_warning": "3 * resolveOrValue('layer_height')", - "enabled": "infill_sparse_density > 0 and gradual_infill_steps > 0 and infill_pattern != 'cubicsubdiv'", + "enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0 and gradual_infill_steps > 0 and infill_pattern != 'cubicsubdiv'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -2189,7 +2190,7 @@ "description": "Print infill structures only where tops of the model should be supported. Enabling this reduces print time and material usage, but leads to ununiform object strength.", "type": "bool", "default_value": false, - "enabled": "infill_sparse_density > 0", + "enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -2203,7 +2204,7 @@ "minimum_value_warning": "2", "maximum_value": "90", "default_value": 40, - "enabled": "infill_sparse_density > 0 and infill_support_enabled", + "enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0 and infill_support_enabled", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -2237,6 +2238,72 @@ "settable_per_mesh": true } } + }, + "lightning_infill_support_angle": + { + "label": "Lightning Infill Support Angle", + "description": "Determines when a lightning infill layer has to support anything above it. Measured in the angle given the thickness of a layer.", + "unit": "°", + "type": "float", + "minimum_value": "0", + "maximum_value": "90", + "maximum_value_warning": "75", + "default_value": 40, + "limit_to_extruder": "infill_extruder_nr", + "enabled": "infill_pattern == 'lightning'", + "settable_per_mesh": false, + "settable_per_extruder": true, + "children": + { + "lightning_infill_overhang_angle": + { + "label": "Lightning Infill Overhang Angle", + "description": "Determines when a lightning infill layer has to support the model above it. Measured in the angle given the thickness.", + "unit": "°", + "type": "float", + "minimum_value": "0", + "maximum_value": "90", + "maximum_value_warning": "75", + "default_value": 40, + "limit_to_extruder": "infill_extruder_nr", + "enabled": "infill_pattern == 'lightning'", + "settable_per_mesh": false, + "settable_per_extruder": true, + "value": "lightning_infill_support_angle" + }, + "lightning_infill_prune_angle": + { + "label": "Lightning Infill Prune Angle", + "description": "The difference a lightning infill layer can have with the one immediately above w.r.t the pruning of the outer extremities of trees. Measured in the angle given the thickness.", + "unit": "°", + "type": "float", + "minimum_value": "0", + "maximum_value": "90", + "maximum_value_warning": "75", + "default_value": 40, + "limit_to_extruder": "infill_extruder_nr", + "enabled": "infill_pattern == 'lightning'", + "settable_per_mesh": false, + "settable_per_extruder": true, + "value": "lightning_infill_support_angle" + }, + "lightning_infill_straightening_angle": + { + "label": "Lightning Infill Straightening Angle", + "description": "The difference a lightning infill layer can have with the one immediately above w.r.t the smoothing of trees. Measured in the angle given the thickness.", + "unit": "°", + "type": "float", + "minimum_value": "0", + "maximum_value": "90", + "maximum_value_warning": "75", + "default_value": 40, + "limit_to_extruder": "infill_extruder_nr", + "enabled": "infill_pattern == 'lightning'", + "settable_per_mesh": false, + "settable_per_extruder": true, + "value": "lightning_infill_support_angle" + } + } } } }, @@ -3901,11 +3968,13 @@ { "off": "Off", "all": "All", + "no_outer_surfaces": "Not on Outer Surface", "noskin": "Not in Skin", "infill": "Within Infill" }, "default_value": "all", - "resolve": "'noskin' if 'noskin' in extruderValues('retraction_combing') else ('infill' if 'infill' in extruderValues('retraction_combing') else ('all' if 'all' in extruderValues('retraction_combing') else 'off'))", + "value": "'no_outer_surfaces' if (any(extruderValues('skin_monotonic')) or any(extruderValues('ironing_enabled')) or (any(extruderValues('roofing_monotonic')) and any(extruderValues('roofing_layer_count')))) else 'all'", + "resolve": "'noskin' if 'noskin' in extruderValues('retraction_combing') else ('infill' if 'infill' in extruderValues('retraction_combing') else ('all' if 'all' in extruderValues('retraction_combing') else ('no_outer_surfaces' if 'no_outer_surfaces' in extruderValues('retraction_combing') else 'off')))", "settable_per_mesh": false, "settable_per_extruder": false }, diff --git a/resources/definitions/hellbot_hidra.def.json b/resources/definitions/hellbot_hidra.def.json index 87695dc9d0..90a196e1a9 100644 --- a/resources/definitions/hellbot_hidra.def.json +++ b/resources/definitions/hellbot_hidra.def.json @@ -7,14 +7,14 @@ "author": "Hellbot Development Team", "manufacturer": "Hellbot", "file_formats": "text/x-gcode", - "platform": "hellbot_hidra.obj", - "platform_offset": [0, 0, 5], + "platform": "hellbot_hidra.obj", + "platform_offset": [0, 0, 5], "platform_texture": "hellbot_hidra.png", "has_materials": true, "machine_extruder_trains": { "0": "hellbot_hidra_extruder_0", - "1": "hellbot_hidra_extruder_1" + "1": "hellbot_hidra_extruder_1" } }, @@ -24,19 +24,19 @@ "machine_width": { "default_value": 220 }, - "machine_depth": { + "machine_depth": { "default_value": 220 }, "machine_height": { "default_value": 250 }, - "machine_heated_bed": { - "default_value": true - }, + "machine_heated_bed": { + "default_value": true + }, "machine_center_is_zero": { "default_value": false }, - "machine_head_with_fans_polygon": + "machine_head_with_fans_polygon": { "default_value": [ [ -75, 35 ], @@ -48,11 +48,11 @@ "machine_extruder_count": { "default_value": 2 }, - "machine_start_gcode": { - "default_value": "G21; Unidades en Milimetro\nG90; Posicionamiento Absoluto\nM82; E Absoluto\nM107; Apagar Venitilador de capas\nG28; Llevar ejes a origen\nG1 Z15.0 F9000; Levantar Eje Z 15mm" + "machine_start_gcode": { + "default_value": "G21;\nG90;\nM82;\nM107;\nG28;\nG1 Z15.0 F9000;" }, "machine_end_gcode": { - "default_value": "M104 T0 S0; Apagar Extrusor E0\nM104 T1 S0; Apagar Extrusor E1\nM140 S0; Apagar Cama Caliente\nG92 E1; Posicionar Extrusor en 1mm\nG1 E-1 F300; Retraer Extrusor 1mm\nG28 X0 Y0; Llevar al origen ejes X e Y\nM84; Desactivar Motores " + "default_value": "M104 T0 S0;\nM104 T1 S0;\nM140 S0;\nG92 E1;\nG1 E-1 F300;\nG28 X0 Y0;\nM84;" } } diff --git a/resources/definitions/hellbot_hidra_plus.def.json b/resources/definitions/hellbot_hidra_plus.def.json index 9ff7a40ecd..f3c1013915 100644 --- a/resources/definitions/hellbot_hidra_plus.def.json +++ b/resources/definitions/hellbot_hidra_plus.def.json @@ -7,14 +7,14 @@ "author": "Hellbot Development Team", "manufacturer": "Hellbot", "file_formats": "text/x-gcode", - "platform": "hellbot_hidra_plus.obj", - "platform_offset": [0, 0, 5], + "platform": "hellbot_hidra_plus.obj", + "platform_offset": [0, 0, 5], "platform_texture": "hellbot_hidra_plus.png", "has_materials": true, "machine_extruder_trains": { "0": "hellbot_hidra_plus_extruder_0", - "1": "hellbot_hidra_plus_extruder_1" + "1": "hellbot_hidra_plus_extruder_1" } }, @@ -22,21 +22,21 @@ "overrides": { "machine_name": { "default_value": "Hellbot Hidra Plus" }, "machine_width": { - "default_value": 305 + "default_value": 300 }, "machine_depth": { - "default_value": 305 + "default_value": 300 }, - "machine_height": { + "machine_height": { "default_value": 350 }, - "machine_heated_bed": { - "default_value": true - }, + "machine_heated_bed": { + "default_value": true + }, "machine_center_is_zero": { "default_value": false }, - "machine_head_with_fans_polygon": + "machine_head_with_fans_polygon": { "default_value": [ [ -75, 35 ], @@ -48,12 +48,11 @@ "machine_extruder_count": { "default_value": 2 }, - "machine_start_gcode": { - "default_value": "G21; Unidades en Milimetro\nG90; Posicionamiento Absoluto\nM82; E Absoluto\nM107; Apagar Venitilador de capas\nG28; Llevar ejes a origen\nG1 Z15.0 F9000; Levantar Eje Z 15mm" + "machine_start_gcode": { + "default_value": "G21;\nG90;\nM82;\nM107;\nG28;\nG1 Z15.0 F9000;" }, "machine_end_gcode": { - "default_value": "M104 T0 S0; Apagar Extrusor E0\nM104 T1 S0; Apagar Extrusor E1\nM140 S0; Apagar Cama Caliente\nG92 E1; Posicionar Extrusor en 1mm\nG1 E-1 F300; Retraer Extrusor 1mm\nG28 X0 Y0; Llevar al origen ejes X e Y\nM84; Desactivar Motores " + "default_value": "M104 T0 S0;\nM104 T1 S0;\nM140 S0;\nG92 E1;\nG1 E-1 F300;\nG28 X0 Y0;\nM84;" } - } } diff --git a/resources/definitions/hellbot_magna_2_230.def.json b/resources/definitions/hellbot_magna_2_230.def.json index 0dedd0b71a..ef6dc0b3be 100644 --- a/resources/definitions/hellbot_magna_2_230.def.json +++ b/resources/definitions/hellbot_magna_2_230.def.json @@ -7,7 +7,7 @@ "author": "Hellbot Development Team", "manufacturer": "Hellbot", "file_formats": "text/x-gcode", - "platform": "Hellbot_Magna_2_230.obj", + "platform": "Hellbot_Magna_2_230.obj", "platform_texture": "Magna2_230.png", "has_materials": true, "machine_extruder_trains": @@ -28,9 +28,9 @@ "machine_depth": { "default_value": 230 }, - "machine_heated_bed": { - "default_value": true - }, + "machine_heated_bed": { + "default_value": true + }, "machine_center_is_zero": { "default_value": false }, diff --git a/resources/definitions/hellbot_magna_2_230_dual.def.json b/resources/definitions/hellbot_magna_2_230_dual.def.json index ad15ddf264..b7a0e6f820 100644 --- a/resources/definitions/hellbot_magna_2_230_dual.def.json +++ b/resources/definitions/hellbot_magna_2_230_dual.def.json @@ -7,13 +7,13 @@ "author": "Hellbot Development Team", "manufacturer": "Hellbot", "file_formats": "text/x-gcode", - "platform": "Hellbot_Magna_2_230.obj", + "platform": "Hellbot_Magna_2_230.obj", "platform_texture": "Magna2_230.png", "has_materials": true, "machine_extruder_trains": { "0": "hellbot_magna_2_230_dual_extruder_0", - "1": "hellbot_magna_2_230_dual_extruder_1" + "1": "hellbot_magna_2_230_dual_extruder_1" } }, @@ -29,21 +29,20 @@ "machine_depth": { "default_value": 230 }, - "machine_heated_bed": { - "default_value": true - }, + "machine_heated_bed": { + "default_value": true + }, "machine_center_is_zero": { "default_value": false }, "machine_extruder_count": { "default_value": 2 }, - "machine_start_gcode": { + "machine_start_gcode": { "default_value": "G21\nG90\nM107\nG28 X0 Y0\nG28 Z0\nG1 Z15.0 F300\nT0\nG92 E0\nG1 F700 E-80\nT1\nG92 E0\nG1 F1000 X1 Y1 Z0.3\nG1 F600 X200 E60\nG1 F1000 Y3\nG1 F600 X1 E120\nT1\nG92 E0\nG28 X0 Y0\nG1 F700 E-80\nT0\nG92 E0" - }, + }, "machine_end_gcode": { "default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84" } - } } diff --git a/resources/definitions/hellbot_magna_2_300.def.json b/resources/definitions/hellbot_magna_2_300.def.json index 8fe65de581..d0cf2657b8 100644 --- a/resources/definitions/hellbot_magna_2_300.def.json +++ b/resources/definitions/hellbot_magna_2_300.def.json @@ -7,7 +7,7 @@ "author": "Hellbot Development Team", "manufacturer": "Hellbot", "file_formats": "text/x-gcode", - "platform": "Hellbot_Magna_2_300.obj", + "platform": "Hellbot_Magna_2_300.obj", "platform_texture": "Magna2_300.png", "has_materials": true, "machine_extruder_trains": @@ -28,15 +28,14 @@ "machine_depth": { "default_value": 300 }, - "machine_heated_bed": { - "default_value": true - }, + "machine_heated_bed": { + "default_value": true + }, "machine_center_is_zero": { "default_value": false }, "machine_extruder_count": { "default_value": 1 } - } } diff --git a/resources/definitions/hellbot_magna_2_300_dual.def.json b/resources/definitions/hellbot_magna_2_300_dual.def.json index cd94d03100..52efac0ed2 100644 --- a/resources/definitions/hellbot_magna_2_300_dual.def.json +++ b/resources/definitions/hellbot_magna_2_300_dual.def.json @@ -7,13 +7,13 @@ "author": "Hellbot Development Team", "manufacturer": "Hellbot", "file_formats": "text/x-gcode", - "platform": "Hellbot_Magna_2_300.obj", + "platform": "Hellbot_Magna_2_300.obj", "platform_texture": "Magna2_300.png", "has_materials": true, "machine_extruder_trains": { "0": "hellbot_magna_2_300_dual_extruder_0", - "1": "hellbot_magna_2_300_dual_extruder_1" + "1": "hellbot_magna_2_300_dual_extruder_1" } }, @@ -29,21 +29,20 @@ "machine_depth": { "default_value": 300 }, - "machine_heated_bed": { - "default_value": true - }, + "machine_heated_bed": { + "default_value": true + }, "machine_center_is_zero": { "default_value": false }, "machine_extruder_count": { "default_value": 2 }, - "machine_start_gcode": { - "default_value": "G21\nG90\nM107\nG28 X0 Y0\nG28 Z0\nG1 Z15.0 F300\nT0\nG92 E0\nG1 F700 E-80\nT1\nG92 E0\nG1 F1000 X1 Y1 Z0.3\nG1 F600 X200 E60\nG1 F1000 Y3\nG1 F600 X1 E120\nT1\nG92 E0\nG28 X0 Y0\nG1 F700 E-80\nT0\nG92 E0" - }, + "machine_start_gcode": { + "default_value": "G21\nG90\nM107\nG28 X0 Y0\nG28 Z0\nG1 Z15.0 F300\nT0\nG92 E0\nG1 F700 E-80\nT1\nG92 E0\nG1 F1000 X1 Y1 Z0.3\nG1 F600 X200 E60\nG1 F1000 Y3\nG1 F600 X1 E120\nT1\nG92 E0\nG28 X0 Y0\nG1 F700 E-80\nT0\nG92 E0" + }, "machine_end_gcode": { "default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84" } - } } diff --git a/resources/definitions/hellbot_magna_2_400.def.json b/resources/definitions/hellbot_magna_2_400.def.json new file mode 100644 index 0000000000..b98c43805c --- /dev/null +++ b/resources/definitions/hellbot_magna_2_400.def.json @@ -0,0 +1,42 @@ +{ + "version": 2, + "name": "Hellbot Magna 2 400", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Hellbot Development Team", + "manufacturer": "Hellbot", + "file_formats": "text/x-gcode", + "platform": "Hellbot_Magna_2_400.obj", + "platform_texture": "Magna2_400.png", + "has_materials": true, + "machine_extruder_trains": + { + "0": "hellbot_magna_2_400_extruder_0" + } + + }, + + "overrides": { + "machine_name": { "default_value": "Hellbot Magna 2 400" }, + "machine_width": { + "default_value": 400 + }, + "machine_height": { + "default_value": 400 + }, + "machine_depth": { + "default_value": 400 + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_extruder_count": { + "default_value": 1 + } + + } +} diff --git a/resources/definitions/hellbot_magna_2_400_dual.def.json b/resources/definitions/hellbot_magna_2_400_dual.def.json new file mode 100644 index 0000000000..963a7f7bc1 --- /dev/null +++ b/resources/definitions/hellbot_magna_2_400_dual.def.json @@ -0,0 +1,49 @@ +{ + "version": 2, + "name": "Hellbot Magna 2 400 dual", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Hellbot Development Team", + "manufacturer": "Hellbot", + "file_formats": "text/x-gcode", + "platform": "Hellbot_Magna_2_400.obj", + "platform_texture": "Magna2_400.png", + "has_materials": true, + "machine_extruder_trains": + { + "0": "hellbot_magna_2_400_dual_extruder_0", + "1": "hellbot_magna_2_400_dual_extruder_1" + } + + }, + + "overrides": { + "machine_name": { "default_value": "Hellbot Magna 2 400 Dual" }, + "machine_width": { + "default_value": 400 + }, + "machine_height": { + "default_value": 400 + }, + "machine_depth": { + "default_value": 400 + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_extruder_count": { + "default_value": 2 + }, + "machine_start_gcode": { + "default_value": "M104 T0 S{material_print_temperature}\nM104 T1 S{material_print_temperature}\nM109 T0 S{material_print_temperature}\nM109 T1 S{material_print_temperature}\nG21\nG90 \nG28 X0 Y0 \nG28 Z0 \nG1 Z15.0 F300 \nT0 \nG92 E0 \nG1 F700 E-80 \nT1 \nG92 E0 \nG1 F1000 X1 Y1 Z0.3 \nG1 F600 X200 E60 \nG1 F1000 Y3 \nG1 F600 X1 E120 \nT1 \nG92 E0 \nG28 X0 Y0 \nG1 F700 E-80 \nT0 \nG92 E0" + }, + "machine_end_gcode": { + "default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84" + } + + } +} diff --git a/resources/definitions/hellbot_magna_2_500.def.json b/resources/definitions/hellbot_magna_2_500.def.json new file mode 100644 index 0000000000..e7c645b6f4 --- /dev/null +++ b/resources/definitions/hellbot_magna_2_500.def.json @@ -0,0 +1,42 @@ +{ + "version": 2, + "name": "Hellbot Magna 2 500", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Hellbot Development Team", + "manufacturer": "Hellbot", + "file_formats": "text/x-gcode", + "platform": "Hellbot_Magna_2_500.obj", + "platform_texture": "Magna2_500.png", + "has_materials": true, + "machine_extruder_trains": + { + "0": "hellbot_magna_2_500_extruder_0" + } + + }, + + "overrides": { + "machine_name": { "default_value": "Hellbot Magna 2 500" }, + "machine_width": { + "default_value": 500 + }, + "machine_height": { + "default_value": 500 + }, + "machine_depth": { + "default_value": 500 + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_extruder_count": { + "default_value": 1 + } + + } +} diff --git a/resources/definitions/hellbot_magna_2_500_dual.def.json b/resources/definitions/hellbot_magna_2_500_dual.def.json new file mode 100644 index 0000000000..5b3f05ec4d --- /dev/null +++ b/resources/definitions/hellbot_magna_2_500_dual.def.json @@ -0,0 +1,48 @@ +{ + "version": 2, + "name": "Hellbot Magna 2 500 dual", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Hellbot Development Team", + "manufacturer": "Hellbot", + "file_formats": "text/x-gcode", + "platform": "Hellbot_Magna_2_500.obj", + "platform_texture": "Magna2_500.png", + "has_materials": true, + "machine_extruder_trains": + { + "0": "hellbot_magna_2_500_dual_extruder_0", + "1": "hellbot_magna_2_500_dual_extruder_1" + } + + }, + + "overrides": { + "machine_name": { "default_value": "Hellbot Magna 2 500 Dual" }, + "machine_width": { + "default_value": 500 + }, + "machine_height": { + "default_value": 500 + }, + "machine_depth": { + "default_value": 500 + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_extruder_count": { + "default_value": 2 + }, + "machine_start_gcode": { + "default_value": "M104 T0 S{material_print_temperature}\nM104 T1 S{material_print_temperature}\nM109 T0 S{material_print_temperature}\nM109 T1 S{material_print_temperature}\nG21\nG90 \nG28 X0 Y0 \nG28 Z0 \nG1 Z15.0 F300 \nT0 \nG92 E0 \nG1 F700 E-80 \nT1 \nG92 E0 \nG1 F1000 X1 Y1 Z0.3 \nG1 F600 X200 E60 \nG1 F1000 Y3 \nG1 F600 X1 E120 \nT1 \nG92 E0 \nG28 X0 Y0 \nG1 F700 E-80 \nT0 \nG92 E0" + }, + "machine_end_gcode": { + "default_value": "M104 T0 S0\nM104 T1 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84" + } + } +} diff --git a/resources/definitions/hellbot_magna_I.def.json b/resources/definitions/hellbot_magna_I.def.json index 777ed40954..019f214387 100644 --- a/resources/definitions/hellbot_magna_I.def.json +++ b/resources/definitions/hellbot_magna_I.def.json @@ -19,7 +19,7 @@ "machine_name": { "default_value": "Hellbot Magna 1" }, - "machine_heated_bed": { "default_value": true }, + "machine_heated_bed": { "default_value": true }, "machine_width": { "default_value": 220 }, diff --git a/resources/definitions/hellbot_magna_dual.def.json b/resources/definitions/hellbot_magna_dual.def.json index feaee38419..6448ed3a44 100644 --- a/resources/definitions/hellbot_magna_dual.def.json +++ b/resources/definitions/hellbot_magna_dual.def.json @@ -26,9 +26,9 @@ "machine_depth": { "default_value": 220 }, - "machine_heated_bed": { - "default_value": true - }, + "machine_heated_bed": { + "default_value": true + }, "machine_height": { "default_value": 260 }, diff --git a/resources/definitions/inat_base.def.json b/resources/definitions/inat_base.def.json index 974ae9ac5a..61a543c9cc 100644 --- a/resources/definitions/inat_base.def.json +++ b/resources/definitions/inat_base.def.json @@ -369,7 +369,7 @@ "value": 45 }, "retraction_combing": { - "value": "infill" + "value": "'infill'" }, "retraction_hop_enabled": { "value": true diff --git a/resources/definitions/julia.def.json b/resources/definitions/julia.def.json index 15e5057a55..43c62a46b2 100644 --- a/resources/definitions/julia.def.json +++ b/resources/definitions/julia.def.json @@ -30,7 +30,7 @@ "support_pattern": { "default_value": "grid" }, "infill_sparse_density": { "default_value": 10 }, "machine_extruder_count": { "default_value": 1 }, - "retraction_combing": { "default_value": "off" }, + "retraction_combing": { "value": "'off'" }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, "machine_height": { "default_value": 260 }, diff --git a/resources/definitions/leapfrog_bolt_pro.def.json b/resources/definitions/leapfrog_bolt_pro.def.json index 904215853b..e7ccc76735 100644 --- a/resources/definitions/leapfrog_bolt_pro.def.json +++ b/resources/definitions/leapfrog_bolt_pro.def.json @@ -97,7 +97,7 @@ "material_final_print_temperature": {"value": "default_material_print_temperature" }, "material_initial_print_temperature": {"value": "default_material_print_temperature" }, "gantry_height": {"value": "20"}, - "retraction_combing": { "default_value": "all" }, + "retraction_combing": { "value": "'all'" }, "retraction_amount": {"default_value": 2}, "adhesion_type": {"default_value": "skirt"}, "skirt_line_count": {"default_value": 3}, diff --git a/resources/definitions/liquid.def.json b/resources/definitions/liquid.def.json index 89c0b1c50e..0fc0f3c9ca 100644 --- a/resources/definitions/liquid.def.json +++ b/resources/definitions/liquid.def.json @@ -171,7 +171,7 @@ "meshfix_maximum_resolution": { "value": "(speed_wall_0 + speed_wall_x) / 100" }, "meshfix_maximum_deviation": { "value": "layer_height / 4" }, "optimize_wall_printing_order": { "value": "True" }, - "retraction_combing": { "default_value": "all" }, + "retraction_combing": { "value": "'all'" }, "initial_layer_line_width_factor": { "value": "120" }, "zig_zaggify_infill": { "value": "gradual_infill_steps == 0" } } diff --git a/resources/definitions/maker_made_300x.def.json b/resources/definitions/maker_made_300x.def.json index 9a4cd78d28..efe5b18ec8 100644 --- a/resources/definitions/maker_made_300x.def.json +++ b/resources/definitions/maker_made_300x.def.json @@ -95,7 +95,7 @@ "acceleration_enabled": {"value": false }, "acceleration_roofing": {"value": 3000 }, "jerk_enabled": {"value": false }, - "retraction_combing": {"value": "'within infill'" }, + "retraction_combing": {"value": "'infill'" }, "travel_retract_before_outer_wall": {"value": false }, "travel_avoid_other_parts": {"value": true }, "retraction_hop_enabled": {"value": false }, diff --git a/resources/definitions/malyan_m180.def.json b/resources/definitions/malyan_m180.def.json index bb812b6dd6..7c32ebfba0 100644 --- a/resources/definitions/malyan_m180.def.json +++ b/resources/definitions/malyan_m180.def.json @@ -4,7 +4,7 @@ "inherits": "fdmprinter", "metadata": { "visible": true, - "author": "Ruben Dulek", + "author": "Ghostkeeper", "manufacturer": "Malyan", "machine_x3g_variant": "r1d", "file_formats": "application/x3g", diff --git a/resources/definitions/malyan_m200.def.json b/resources/definitions/malyan_m200.def.json index e9980724cb..c8eb4eb654 100644 --- a/resources/definitions/malyan_m200.def.json +++ b/resources/definitions/malyan_m200.def.json @@ -76,7 +76,7 @@ "raft_surface_layers": { "default_value": 1 }, "skirt_line_count": { "default_value": 2}, "brim_width" : { "default_value": 5}, - "retraction_combing": { "default_value": "noskin" }, + "retraction_combing": { "value": "'noskin'" }, "retraction_amount" : { "default_value": 4.5}, "retraction_speed" : { "default_value": 40}, "coasting_enable": { "default_value": true }, diff --git a/resources/definitions/monoprice_select_mini_v2.def.json b/resources/definitions/monoprice_select_mini_v2.def.json index d671f319ad..004de649f1 100644 --- a/resources/definitions/monoprice_select_mini_v2.def.json +++ b/resources/definitions/monoprice_select_mini_v2.def.json @@ -23,7 +23,7 @@ "default_value": "G0 X0 Y120;(Stick out the part)\nM190 S0;(Turn off heat bed, don't wait.)\nG92 E10;(Set extruder to 10)\nG1 E7 F200;(retract 3mm)\nM104 S0;(Turn off nozzle, don't wait)\nG4 S300;(Delay 5 minutes)\nM107;(Turn off part fan)\nM84;(Turn off stepper motors.)" }, "adhesion_type": { "default_value": "brim" }, - "retraction_combing": { "default_value": "noskin" }, + "retraction_combing": { "value": "'noskin'" }, "retraction_amount" : { "default_value": 2.5}, "retraction_speed" : { "default_value": 40}, "material_print_temperature_layer_0": { "value": "material_print_temperature + 5" } diff --git a/resources/definitions/renkforce_rf100.def.json b/resources/definitions/renkforce_rf100.def.json index 0f0c4eed97..7ad092ce8f 100644 --- a/resources/definitions/renkforce_rf100.def.json +++ b/resources/definitions/renkforce_rf100.def.json @@ -153,7 +153,7 @@ "value": "5.0" }, "retraction_combing": { - "default_value": "all" + "value": "'all'" }, "retraction_enable": { "value": "True" diff --git a/resources/definitions/renkforce_rf100_v2.def.json b/resources/definitions/renkforce_rf100_v2.def.json index 218e6e1feb..05907a1c20 100644 --- a/resources/definitions/renkforce_rf100_v2.def.json +++ b/resources/definitions/renkforce_rf100_v2.def.json @@ -153,7 +153,7 @@ "value": "5.0" }, "retraction_combing": { - "default_value": "all" + "value": "'all'" }, "retraction_enable": { "value": "True" diff --git a/resources/definitions/renkforce_rf100_xl.def.json b/resources/definitions/renkforce_rf100_xl.def.json index 5ab40d7e7f..f0e8644ae4 100644 --- a/resources/definitions/renkforce_rf100_xl.def.json +++ b/resources/definitions/renkforce_rf100_xl.def.json @@ -141,7 +141,7 @@ "value": "5.0" }, "retraction_combing": { - "default_value": "all" + "value": "'all'" }, "retraction_enable": { "value": "True" diff --git a/resources/definitions/robo_3d_r1.def.json b/resources/definitions/robo_3d_r1.def.json index e72b0a2688..5ef21cef8b 100644 --- a/resources/definitions/robo_3d_r1.def.json +++ b/resources/definitions/robo_3d_r1.def.json @@ -36,7 +36,7 @@ "layer_height": { "default_value": 0.2 }, "speed_print": { "default_value": 40 }, "machine_extruder_count": { "default_value": 1 }, - "retraction_combing": { "default_value": "off" }, + "retraction_combing": { "value": "'off'" }, "machine_heated_bed": { "default_value": true }, "machine_center_is_zero": { "default_value": false }, "machine_height": { "default_value": 210 }, diff --git a/resources/definitions/seemecnc_artemis.def.json b/resources/definitions/seemecnc_artemis.def.json index 89fc9e4993..1501d2c68d 100644 --- a/resources/definitions/seemecnc_artemis.def.json +++ b/resources/definitions/seemecnc_artemis.def.json @@ -29,7 +29,7 @@ "machine_width": { "default_value": 290 }, "relative_extrusion": { "value": "False" }, "retraction_amount": { "default_value": 3.2 }, - "retraction_combing": { "default_value": "off" }, + "retraction_combing": { "value": "'off'" }, "retraction_hop_enabled": { "default_value": true }, "retraction_hop_only_when_collides": { "default_value": false }, "retraction_speed": { "default_value": 45 }, diff --git a/resources/definitions/seemecnc_v32.def.json b/resources/definitions/seemecnc_v32.def.json index 06414f0b1d..46a5e63f01 100644 --- a/resources/definitions/seemecnc_v32.def.json +++ b/resources/definitions/seemecnc_v32.def.json @@ -29,7 +29,7 @@ "machine_width": { "default_value": 265 }, "relative_extrusion": { "value": "False" }, "retraction_amount": { "default_value": 3.2 }, - "retraction_combing": { "default_value": "off" }, + "retraction_combing": { "value": "'off'" }, "retraction_hop_enabled": { "default_value": true }, "retraction_hop_only_when_collides": { "default_value": false }, "retraction_speed": { "default_value": 45 }, diff --git a/resources/definitions/skriware_2.def.json b/resources/definitions/skriware_2.def.json index dcef30d8b0..dbcf140585 100644 --- a/resources/definitions/skriware_2.def.json +++ b/resources/definitions/skriware_2.def.json @@ -411,7 +411,7 @@ "value": "1" }, "retraction_combing": { - "default_value": "infill" + "value": "'infill'" }, "acceleration_prime_tower": { "value": "250" diff --git a/resources/definitions/strateo3d.def.json b/resources/definitions/strateo3d.def.json index 9c865fe233..cc4038586c 100644 --- a/resources/definitions/strateo3d.def.json +++ b/resources/definitions/strateo3d.def.json @@ -116,7 +116,7 @@ "prime_tower_position_x": { "value": "machine_width/2 + prime_tower_size/2" }, "prime_tower_position_y": { "value": "machine_depth - prime_tower_size - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(adhesion_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - 1" }, "retraction_amount": { "default_value": 1.5 }, - "retraction_combing": { "default_value": "all" }, + "retraction_combing": { "value": "'all'" }, "retraction_combing_max_distance": { "default_value": 5 }, "retraction_count_max": { "default_value": 15 }, "retraction_hop": { "value": "2" }, diff --git a/resources/definitions/tizyx_evy.def.json b/resources/definitions/tizyx_evy.def.json index 7776007f41..5032ee16d7 100644 --- a/resources/definitions/tizyx_evy.def.json +++ b/resources/definitions/tizyx_evy.def.json @@ -70,6 +70,6 @@ "z_seam_type": {"default_value": "back"}, "z_seam_x": {"value": "127.5"}, "z_seam_y": {"value": "250"}, - "retraction_combing": {"default_value": "off"} + "retraction_combing": {"value": "'off'"} } } diff --git a/resources/definitions/tizyx_evy_dual.def.json b/resources/definitions/tizyx_evy_dual.def.json index 3b6892682a..2aafa5cecc 100644 --- a/resources/definitions/tizyx_evy_dual.def.json +++ b/resources/definitions/tizyx_evy_dual.def.json @@ -58,6 +58,6 @@ "z_seam_type": {"default_value": "back"}, "z_seam_x": {"value": "127.5"}, "z_seam_y": {"value": "250"}, - "retraction_combing": {"default_value": "off"} + "retraction_combing": {"value": "'off'"} } } diff --git a/resources/definitions/tizyx_k25.def.json b/resources/definitions/tizyx_k25.def.json index ccaa6fff0b..9f65d67313 100644 --- a/resources/definitions/tizyx_k25.def.json +++ b/resources/definitions/tizyx_k25.def.json @@ -55,6 +55,6 @@ "z_seam_type": {"default_value": "back"}, "z_seam_x": {"value": "127.5"}, "z_seam_y": {"value": "250"}, - "retraction_combing": {"default_value": "off"} + "retraction_combing": {"value": "'off'"} } } diff --git a/resources/definitions/ultimaker2.def.json b/resources/definitions/ultimaker2.def.json index df2ec9cab5..e81d455a5e 100644 --- a/resources/definitions/ultimaker2.def.json +++ b/resources/definitions/ultimaker2.def.json @@ -90,17 +90,17 @@ "infill_before_walls": { "value": "False" }, - "top_bottom_pattern": { - "value": "zigzag" - }, - "roofing_layer_count": { - "value": "1" - }, - "roofing_monotonic": { - "value": "True" - }, "speed_equalize_flow_width_factor": { "value": "0.5" + }, + "retraction_combing": { + "value": "'no_outer_surfaces'" + }, + "skin_monotonic" : { + "value": true + }, + "top_bottom_pattern" : { + "value": "'zigzag'" } } } diff --git a/resources/definitions/ultimaker2_plus_connect.def.json b/resources/definitions/ultimaker2_plus_connect.def.json index 695d2385c4..52c9eca861 100644 --- a/resources/definitions/ultimaker2_plus_connect.def.json +++ b/resources/definitions/ultimaker2_plus_connect.def.json @@ -63,17 +63,23 @@ "optimize_wall_printing_order": { "value": "True" }, "zig_zaggify_infill": { "value": "gradual_infill_steps == 0" }, "speed_support": { "value": "speed_wall_0" }, - "material_initial_print_temperature": { "value": "material_print_temperature" }, - "material_final_print_temperature": { "value": "material_print_temperature" }, - "material_print_temperature_layer_0": { "value": "material_print_temperature" }, + "material_initial_print_temperature": { + "value": "material_print_temperature", + "maximum_value": 260 + }, + "material_final_print_temperature": { + "value": "material_print_temperature", + "maximum_value": 260 + }, + "material_print_temperature_layer_0": { + "value": "material_print_temperature", + "maximum_value": 260 + }, "machine_start_gcode": { "value": "''" }, "machine_end_gcode": { "value": "''" }, "material_bed_temperature": { "maximum_value": 110 }, "material_bed_temperature_layer_0": { "maximum_value": 110 }, "material_print_temperature": { "maximum_value": 260 }, - "material_print_temperature_layer_0": { "maximum_value": 260 }, - "material_initial_print_temperature": { "maximum_value": 260 }, - "material_final_print_temperature": { "maximum_value": 260 }, "meshfix_maximum_resolution": { "value": "(speed_wall_0 + speed_wall_x) / 60" }, "meshfix_maximum_deviation": { "value": "layer_height / 4" }, "meshfix_maximum_travel_resolution": { "value": 0.5 }, diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json index 32d080bc53..a7d59909fd 100644 --- a/resources/definitions/ultimaker3.def.json +++ b/resources/definitions/ultimaker3.def.json @@ -99,21 +99,28 @@ "fill_outline_gaps": { "value": "True" }, "min_feature_size": { "value": "wall_line_width_0 / 4" }, "min_bead_width": { "value": "wall_line_width_0 / 2" }, - "infill_before_walls": { "value": "False" }, - "infill_line_width": { "value": "line_width" }, + "infill_before_walls": { "value": false }, + "infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" }, "infill_overlap": { "value": "0" }, "infill_pattern": { "value": "'triangles'" }, "infill_wipe_dist": { "value": "0" }, "initial_layer_line_width_factor": { "value": "120" }, "jerk_enabled": { "value": "True" }, - "jerk_layer_0": { "value": "jerk_topbottom" }, - "jerk_prime_tower": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" }, - "jerk_print": { "value": "25" }, - "jerk_support": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" }, - "jerk_support_interface": { "value": "jerk_topbottom" }, - "jerk_topbottom": { "value": "max(math.ceil(jerk_print * 5 / 25), 20)" }, - "jerk_wall": { "value": "max(math.ceil(jerk_print * 10 / 25), 20" }, - "jerk_wall_0": { "value": "max(math.ceil(jerk_wall * 5 / 10), 20)" }, + "jerk_print": { "value": "20", "minimum_value_warning": 20 }, + "jerk_infill": {"minimum_value_warning": 20 }, + "jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 }, + "jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 }, + "jerk_roofing": {"minimum_value_warning": 20 }, + "jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 }, + "jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 }, + "jerk_support_infill": {"minimum_value_warning": 20 }, + "jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"}, + "jerk_prime_tower": { "value": "jerk_print", "minimum_value_warning": 20 }, + "jerk_travel": {"minimum_value_warning": 20 }, + "jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20}, + "jerk_print_layer_0": {"minimum_value_warning": 20 }, + "jerk_travel_layer_0": {"minimum_value_warning": 20 }, + "jerk_skirt_brim": {"minimum_value_warning": 20 }, "layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" }, "layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" }, "layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" }, @@ -137,6 +144,7 @@ "raft_margin": { "value": "10" }, "raft_surface_layers": { "value": "1" }, "retraction_amount": { "value": "6.5" }, + "retraction_combing": {"value": "'no_outer_surfaces'"}, "retraction_count_max": { "value": "10" }, "retraction_extrusion_window": { "value": "1" }, "retraction_hop": { "value": "2" }, @@ -148,6 +156,7 @@ "roofing_monotonic": { "value": "True" }, "skin_overlap": { "value": "10" }, "speed_equalize_flow_width_factor": { "value": "0.5" }, + "skin_monotonic" : { "value": true }, "speed_layer_0": { "value": "20" }, "speed_prime_tower": { "value": "speed_topbottom" }, "speed_print": { "value": "35" }, diff --git a/resources/definitions/ultimaker_s3.def.json b/resources/definitions/ultimaker_s3.def.json index cd7587d233..221231ff0b 100644 --- a/resources/definitions/ultimaker_s3.def.json +++ b/resources/definitions/ultimaker_s3.def.json @@ -89,23 +89,27 @@ "cool_fan_speed": { "value": "50" }, "cool_fan_speed_max": { "value": "100" }, "cool_min_speed": { "value": "5" }, - "fill_outline_gaps": { "value": "True" }, - "min_feature_size": { "value": "wall_line_width_0 / 4" }, - "min_bead_width": { "value": "wall_line_width_0 / 2" }, - "infill_before_walls": { "value": "False" }, + "infill_before_walls": { "value": false }, "infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" }, "infill_overlap": { "value": "0" }, "infill_pattern": { "value": "'triangles'" }, "infill_wipe_dist": { "value": "0" }, "jerk_enabled": { "value": "True" }, - "jerk_layer_0": { "value": "jerk_topbottom" }, - "jerk_prime_tower": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" }, - "jerk_print": { "value": "25" }, - "jerk_support": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" }, - "jerk_support_interface": { "value": "jerk_topbottom" }, - "jerk_topbottom": { "value": "max(math.ceil(jerk_print * 5 / 25), 20)" }, - "jerk_wall": { "value": "max(math.ceil(jerk_print * 10 / 25), 20)" }, - "jerk_wall_0": { "value": "max(math.ceil(jerk_wall * 5 / 10), 20)" }, + "jerk_print": { "value": "20", "minimum_value_warning": 20 }, + "jerk_infill": {"minimum_value_warning": 20 }, + "jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 }, + "jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 }, + "jerk_roofing": {"minimum_value_warning": 20 }, + "jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 }, + "jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 }, + "jerk_support_infill": {"minimum_value_warning": 20 }, + "jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"}, + "jerk_prime_tower": { "value": "jerk_print", "minimum_value_warning": 20 }, + "jerk_travel": {"minimum_value_warning": 20 }, + "jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20}, + "jerk_print_layer_0": {"minimum_value_warning": 20 }, + "jerk_travel_layer_0": {"minimum_value_warning": 20 }, + "jerk_skirt_brim": {"minimum_value_warning": 20 }, "layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" }, "layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" }, "layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" }, @@ -114,6 +118,7 @@ "default_material_print_temperature": { "value": "200" }, "material_standby_temperature": { "value": "100" }, "multiple_mesh_overlap": { "value": "0" }, + "optimize_wall_printing_order": { "value": "True" }, "prime_tower_enable": { "value": "True" }, "raft_airgap": { "value": "0" }, "raft_base_speed": { "value": "20" }, @@ -127,6 +132,7 @@ "raft_speed": { "value": "25" }, "raft_surface_layers": { "value": "1" }, "retraction_amount": { "value": "6.5" }, + "retraction_combing": { "value": "'no_outer_surfaces'"}, "retraction_count_max": { "value": "10" }, "retraction_extrusion_window": { "value": "1" }, "retraction_hop": { "value": "2" }, @@ -134,8 +140,7 @@ "retraction_hop_only_when_collides": { "value": "True" }, "retraction_min_travel": { "value": "5" }, "retraction_prime_speed": { "value": "15" }, - "roofing_layer_count": { "value": "1" }, - "roofing_monotonic": { "value": "True" }, + "skin_monotonic" : { "value": true }, "skin_overlap": { "value": "10" }, "speed_equalize_flow_width_factor": { "value": "0.5" }, "speed_layer_0": { "value": "20" }, @@ -166,7 +171,6 @@ "meshfix_maximum_deviation": { "value": "layer_height / 4" }, "meshfix_maximum_extrusion_area_deviation": { "value": "50000" }, "optimize_wall_printing_order": { "value": "True" }, - "retraction_combing": { "default_value": "all" }, "initial_layer_line_width_factor": { "value": "120" }, "zig_zaggify_infill": { "value": "gradual_infill_steps == 0" } } diff --git a/resources/definitions/ultimaker_s5.def.json b/resources/definitions/ultimaker_s5.def.json index 004734467a..64d4be2a38 100644 --- a/resources/definitions/ultimaker_s5.def.json +++ b/resources/definitions/ultimaker_s5.def.json @@ -91,20 +91,27 @@ "cool_fan_speed": { "value": "50" }, "cool_fan_speed_max": { "value": "100" }, "cool_min_speed": { "value": "5" }, - "infill_before_walls": { "value": "False" }, - "infill_line_width": { "value": "line_width" }, + "infill_before_walls": { "value": false }, + "infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" }, "infill_overlap": { "value": "0" }, "infill_pattern": { "value": "'triangles'" }, "infill_wipe_dist": { "value": "0" }, "jerk_enabled": { "value": "True" }, - "jerk_layer_0": { "value": "jerk_topbottom" }, - "jerk_prime_tower": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" }, - "jerk_print": { "value": "25" }, - "jerk_support": { "value": "max(math.ceil(jerk_print * 15 / 25), 20)" }, - "jerk_support_interface": { "value": "jerk_topbottom" }, - "jerk_topbottom": { "value": "max(math.ceil(jerk_print * 5 / 25), 20)" }, - "jerk_wall": { "value": "max(math.ceil(jerk_print * 10 / 25), 20)" }, - "jerk_wall_0": { "value": "max(math.ceil(jerk_wall * 5 / 10), 20)" }, + "jerk_print": { "value": "20", "minimum_value_warning": 20 }, + "jerk_infill": {"minimum_value_warning": 20 }, + "jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 }, + "jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 }, + "jerk_roofing": {"minimum_value_warning": 20 }, + "jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 }, + "jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 }, + "jerk_support_infill": {"minimum_value_warning": 20 }, + "jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"}, + "jerk_prime_tower": { "value": "jerk_print", "minimum_value_warning": 20 }, + "jerk_travel": {"minimum_value_warning": 20 }, + "jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20}, + "jerk_print_layer_0": {"minimum_value_warning": 20 }, + "jerk_travel_layer_0": {"minimum_value_warning": 20 }, + "jerk_skirt_brim": {"minimum_value_warning": 20 }, "layer_height_0": { "value": "round(machine_nozzle_size / 1.5, 2)" }, "layer_start_x": { "value": "sum(extruderValues('machine_extruder_start_pos_x')) / len(extruderValues('machine_extruder_start_pos_x'))" }, "layer_start_y": { "value": "sum(extruderValues('machine_extruder_start_pos_y')) / len(extruderValues('machine_extruder_start_pos_y'))" }, @@ -129,6 +136,7 @@ "raft_speed": { "value": "25" }, "raft_surface_layers": { "value": "1" }, "retraction_amount": { "value": "6.5" }, + "retraction_combing": { "value": "'no_outer_surfaces'"}, "retraction_count_max": { "value": "10" }, "retraction_extrusion_window": { "value": "1" }, "retraction_hop": { "value": "2" }, @@ -136,8 +144,7 @@ "retraction_hop_only_when_collides": { "value": "True" }, "retraction_min_travel": { "value": "5" }, "retraction_prime_speed": { "value": "15" }, - "roofing_layer_count": { "value": "1" }, - "roofing_monotonic": { "value": "True" }, + "skin_monotonic" : { "value": true }, "skin_overlap": { "value": "10" }, "speed_equalize_flow_width_factor": { "value": "0.5" }, "speed_layer_0": { "value": "20" }, @@ -168,7 +175,6 @@ "meshfix_maximum_deviation": { "value": "layer_height / 4" }, "meshfix_maximum_extrusion_area_deviation": { "value": "50000" }, "optimize_wall_printing_order": { "value": "True" }, - "retraction_combing": { "default_value": "all" }, "initial_layer_line_width_factor": { "value": "120" }, "zig_zaggify_infill": { "value": "gradual_infill_steps == 0" }, "build_volume_temperature": { "maximum_value": 50 } diff --git a/resources/definitions/voron2_base.def.json b/resources/definitions/voron2_base.def.json index cc48833136..ec069b24fb 100644 --- a/resources/definitions/voron2_base.def.json +++ b/resources/definitions/voron2_base.def.json @@ -104,7 +104,7 @@ "retraction_prime_speed": { "value": "math.ceil(retraction_speed * 0.4)", "maximum_value_warning": 130 }, "retraction_hop_enabled": { "default_value": true }, "retraction_hop": { "default_value": 0.2 }, - "retraction_combing": { "default_value": "noskin" }, + "retraction_combing": { "value": "'noskin'" }, "retraction_combing_max_distance": { "default_value": 10 }, "travel_avoid_other_parts": { "default_value": false }, "speed_travel": { "maximum_value": 300, "value": 300, "maximum_value_warning": 501 }, diff --git a/resources/extruders/3di_base_extruder_0.def.json b/resources/extruders/3di_base_extruder_0.def.json new file mode 100644 index 0000000000..5fbb347ede --- /dev/null +++ b/resources/extruders/3di_base_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "3di_base", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} \ No newline at end of file diff --git a/resources/extruders/arjunpro_dm_extruder.def.json b/resources/extruders/arjunpro_dm_extruder.def.json new file mode 100644 index 0000000000..9ea7bbe27b --- /dev/null +++ b/resources/extruders/arjunpro_dm_extruder.def.json @@ -0,0 +1,20 @@ +{ + "version": 2, + "name": "Duplication Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "arjunpro_duplication", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 }, + "machine_nozzle_offset_x": { "default_value": 0 }, + "machine_nozzle_offset_y": { "default_value": 0 } + } +} diff --git a/resources/extruders/arjunpro_extruder_0.def.json b/resources/extruders/arjunpro_extruder_0.def.json new file mode 100644 index 0000000000..b4ba094804 --- /dev/null +++ b/resources/extruders/arjunpro_extruder_0.def.json @@ -0,0 +1,27 @@ +{ + "version": 2, + "name": "Left Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "arjunpro300", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 }, + "machine_nozzle_offset_x": { "default_value": 0 }, + "machine_nozzle_offset_y": { "default_value": 0 }, + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": -51 }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_start_code": { "default_value": "T0" } + } +} diff --git a/resources/extruders/arjunpro_extruder_1.def.json b/resources/extruders/arjunpro_extruder_1.def.json new file mode 100644 index 0000000000..b5177807b8 --- /dev/null +++ b/resources/extruders/arjunpro_extruder_1.def.json @@ -0,0 +1,27 @@ +{ + "version": 2, + "name": "Right Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "arjunpro300", + "position": "1" + }, + + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "1" + }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 }, + "machine_nozzle_offset_x": { "default_value": 0.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": 257 }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_start_code": { "default_value": "T1" } + } +} diff --git a/resources/extruders/arjunpro_mm_extruder.def.json b/resources/extruders/arjunpro_mm_extruder.def.json new file mode 100644 index 0000000000..c101ede4ca --- /dev/null +++ b/resources/extruders/arjunpro_mm_extruder.def.json @@ -0,0 +1,20 @@ +{ + "version": 2, + "name": "Mirror Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "arjunpro_mirrored", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 }, + "machine_nozzle_offset_x": { "default_value": 0 }, + "machine_nozzle_offset_y": { "default_value": 0 } + } +} diff --git a/resources/extruders/creasee_cs50spro_extruder.def.json b/resources/extruders/creasee_cs50spro_extruder.def.json new file mode 100644 index 0000000000..8fdd42186a --- /dev/null +++ b/resources/extruders/creasee_cs50spro_extruder.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "creasee_cs50spro", + "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/creasee_phoenix_extruder.def.json b/resources/extruders/creasee_phoenix_extruder.def.json new file mode 100644 index 0000000000..9eed5943e4 --- /dev/null +++ b/resources/extruders/creasee_phoenix_extruder.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "creasee_phoenix", + "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/creasee_skywalker_extruder.def.json b/resources/extruders/creasee_skywalker_extruder.def.json new file mode 100644 index 0000000000..0e240665ec --- /dev/null +++ b/resources/extruders/creasee_skywalker_extruder.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "creasee_skywalker", + "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/cremaker_extruder_0.def.json b/resources/extruders/cremaker_extruder_0.def.json new file mode 100644 index 0000000000..bf1dcce526 --- /dev/null +++ b/resources/extruders/cremaker_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "cremaker_common", + "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/hellbot_hidra_extruder_0.def.json b/resources/extruders/hellbot_hidra_extruder_0.def.json index f6e66d5381..aa8da12ea3 100644 --- a/resources/extruders/hellbot_hidra_extruder_0.def.json +++ b/resources/extruders/hellbot_hidra_extruder_0.def.json @@ -1,6 +1,6 @@ { "version": 2, - "name": "Extrusor E1", + "name": "Extruder E1", "inherits": "fdmextruder", "metadata": { "machine": "hellbot_hidra", diff --git a/resources/extruders/hellbot_hidra_extruder_1.def.json b/resources/extruders/hellbot_hidra_extruder_1.def.json index 87b18db36c..8389b5e8d8 100644 --- a/resources/extruders/hellbot_hidra_extruder_1.def.json +++ b/resources/extruders/hellbot_hidra_extruder_1.def.json @@ -1,6 +1,6 @@ { "version": 2, - "name": "Extrusor E2", + "name": "Extruder E2", "inherits": "fdmextruder", "metadata": { "machine": "hellbot_hidra", diff --git a/resources/extruders/hellbot_hidra_plus_extruder_0.def.json b/resources/extruders/hellbot_hidra_plus_extruder_0.def.json index e8817236a1..2b023119eb 100644 --- a/resources/extruders/hellbot_hidra_plus_extruder_0.def.json +++ b/resources/extruders/hellbot_hidra_plus_extruder_0.def.json @@ -1,6 +1,6 @@ { "version": 2, - "name": "Extrusor E1", + "name": "Extruder E1", "inherits": "fdmextruder", "metadata": { "machine": "hellbot_hidra_plus", diff --git a/resources/extruders/hellbot_hidra_plus_extruder_1.def.json b/resources/extruders/hellbot_hidra_plus_extruder_1.def.json index 37f37fc71f..ade40aafea 100644 --- a/resources/extruders/hellbot_hidra_plus_extruder_1.def.json +++ b/resources/extruders/hellbot_hidra_plus_extruder_1.def.json @@ -1,6 +1,6 @@ { "version": 2, - "name": "Extrusor E2", + "name": "Extruder E2", "inherits": "fdmextruder", "metadata": { "machine": "hellbot_hidra_plus", diff --git a/resources/extruders/hellbot_magna_2_230_extruder_0.def.json b/resources/extruders/hellbot_magna_2_230_extruder_0.def.json index 926e8b94c4..83e76a2d31 100644 --- a/resources/extruders/hellbot_magna_2_230_extruder_0.def.json +++ b/resources/extruders/hellbot_magna_2_230_extruder_0.def.json @@ -11,6 +11,5 @@ "extruder_nr": { "default_value": 0 }, "machine_nozzle_size": { "default_value": 0.4 }, "material_diameter": { "default_value": 1.75 } - } } diff --git a/resources/extruders/hellbot_magna_2_400_dual_extruder_0.def.json b/resources/extruders/hellbot_magna_2_400_dual_extruder_0.def.json new file mode 100644 index 0000000000..f42dd7f986 --- /dev/null +++ b/resources/extruders/hellbot_magna_2_400_dual_extruder_0.def.json @@ -0,0 +1,24 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "hellbot_magna_2_400_dual", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 }, + "machine_extruder_start_code": { + "default_value": "T0 \nG92 E0 \nG1 F1000 E100 \nG92 E0 \nM104 S{material_print_temperature}" + }, + "machine_extruder_end_code": { + "default_value": "G92 E0 \nG1 F2500 E-5 \nG1 F2400 X395 Y350 \nG1 F3000 E-100 \nG92 E0 \nG90" + } + } +} diff --git a/resources/extruders/hellbot_magna_2_400_dual_extruder_1.def.json b/resources/extruders/hellbot_magna_2_400_dual_extruder_1.def.json new file mode 100644 index 0000000000..f5ab430fc7 --- /dev/null +++ b/resources/extruders/hellbot_magna_2_400_dual_extruder_1.def.json @@ -0,0 +1,24 @@ +{ + "version": 2, + "name": "Extruder 2", + "inherits": "fdmextruder", + "metadata": { + "machine": "hellbot_magna_2_400_dual", + "position": "1" + }, + + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "1" + }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 }, + "machine_extruder_start_code": { + "default_value": "T1 \nG92 E0 \nG1 F1000 E100 \nG92 E0 \nM104 S{material_print_temperature}" + }, + "machine_extruder_end_code": { + "default_value": "G92 E0 \nG1 F2500 E-5 \nG1 F2400 X395 Y350 \nG1 F3000 E-100 \nG92 E0 \nG90" + } + } +} diff --git a/resources/extruders/hellbot_magna_2_400_extruder_0.def.json b/resources/extruders/hellbot_magna_2_400_extruder_0.def.json new file mode 100644 index 0000000000..59ee87321c --- /dev/null +++ b/resources/extruders/hellbot_magna_2_400_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "hellbot_magna_2_400", + "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/hellbot_magna_2_500_dual_extruder_0.def.json b/resources/extruders/hellbot_magna_2_500_dual_extruder_0.def.json new file mode 100644 index 0000000000..033b62e0f9 --- /dev/null +++ b/resources/extruders/hellbot_magna_2_500_dual_extruder_0.def.json @@ -0,0 +1,24 @@ +{ + "version": 2, + "name": "Extruder 2", + "inherits": "fdmextruder", + "metadata": { + "machine": "hellbot_magna_2_500_dual", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 }, + "machine_extruder_start_code": { + "default_value": "T0 \nG92 E0 \nG1 F1000 E100 \nG92 E0 \nM104 S{material_print_temperature}" + }, + "machine_extruder_end_code": { + "default_value": "G92 E0 \nG1 F2500 E-5 \nG1 F2400 X495 Y450 \nG1 F3000 E-100 \nG92 E0 \nG90" + } + } +} diff --git a/resources/extruders/hellbot_magna_2_500_dual_extruder_1.def.json b/resources/extruders/hellbot_magna_2_500_dual_extruder_1.def.json new file mode 100644 index 0000000000..62f6e1b7bc --- /dev/null +++ b/resources/extruders/hellbot_magna_2_500_dual_extruder_1.def.json @@ -0,0 +1,24 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "hellbot_magna_2_500_dual", + "position": "1" + }, + + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "1" + }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 }, + "machine_extruder_start_code": { + "default_value": "T1 \nG92 E0 \nG1 F1000 E100 \nG92 E0 \nM104 S{material_print_temperature}" + }, + "machine_extruder_end_code": { + "default_value": "G92 E0 \nG1 F2500 E-5 \nG1 F2400 X495 Y450 \nG1 F3000 E-100 \nG92 E0 \nG90" + } + } +} diff --git a/resources/extruders/hellbot_magna_2_500_extruder_0.def.json b/resources/extruders/hellbot_magna_2_500_extruder_0.def.json new file mode 100644 index 0000000000..749e77cbe7 --- /dev/null +++ b/resources/extruders/hellbot_magna_2_500_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "hellbot_magna_2_500", + "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/i18n/cs_CZ/cura.po b/resources/i18n/cs_CZ/cura.po index 6c651714d2..c4bada9c78 100644 --- a/resources/i18n/cs_CZ/cura.po +++ b/resources/i18n/cs_CZ/cura.po @@ -1,12 +1,12 @@ # Cura # Copyright (C) 2021 Ultimaker B.V. # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2020. +# Ultimaker , 2020. # msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-04-04 15:31+0200\n" "Last-Translator: Miroslav Šustek \n" diff --git a/resources/i18n/cs_CZ/fdmextruder.def.json.po b/resources/i18n/cs_CZ/fdmextruder.def.json.po index 9d0fe7af08..def60713ad 100644 --- a/resources/i18n/cs_CZ/fdmextruder.def.json.po +++ b/resources/i18n/cs_CZ/fdmextruder.def.json.po @@ -1,12 +1,12 @@ # Cura # Copyright (C) 2021 Ultimaker B.V. # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2020. +# Ultimaker , 2020. # msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2020-02-20 17:30+0100\n" "Last-Translator: DenyCZ \n" diff --git a/resources/i18n/cs_CZ/fdmprinter.def.json.po b/resources/i18n/cs_CZ/fdmprinter.def.json.po index c49ead79c6..61511df879 100644 --- a/resources/i18n/cs_CZ/fdmprinter.def.json.po +++ b/resources/i18n/cs_CZ/fdmprinter.def.json.po @@ -1,12 +1,12 @@ # Cura # Copyright (C) 2021 Ultimaker B.V. # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2020. +# Ultimaker , 2020. # msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-04 19:37+0200\n" "Last-Translator: Miroslav Šustek \n" diff --git a/resources/i18n/cura.pot b/resources/i18n/cura.pot index e97148a38c..e21f834c9d 100644 --- a/resources/i18n/cura.pot +++ b/resources/i18n/cura.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" diff --git a/resources/i18n/de_DE/cura.po b/resources/i18n/de_DE/cura.po index 6cb4dbafab..2078b327d6 100644 --- a/resources/i18n/de_DE/cura.po +++ b/resources/i18n/de_DE/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-09-07 07:41+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/de_DE/fdmextruder.def.json.po b/resources/i18n/de_DE/fdmextruder.def.json.po index 3196e4e873..298b009347 100644 --- a/resources/i18n/de_DE/fdmextruder.def.json.po +++ b/resources/i18n/de_DE/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:15+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/de_DE/fdmprinter.def.json.po b/resources/i18n/de_DE/fdmprinter.def.json.po index a4db59cb52..8f26ecc2db 100644 --- a/resources/i18n/de_DE/fdmprinter.def.json.po +++ b/resources/i18n/de_DE/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:16+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/es_ES/cura.po b/resources/i18n/es_ES/cura.po index 0c4697e432..dd0c259f90 100644 --- a/resources/i18n/es_ES/cura.po +++ b/resources/i18n/es_ES/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-09-07 07:43+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/es_ES/fdmextruder.def.json.po b/resources/i18n/es_ES/fdmextruder.def.json.po index 07993d655f..3057759188 100644 --- a/resources/i18n/es_ES/fdmextruder.def.json.po +++ b/resources/i18n/es_ES/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2019-03-13 14:00+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/es_ES/fdmprinter.def.json.po b/resources/i18n/es_ES/fdmprinter.def.json.po index 732289c9e7..562b93165c 100644 --- a/resources/i18n/es_ES/fdmprinter.def.json.po +++ b/resources/i18n/es_ES/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:15+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/fdmextruder.def.json.pot b/resources/i18n/fdmextruder.def.json.pot index 284b033c49..6f496b5ad3 100644 --- a/resources/i18n/fdmextruder.def.json.pot +++ b/resources/i18n/fdmextruder.def.json.pot @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Uranium json setting files\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" diff --git a/resources/i18n/fdmprinter.def.json.pot b/resources/i18n/fdmprinter.def.json.pot index 8cbd4d5d1d..2c05787546 100644 --- a/resources/i18n/fdmprinter.def.json.pot +++ b/resources/i18n/fdmprinter.def.json.pot @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Uranium json setting files\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" diff --git a/resources/i18n/fi_FI/cura.po b/resources/i18n/fi_FI/cura.po index 406db14a12..b74ec234c0 100644 --- a/resources/i18n/fi_FI/cura.po +++ b/resources/i18n/fi_FI/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/fi_FI/fdmextruder.def.json.po b/resources/i18n/fi_FI/fdmextruder.def.json.po index f1d8767b81..28fd84b7ca 100644 --- a/resources/i18n/fi_FI/fdmextruder.def.json.po +++ b/resources/i18n/fi_FI/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2017-08-11 14:31+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/fi_FI/fdmprinter.def.json.po b/resources/i18n/fi_FI/fdmprinter.def.json.po index 52558d0db4..acd995d7d0 100644 --- a/resources/i18n/fi_FI/fdmprinter.def.json.po +++ b/resources/i18n/fi_FI/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2017-09-27 12:27+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/fr_FR/cura.po b/resources/i18n/fr_FR/cura.po index a0cb30bc72..41df93d778 100644 --- a/resources/i18n/fr_FR/cura.po +++ b/resources/i18n/fr_FR/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-09-07 07:48+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/fr_FR/fdmextruder.def.json.po b/resources/i18n/fr_FR/fdmextruder.def.json.po index 7caa73f8f5..7947f8efb7 100644 --- a/resources/i18n/fr_FR/fdmextruder.def.json.po +++ b/resources/i18n/fr_FR/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:16+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/fr_FR/fdmprinter.def.json.po b/resources/i18n/fr_FR/fdmprinter.def.json.po index 0e02469dcc..bc0f03be3a 100644 --- a/resources/i18n/fr_FR/fdmprinter.def.json.po +++ b/resources/i18n/fr_FR/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:16+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/hu_HU/cura.po b/resources/i18n/hu_HU/cura.po index a4781df59b..cab7d0e7f1 100644 --- a/resources/i18n/hu_HU/cura.po +++ b/resources/i18n/hu_HU/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2020-03-24 09:36+0100\n" "Last-Translator: Nagy Attila \n" diff --git a/resources/i18n/hu_HU/fdmextruder.def.json.po b/resources/i18n/hu_HU/fdmextruder.def.json.po index e153967ccf..6bbc53b33c 100644 --- a/resources/i18n/hu_HU/fdmextruder.def.json.po +++ b/resources/i18n/hu_HU/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2020-03-24 09:27+0100\n" "Last-Translator: Nagy Attila \n" diff --git a/resources/i18n/hu_HU/fdmprinter.def.json.po b/resources/i18n/hu_HU/fdmprinter.def.json.po index e1dddf829d..3c5871a749 100644 --- a/resources/i18n/hu_HU/fdmprinter.def.json.po +++ b/resources/i18n/hu_HU/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2020-03-24 09:43+0100\n" "Last-Translator: Nagy Attila \n" diff --git a/resources/i18n/it_IT/cura.po b/resources/i18n/it_IT/cura.po index e4b973e436..9825abd294 100644 --- a/resources/i18n/it_IT/cura.po +++ b/resources/i18n/it_IT/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-09-07 07:57+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/it_IT/fdmextruder.def.json.po b/resources/i18n/it_IT/fdmextruder.def.json.po index 58e76cc1a8..35c2aaa2f9 100644 --- a/resources/i18n/it_IT/fdmextruder.def.json.po +++ b/resources/i18n/it_IT/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 14:58+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/it_IT/fdmprinter.def.json.po b/resources/i18n/it_IT/fdmprinter.def.json.po index e72b81f693..2d5ff8a607 100644 --- a/resources/i18n/it_IT/fdmprinter.def.json.po +++ b/resources/i18n/it_IT/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 14:58+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/ja_JP/cura.po b/resources/i18n/ja_JP/cura.po index 984b90d3e8..f26b08ab04 100644 --- a/resources/i18n/ja_JP/cura.po +++ b/resources/i18n/ja_JP/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-09-07 08:00+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/ja_JP/fdmextruder.def.json.po b/resources/i18n/ja_JP/fdmextruder.def.json.po index 99a1ce54b1..cf9ade8be8 100644 --- a/resources/i18n/ja_JP/fdmextruder.def.json.po +++ b/resources/i18n/ja_JP/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 14:59+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/ja_JP/fdmprinter.def.json.po b/resources/i18n/ja_JP/fdmprinter.def.json.po index ab5a6e9d40..0669bfc4df 100644 --- a/resources/i18n/ja_JP/fdmprinter.def.json.po +++ b/resources/i18n/ja_JP/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:00+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/ko_KR/cura.po b/resources/i18n/ko_KR/cura.po index 3dd4d02557..19a48d2159 100644 --- a/resources/i18n/ko_KR/cura.po +++ b/resources/i18n/ko_KR/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-04-16 15:01+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/ko_KR/fdmextruder.def.json.po b/resources/i18n/ko_KR/fdmextruder.def.json.po index 08f803dda0..5b9c3e4fb5 100644 --- a/resources/i18n/ko_KR/fdmextruder.def.json.po +++ b/resources/i18n/ko_KR/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:01+0200\n" "Last-Translator: Korean \n" diff --git a/resources/i18n/ko_KR/fdmprinter.def.json.po b/resources/i18n/ko_KR/fdmprinter.def.json.po index 329a4a840a..29316aed55 100644 --- a/resources/i18n/ko_KR/fdmprinter.def.json.po +++ b/resources/i18n/ko_KR/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:02+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/nl_NL/cura.po b/resources/i18n/nl_NL/cura.po index eb7e234e4e..00ef90fa8a 100644 --- a/resources/i18n/nl_NL/cura.po +++ b/resources/i18n/nl_NL/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-09-07 08:01+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/nl_NL/fdmextruder.def.json.po b/resources/i18n/nl_NL/fdmextruder.def.json.po index d83f7fa915..2eb41f59e2 100644 --- a/resources/i18n/nl_NL/fdmextruder.def.json.po +++ b/resources/i18n/nl_NL/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:03+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/nl_NL/fdmprinter.def.json.po b/resources/i18n/nl_NL/fdmprinter.def.json.po index f2c72d2c6d..d9ab749078 100644 --- a/resources/i18n/nl_NL/fdmprinter.def.json.po +++ b/resources/i18n/nl_NL/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:03+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/pl_PL/cura.po b/resources/i18n/pl_PL/cura.po index 3e46e02a78..9331746276 100644 --- a/resources/i18n/pl_PL/cura.po +++ b/resources/i18n/pl_PL/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-09-07 08:02+0200\n" "Last-Translator: Mariusz Matłosz \n" diff --git a/resources/i18n/pl_PL/fdmextruder.def.json.po b/resources/i18n/pl_PL/fdmextruder.def.json.po index 2dffba2cce..c5e732052c 100644 --- a/resources/i18n/pl_PL/fdmextruder.def.json.po +++ b/resources/i18n/pl_PL/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2019-03-13 14:00+0200\n" "Last-Translator: Mariusz 'Virgin71' Matłosz \n" diff --git a/resources/i18n/pl_PL/fdmprinter.def.json.po b/resources/i18n/pl_PL/fdmprinter.def.json.po index 30e3ae185b..1e73a90362 100644 --- a/resources/i18n/pl_PL/fdmprinter.def.json.po +++ b/resources/i18n/pl_PL/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2019-11-15 15:34+0100\n" "Last-Translator: Mariusz Matłosz \n" diff --git a/resources/i18n/pt_BR/cura.po b/resources/i18n/pt_BR/cura.po index a5a2678ea1..529c54001c 100644 --- a/resources/i18n/pt_BR/cura.po +++ b/resources/i18n/pt_BR/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-09-07 08:07+0200\n" "Last-Translator: Cláudio Sampaio \n" diff --git a/resources/i18n/pt_BR/fdmextruder.def.json.po b/resources/i18n/pt_BR/fdmextruder.def.json.po index e98904fd6f..66e4731de6 100644 --- a/resources/i18n/pt_BR/fdmextruder.def.json.po +++ b/resources/i18n/pt_BR/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-11 17:09+0200\n" "Last-Translator: Cláudio Sampaio \n" diff --git a/resources/i18n/pt_BR/fdmprinter.def.json.po b/resources/i18n/pt_BR/fdmprinter.def.json.po index 15b06de7be..b39ab59718 100644 --- a/resources/i18n/pt_BR/fdmprinter.def.json.po +++ b/resources/i18n/pt_BR/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-08-18 02:56+0200\n" "Last-Translator: Cláudio Sampaio \n" diff --git a/resources/i18n/pt_PT/cura.po b/resources/i18n/pt_PT/cura.po index 06190424f9..a1a6545a46 100644 --- a/resources/i18n/pt_PT/cura.po +++ b/resources/i18n/pt_PT/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-04-16 14:56+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/pt_PT/fdmextruder.def.json.po b/resources/i18n/pt_PT/fdmextruder.def.json.po index cc58862076..9371c355ef 100644 --- a/resources/i18n/pt_PT/fdmextruder.def.json.po +++ b/resources/i18n/pt_PT/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 14:56+0200\n" "Last-Translator: Portuguese \n" diff --git a/resources/i18n/pt_PT/fdmprinter.def.json.po b/resources/i18n/pt_PT/fdmprinter.def.json.po index 1a38b8d1e0..038828891f 100644 --- a/resources/i18n/pt_PT/fdmprinter.def.json.po +++ b/resources/i18n/pt_PT/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 14:56+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/ru_RU/cura.po b/resources/i18n/ru_RU/cura.po index 31faaceb24..3514db23e6 100644 --- a/resources/i18n/ru_RU/cura.po +++ b/resources/i18n/ru_RU/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-09-07 08:08+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/ru_RU/fdmextruder.def.json.po b/resources/i18n/ru_RU/fdmextruder.def.json.po index fe71cb985a..138a2e496d 100644 --- a/resources/i18n/ru_RU/fdmextruder.def.json.po +++ b/resources/i18n/ru_RU/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 14:58+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/ru_RU/fdmprinter.def.json.po b/resources/i18n/ru_RU/fdmprinter.def.json.po index 01cc81513e..a33aebc52a 100644 --- a/resources/i18n/ru_RU/fdmprinter.def.json.po +++ b/resources/i18n/ru_RU/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 14:58+0200\n" "Last-Translator: Lionbridge \n" @@ -5354,7 +5354,7 @@ msgstr "Оптимизация перемещения заполнения" #: fdmprinter.def.json msgctxt "infill_enable_travel_optimization description" msgid "When enabled, the order in which the infill lines are printed is optimized to reduce the distance travelled. The reduction in travel time achieved very much depends on the model being sliced, infill pattern, density, etc. Note that, for some models that have many small areas of infill, the time to slice the model may be greatly increased." -msgstr "Если включено, заказ, в котором печатаются линии заполнения, оптимизируется для сокращения пройденного расстояния. Достигнутое сокращение времени перемещения в очень большой степени зависит от модели, разделяемой на слои, шаблона заполнения, плотности и т. п. Обратите внимание, что для некоторых моделей, имеющих множество небольших заполняемых областей, время разделения на слои может существенно возрасти." +msgstr "Если включено, порядок, в котором печатаются линии заполнения, оптимизируется для сокращения пройденного расстояния. Достигнутое сокращение времени перемещения в очень большой степени зависит от модели, разделяемой на слои, шаблона заполнения, плотности и т. п. Обратите внимание, что для некоторых моделей, имеющих множество небольших заполняемых областей, время разделения на слои может существенно возрасти." #: fdmprinter.def.json msgctxt "material_flow_dependent_temperature label" diff --git a/resources/i18n/tr_TR/cura.po b/resources/i18n/tr_TR/cura.po index dac15afb60..87cdc2f421 100644 --- a/resources/i18n/tr_TR/cura.po +++ b/resources/i18n/tr_TR/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-04-16 14:58+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/tr_TR/fdmextruder.def.json.po b/resources/i18n/tr_TR/fdmextruder.def.json.po index a0042eead5..1f3473c867 100644 --- a/resources/i18n/tr_TR/fdmextruder.def.json.po +++ b/resources/i18n/tr_TR/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:03+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/tr_TR/fdmprinter.def.json.po b/resources/i18n/tr_TR/fdmprinter.def.json.po index cf68ffbda1..af97e84728 100644 --- a/resources/i18n/tr_TR/fdmprinter.def.json.po +++ b/resources/i18n/tr_TR/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:03+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/zh_CN/cura.po b/resources/i18n/zh_CN/cura.po index e61a189352..e9de36f8c3 100644 --- a/resources/i18n/zh_CN/cura.po +++ b/resources/i18n/zh_CN/cura.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-04-16 15:04+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/zh_CN/fdmextruder.def.json.po b/resources/i18n/zh_CN/fdmextruder.def.json.po index 028a571491..ec53ba0197 100644 --- a/resources/i18n/zh_CN/fdmextruder.def.json.po +++ b/resources/i18n/zh_CN/fdmextruder.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2019-03-13 14:00+0200\n" "Last-Translator: Bothof \n" diff --git a/resources/i18n/zh_CN/fdmprinter.def.json.po b/resources/i18n/zh_CN/fdmprinter.def.json.po index a0a6900281..568e8d0df0 100644 --- a/resources/i18n/zh_CN/fdmprinter.def.json.po +++ b/resources/i18n/zh_CN/fdmprinter.def.json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 15:04+0200\n" "Last-Translator: Lionbridge \n" diff --git a/resources/i18n/zh_TW/cura.po b/resources/i18n/zh_TW/cura.po index ad28ebb1f8..214e913dab 100644 --- a/resources/i18n/zh_TW/cura.po +++ b/resources/i18n/zh_TW/cura.po @@ -1,12 +1,12 @@ # Cura # Copyright (C) 2021 Ultimaker B.V. # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2021. +# Ultimaker , 2021. # msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:59+0200\n" "PO-Revision-Date: 2021-08-16 19:58+0800\n" "Last-Translator: Valen Chang \n" diff --git a/resources/i18n/zh_TW/fdmextruder.def.json.po b/resources/i18n/zh_TW/fdmextruder.def.json.po index ebfbcb47b5..8aa19940a9 100644 --- a/resources/i18n/zh_TW/fdmextruder.def.json.po +++ b/resources/i18n/zh_TW/fdmextruder.def.json.po @@ -1,12 +1,12 @@ # Cura JSON setting files # Copyright (C) 2021 Ultimaker # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2021. +# Ultimaker , 2021. # msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-04-16 20:13+0200\n" "Last-Translator: Valen Chang \n" diff --git a/resources/i18n/zh_TW/fdmprinter.def.json.po b/resources/i18n/zh_TW/fdmprinter.def.json.po index 16b3580942..7ffc615071 100644 --- a/resources/i18n/zh_TW/fdmprinter.def.json.po +++ b/resources/i18n/zh_TW/fdmprinter.def.json.po @@ -1,12 +1,12 @@ # Cura JSON setting files # Copyright (C) 2021 Ultimaker B.V. # This file is distributed under the same license as the Cura package. -# Ruben Dulek , 2021. +# Ultimaker , 2021. # msgid "" msgstr "" "Project-Id-Version: Cura 4.11\n" -"Report-Msgid-Bugs-To: r.dulek@ultimaker.com\n" +"Report-Msgid-Bugs-To: plugins@ultimaker.com\n" "POT-Creation-Date: 2021-08-11 09:58+0000\n" "PO-Revision-Date: 2021-08-16 20:48+0800\n" "Last-Translator: Valen Chang \n" diff --git a/resources/images/Magna2_400.png b/resources/images/Magna2_400.png new file mode 100644 index 0000000000..1b0b29bdff Binary files /dev/null and b/resources/images/Magna2_400.png differ diff --git a/resources/images/Magna2_500.png b/resources/images/Magna2_500.png new file mode 100644 index 0000000000..ecbb9a6df1 Binary files /dev/null and b/resources/images/Magna2_500.png differ diff --git a/resources/meshes/3di_d300_platform.STL b/resources/meshes/3di_d300_platform.STL new file mode 100644 index 0000000000..6615bfb523 Binary files /dev/null and b/resources/meshes/3di_d300_platform.STL differ diff --git a/resources/meshes/Hellbot_Magna_2_230.obj b/resources/meshes/Hellbot_Magna_2_230.obj index 0a23384817..d30c80e5ac 100644 --- a/resources/meshes/Hellbot_Magna_2_230.obj +++ b/resources/meshes/Hellbot_Magna_2_230.obj @@ -1,6 +1,3 @@ -# Exported from 3D Builder -mtllib Hellbot_Magna_2_230.mtl - o Object.1 v 112.500000 117.499786 0.999789 188 188 188 v -112.500008 117.499786 0.999789 188 188 188 diff --git a/resources/meshes/Hellbot_Magna_2_300.obj b/resources/meshes/Hellbot_Magna_2_300.obj index 4f80fea99d..28c859d96e 100644 --- a/resources/meshes/Hellbot_Magna_2_300.obj +++ b/resources/meshes/Hellbot_Magna_2_300.obj @@ -1,6 +1,3 @@ -# Exported from 3D Builder -mtllib Hellbot_Magna_2_300.mtl - o Object.1 v 150.000000 154.999985 0.999812 188 188 188 v -150.782166 154.938431 -1.000188 188 188 188 diff --git a/resources/meshes/Hellbot_Magna_2_400.obj b/resources/meshes/Hellbot_Magna_2_400.obj new file mode 100644 index 0000000000..8b8fc6f018 --- /dev/null +++ b/resources/meshes/Hellbot_Magna_2_400.obj @@ -0,0 +1,949 @@ +o Object.1 +v 200.000031 204.999557 1.000034 188 188 188 +v -200.782135 204.938004 -0.999961 188 188 188 +v -204.999969 199.999573 -0.999962 188 188 188 +v -204.999969 -199.999588 -1.000031 188 188 188 +v -160.315567 -205.146408 -1.000032 188 188 188 +v -159.121292 -205.878250 -1.000032 188 188 188 +v 159.880707 -205.326553 -1.000032 188 188 188 +v 159.479309 -205.572525 -1.000032 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v 160.773376 -205.036514 0.999964 188 188 188 +v 161.242676 -204.999588 0.999964 188 188 188 +v 205.000031 -199.999588 -1.000031 188 188 188 +v 200.000031 -204.999588 -1.000032 188 188 188 +v 202.938965 -204.044662 -1.000032 188 188 188 +v 202.269989 -204.454605 -1.000032 188 188 188 +v 204.938477 -200.781754 0.999965 188 188 188 +v 205.000031 199.999573 1.000033 188 188 188 +v 205.000031 -199.999588 0.999965 188 188 188 +v 205.000031 199.999573 -0.999962 188 188 188 +v 204.938477 200.781754 -0.999962 188 188 188 +v 204.755310 201.544662 1.000033 188 188 188 +v 204.938477 200.781754 1.000033 188 188 188 +v 204.455048 202.269516 1.000033 188 188 188 +v 204.455048 202.269516 -0.999962 188 188 188 +v 204.045105 202.938492 -0.999962 188 188 188 +v 204.045105 202.938492 1.000033 188 188 188 +v 203.535553 203.535110 1.000033 188 188 188 +v 203.535553 203.535110 -0.999961 188 188 188 +v 202.938965 204.044647 1.000034 188 188 188 +v 202.938965 204.044647 -0.999961 188 188 188 +v 202.269989 204.454590 -0.999961 188 188 188 +v 201.545105 204.754852 1.000034 188 188 188 +v 202.269989 204.454590 1.000034 188 188 188 +v 201.545105 204.754852 -0.999961 188 188 188 +v 200.782196 204.938004 1.000034 188 188 188 +v 200.000031 204.999557 -0.999961 188 188 188 +v 200.782196 204.938004 -0.999961 188 188 188 +v 204.755310 201.544662 -0.999962 188 188 188 +v 161.242676 -204.999588 -1.000032 188 188 188 +v 204.755310 -201.544662 0.999965 188 188 188 +v 204.455048 -202.269516 0.999964 188 188 188 +v 204.755310 -201.544662 -1.000031 188 188 188 +v 203.535553 -203.535110 -1.000032 188 188 188 +v 203.535553 -203.535110 0.999964 188 188 188 +v 204.045105 -202.938492 -1.000031 188 188 188 +v 204.045105 -202.938492 0.999964 188 188 188 +v 202.938965 -204.044662 0.999964 188 188 188 +v 202.269989 -204.454605 0.999964 188 188 188 +v 201.545105 -204.754868 0.999964 188 188 188 +v 200.782196 -204.938034 0.999964 188 188 188 +v 201.545105 -204.754868 -1.000032 188 188 188 +v 200.000031 -204.999588 0.999964 188 188 188 +v 204.455048 -202.269516 -1.000031 188 188 188 +v 204.938477 -200.781754 -1.000031 188 188 188 +v 200.782196 -204.938034 -1.000032 188 188 188 +v 160.773376 -205.036514 -1.000032 188 188 188 +v -160.315567 -205.146408 0.999964 188 188 188 +v -160.773300 -205.036514 0.999964 188 188 188 +v -159.880630 -205.326553 0.999964 188 188 188 +v -159.479263 -205.572525 0.999964 188 188 188 +v -159.479263 -205.572525 -1.000032 188 188 188 +v -150.520676 -214.426590 -1.000034 188 188 188 +v -149.226639 -214.962631 -1.000034 188 188 188 +v -149.684387 -214.852737 -1.000034 188 188 188 +v -148.757324 -214.999557 -1.000034 188 188 188 +v 148.757385 -214.999557 -1.000034 188 188 188 +v 150.119354 -214.672562 -1.000034 188 188 188 +v 149.684448 -214.852737 -1.000034 188 188 188 +v 150.878723 -214.120865 0.999961 188 188 188 +v 150.878723 -214.120865 -1.000033 188 188 188 +v 150.520752 -214.426590 0.999961 188 188 188 +v 150.119354 -214.672562 0.999961 188 188 188 +v 149.684448 -214.852737 0.999961 188 188 188 +v 150.520752 -214.426590 -1.000034 188 188 188 +v 149.226685 -214.962631 0.999961 188 188 188 +v 149.226685 -214.962631 -1.000034 188 188 188 +v -148.757324 -214.999557 0.999961 188 188 188 +v -150.878647 -214.120865 -1.000033 188 188 188 +v 159.479309 -205.572525 0.999964 188 188 188 +v -149.684387 -214.852737 0.999961 188 188 188 +v -150.119308 -214.672562 -1.000034 188 188 188 +v -150.520676 -214.426590 0.999961 188 188 188 +v -150.878647 -214.120865 0.999961 188 188 188 +v -159.121292 -205.878250 0.999964 188 188 188 +v -150.119308 -214.672562 0.999961 188 188 188 +v -149.226639 -214.962631 0.999961 188 188 188 +v 148.757385 -214.999557 0.999961 188 188 188 +v 159.121338 -205.878250 0.999964 188 188 188 +v 159.121338 -205.878250 -1.000032 188 188 188 +v 159.880707 -205.326553 0.999964 188 188 188 +v 160.315613 -205.146408 0.999964 188 188 188 +v 160.315613 -205.146408 -1.000032 188 188 188 +v -159.880630 -205.326553 -1.000032 188 188 188 +v -160.773300 -205.036514 -1.000032 188 188 188 +v -161.242599 -204.999588 0.999964 188 188 188 +v -199.999969 -204.999588 0.999964 188 188 188 +v -202.938904 -204.044662 -1.000032 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -203.535492 -203.535110 -1.000032 188 188 188 +v -204.045059 -202.938492 -1.000031 188 188 188 +v -204.755249 -201.544662 -1.000031 188 188 188 +v -204.938416 -200.781754 0.999965 188 188 188 +v -204.938416 -200.781754 -1.000031 188 188 188 +v -204.999969 -199.999588 0.999965 188 188 188 +v -204.999969 199.999573 1.000033 188 188 188 +v -201.545059 204.754852 1.000034 188 188 188 +v -201.545059 204.754852 -0.999961 188 188 188 +v -204.045059 202.938492 -0.999962 188 188 188 +v -204.455002 202.269516 -0.999962 188 188 188 +v -204.938416 200.781754 1.000033 188 188 188 +v -204.755249 201.544662 1.000033 188 188 188 +v -202.269928 204.454590 1.000034 188 188 188 +v -203.535492 203.535110 1.000033 188 188 188 +v -203.535492 203.535110 -0.999961 188 188 188 +v -204.045059 202.938492 1.000033 188 188 188 +v -204.455002 202.269516 1.000033 188 188 188 +v -204.755249 201.544662 -0.999962 188 188 188 +v -204.938416 200.781754 -0.999962 188 188 188 +v -202.938904 204.044647 1.000034 188 188 188 +v -202.938904 204.044647 -0.999961 188 188 188 +v -202.269928 204.454590 -0.999961 188 188 188 +v -200.782135 204.938004 1.000034 188 188 188 +v -201.545059 -204.754868 0.999964 188 188 188 +v -199.999969 -204.999588 -1.000032 188 188 188 +v -200.782135 -204.938034 0.999964 188 188 188 +v -200.782135 -204.938034 -1.000032 188 188 188 +v -202.269928 -204.454605 -1.000032 188 188 188 +v -203.535492 -203.535110 0.999964 188 188 188 +v -204.455002 -202.269516 0.999964 188 188 188 +v -204.755249 -201.544662 0.999965 188 188 188 +v -204.045059 -202.938492 0.999964 188 188 188 +v -204.455002 -202.269516 -1.000031 188 188 188 +v -202.938904 -204.044662 0.999964 188 188 188 +v -201.545059 -204.754868 -1.000032 188 188 188 +v -202.269928 -204.454605 0.999964 188 188 188 +v -199.999969 204.999557 1.000034 188 188 188 + +v 200.000031 204.999557 1.000034 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v -199.999969 204.999557 1.000034 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v -200.782135 204.938004 -0.999961 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v -204.999969 199.999573 -0.999962 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v -204.999969 -199.999588 -1.000031 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v -160.773300 -205.036514 -1.000032 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v -160.315567 -205.146408 -1.000032 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v -159.880630 -205.326553 -1.000032 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v -159.479263 -205.572525 -1.000032 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v -159.121292 -205.878250 -1.000032 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v 159.479309 -205.572525 -1.000032 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v 159.880707 -205.326553 -1.000032 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v 160.315613 -205.146408 -1.000032 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v 160.315613 -205.146408 -1.000032 188 188 188 +v 160.773376 -205.036514 -1.000032 188 188 188 +v 160.773376 -205.036514 0.999964 188 188 188 +v 160.773376 -205.036514 -1.000032 188 188 188 +v 161.242676 -204.999588 0.999964 188 188 188 +v 160.773376 -205.036514 -1.000032 188 188 188 +v 161.242676 -204.999588 0.999964 188 188 188 +v 161.242676 -204.999588 -1.000032 188 188 188 +v 200.000031 -204.999588 -1.000032 188 188 188 +v 161.242676 -204.999588 -1.000032 188 188 188 +v 200.000031 -204.999588 -1.000032 188 188 188 +v 205.000031 -199.999588 -1.000031 188 188 188 +v 200.782196 -204.938034 -1.000032 188 188 188 +v 205.000031 -199.999588 -1.000031 188 188 188 +v 201.545105 -204.754868 -1.000032 188 188 188 +v 205.000031 -199.999588 -1.000031 188 188 188 +v 202.269989 -204.454605 -1.000032 188 188 188 +v 205.000031 -199.999588 -1.000031 188 188 188 +v 202.938965 -204.044662 -1.000032 188 188 188 +v 205.000031 -199.999588 -1.000031 188 188 188 +v 203.535553 -203.535110 -1.000032 188 188 188 +v 205.000031 -199.999588 -1.000031 188 188 188 +v 204.938477 -200.781754 -1.000031 188 188 188 +v 205.000031 -199.999588 -1.000031 188 188 188 +v 204.938477 -200.781754 0.999965 188 188 188 +v 205.000031 -199.999588 -1.000031 188 188 188 +v 205.000031 -199.999588 0.999965 188 188 188 +v 205.000031 -199.999588 -1.000031 188 188 188 +v 205.000031 -199.999588 0.999965 188 188 188 +v 205.000031 199.999573 -0.999962 188 188 188 +v 205.000031 199.999573 1.000033 188 188 188 +v 205.000031 199.999573 -0.999962 188 188 188 +v 205.000031 199.999573 1.000033 188 188 188 +v 204.938477 200.781754 -0.999962 188 188 188 +v 204.938477 200.781754 1.000033 188 188 188 +v 204.938477 200.781754 -0.999962 188 188 188 +v 204.938477 200.781754 1.000033 188 188 188 +v 204.755310 201.544662 -0.999962 188 188 188 +v 204.755310 201.544662 1.000033 188 188 188 +v 204.755310 201.544662 -0.999962 188 188 188 +v 204.755310 201.544662 1.000033 188 188 188 +v 204.455048 202.269516 -0.999962 188 188 188 +v 204.455048 202.269516 1.000033 188 188 188 +v 204.455048 202.269516 -0.999962 188 188 188 +v 204.455048 202.269516 1.000033 188 188 188 +v 204.045105 202.938492 -0.999962 188 188 188 +v 204.045105 202.938492 1.000033 188 188 188 +v 204.045105 202.938492 -0.999962 188 188 188 +v 204.045105 202.938492 1.000033 188 188 188 +v 203.535553 203.535110 -0.999961 188 188 188 +v 203.535553 203.535110 1.000033 188 188 188 +v 203.535553 203.535110 -0.999961 188 188 188 +v 203.535553 203.535110 1.000033 188 188 188 +v 202.938965 204.044647 -0.999961 188 188 188 +v 202.938965 204.044647 1.000034 188 188 188 +v 202.938965 204.044647 -0.999961 188 188 188 +v 202.938965 204.044647 1.000034 188 188 188 +v 202.269989 204.454590 -0.999961 188 188 188 +v 202.269989 204.454590 1.000034 188 188 188 +v 202.269989 204.454590 -0.999961 188 188 188 +v 202.269989 204.454590 1.000034 188 188 188 +v 201.545105 204.754852 -0.999961 188 188 188 +v 201.545105 204.754852 1.000034 188 188 188 +v 201.545105 204.754852 -0.999961 188 188 188 +v 201.545105 204.754852 1.000034 188 188 188 +v 200.782196 204.938004 -0.999961 188 188 188 +v 200.782196 204.938004 1.000034 188 188 188 +v 200.782196 204.938004 -0.999961 188 188 188 +v 200.000031 204.999557 -0.999961 188 188 188 +v 200.782196 204.938004 -0.999961 188 188 188 +v 203.535553 203.535110 -0.999961 188 188 188 +v 200.000031 204.999557 -0.999961 188 188 188 +v 201.545105 204.754852 -0.999961 188 188 188 +v 203.535553 203.535110 -0.999961 188 188 188 +v 200.782196 204.938004 -0.999961 188 188 188 +v 202.269989 204.454590 -0.999961 188 188 188 +v 202.938965 204.044647 -0.999961 188 188 188 +v 201.545105 204.754852 -0.999961 188 188 188 +v 202.938965 204.044647 -0.999961 188 188 188 +v 203.535553 203.535110 -0.999961 188 188 188 +v 201.545105 204.754852 -0.999961 188 188 188 +v 203.535553 203.535110 -0.999961 188 188 188 +v 204.045105 202.938492 -0.999962 188 188 188 +v 200.000031 204.999557 -0.999961 188 188 188 +v 204.045105 202.938492 -0.999962 188 188 188 +v 204.455048 202.269516 -0.999962 188 188 188 +v 200.000031 204.999557 -0.999961 188 188 188 +v 204.455048 202.269516 -0.999962 188 188 188 +v 204.755310 201.544662 -0.999962 188 188 188 +v 200.000031 204.999557 -0.999961 188 188 188 +v 204.755310 201.544662 -0.999962 188 188 188 +v 204.938477 200.781754 -0.999962 188 188 188 +v 200.000031 204.999557 -0.999961 188 188 188 +v 204.938477 200.781754 -0.999962 188 188 188 +v 205.000031 199.999573 -0.999962 188 188 188 +v 200.000031 204.999557 -0.999961 188 188 188 +v 205.000031 199.999573 -0.999962 188 188 188 +v 161.242676 -204.999588 -1.000032 188 188 188 +v 200.000031 204.999557 -0.999961 188 188 188 +v 204.755310 -201.544662 0.999965 188 188 188 +v 204.755310 -201.544662 -1.000031 188 188 188 +v 204.938477 -200.781754 -1.000031 188 188 188 +v 204.455048 -202.269516 0.999964 188 188 188 +v 204.755310 -201.544662 -1.000031 188 188 188 +v 204.455048 -202.269516 -1.000031 188 188 188 +v 204.755310 -201.544662 -1.000031 188 188 188 +v 204.045105 -202.938492 -1.000031 188 188 188 +v 203.535553 -203.535110 -1.000032 188 188 188 +v 204.755310 -201.544662 -1.000031 188 188 188 +v 203.535553 -203.535110 -1.000032 188 188 188 +v 204.045105 -202.938492 -1.000031 188 188 188 +v 203.535553 -203.535110 0.999964 188 188 188 +v 204.045105 -202.938492 -1.000031 188 188 188 +v 202.938965 -204.044662 -1.000032 188 188 188 +v 202.269989 -204.454605 0.999964 188 188 188 +v 202.269989 -204.454605 -1.000032 188 188 188 +v 201.545105 -204.754868 0.999964 188 188 188 +v 201.545105 -204.754868 -1.000032 188 188 188 +v 200.782196 -204.938034 0.999964 188 188 188 +v 200.782196 -204.938034 -1.000032 188 188 188 +v 203.535553 -203.535110 0.999964 188 188 188 +v 202.938965 -204.044662 0.999964 188 188 188 +v 203.535553 -203.535110 -1.000032 188 188 188 +v 204.045105 -202.938492 0.999964 188 188 188 +v 204.045105 -202.938492 -1.000031 188 188 188 +v 204.455048 -202.269516 -1.000031 188 188 188 +v 204.455048 -202.269516 0.999964 188 188 188 +v 204.045105 -202.938492 0.999964 188 188 188 +v 204.455048 -202.269516 -1.000031 188 188 188 +v 204.938477 -200.781754 0.999965 188 188 188 +v 204.755310 -201.544662 0.999965 188 188 188 +v 204.938477 -200.781754 -1.000031 188 188 188 +v 204.755310 -201.544662 -1.000031 188 188 188 +v 203.535553 -203.535110 -1.000032 188 188 188 +v 204.938477 -200.781754 -1.000031 188 188 188 +v 202.938965 -204.044662 0.999964 188 188 188 +v 202.938965 -204.044662 -1.000032 188 188 188 +v 203.535553 -203.535110 -1.000032 188 188 188 +v 202.269989 -204.454605 0.999964 188 188 188 +v 202.269989 -204.454605 -1.000032 188 188 188 +v 202.938965 -204.044662 -1.000032 188 188 188 +v 201.545105 -204.754868 0.999964 188 188 188 +v 201.545105 -204.754868 -1.000032 188 188 188 +v 202.269989 -204.454605 -1.000032 188 188 188 +v 200.782196 -204.938034 0.999964 188 188 188 +v 200.782196 -204.938034 -1.000032 188 188 188 +v 201.545105 -204.754868 -1.000032 188 188 188 +v 200.000031 -204.999588 0.999964 188 188 188 +v 200.000031 -204.999588 -1.000032 188 188 188 +v 200.782196 -204.938034 -1.000032 188 188 188 +v 205.000031 -199.999588 -1.000031 188 188 188 +v 161.242676 -204.999588 -1.000032 188 188 188 +v 205.000031 199.999573 -0.999962 188 188 188 +v 200.000031 -204.999588 0.999964 188 188 188 +v 161.242676 -204.999588 0.999964 188 188 188 +v 200.000031 -204.999588 -1.000032 188 188 188 +v 161.242676 -204.999588 -1.000032 188 188 188 +v 160.773376 -205.036514 -1.000032 188 188 188 +v 200.000031 204.999557 -0.999961 188 188 188 +v -160.773300 -205.036514 -1.000032 188 188 188 +v -160.315567 -205.146408 0.999964 188 188 188 +v -160.315567 -205.146408 -1.000032 188 188 188 +v -159.880630 -205.326553 0.999964 188 188 188 +v -159.880630 -205.326553 -1.000032 188 188 188 +v -159.479263 -205.572525 0.999964 188 188 188 +v -159.479263 -205.572525 -1.000032 188 188 188 +v -159.121292 -205.878250 0.999964 188 188 188 +v -150.878647 -214.120865 0.999961 188 188 188 +v -150.878647 -214.120865 -1.000033 188 188 188 +v -150.520676 -214.426590 -1.000034 188 188 188 +v -150.878647 -214.120865 -1.000033 188 188 188 +v -150.119308 -214.672562 -1.000034 188 188 188 +v -150.878647 -214.120865 -1.000033 188 188 188 +v -149.684387 -214.852737 -1.000034 188 188 188 +v -150.878647 -214.120865 -1.000033 188 188 188 +v -149.226639 -214.962631 -1.000034 188 188 188 +v -150.878647 -214.120865 -1.000033 188 188 188 +v -148.757324 -214.999557 -1.000034 188 188 188 +v -150.878647 -214.120865 -1.000033 188 188 188 +v -148.757324 -214.999557 -1.000034 188 188 188 +v 159.121338 -205.878250 -1.000032 188 188 188 +v 148.757385 -214.999557 -1.000034 188 188 188 +v 159.121338 -205.878250 -1.000032 188 188 188 +v 149.226685 -214.962631 -1.000034 188 188 188 +v 159.121338 -205.878250 -1.000032 188 188 188 +v 149.684448 -214.852737 -1.000034 188 188 188 +v 159.121338 -205.878250 -1.000032 188 188 188 +v 150.119354 -214.672562 -1.000034 188 188 188 +v 159.121338 -205.878250 -1.000032 188 188 188 +v 150.878723 -214.120865 -1.000033 188 188 188 +v 159.121338 -205.878250 -1.000032 188 188 188 +v 150.878723 -214.120865 0.999961 188 188 188 +v 150.878723 -214.120865 -1.000033 188 188 188 +v 150.520752 -214.426590 0.999961 188 188 188 +v 150.878723 -214.120865 -1.000033 188 188 188 +v 150.520752 -214.426590 0.999961 188 188 188 +v 150.520752 -214.426590 -1.000034 188 188 188 +v 150.119354 -214.672562 0.999961 188 188 188 +v 150.119354 -214.672562 -1.000034 188 188 188 +v 150.520752 -214.426590 -1.000034 188 188 188 +v 150.119354 -214.672562 0.999961 188 188 188 +v 150.119354 -214.672562 -1.000034 188 188 188 +v 149.684448 -214.852737 0.999961 188 188 188 +v 149.684448 -214.852737 -1.000034 188 188 188 +v 150.520752 -214.426590 -1.000034 188 188 188 +v 150.119354 -214.672562 -1.000034 188 188 188 +v 150.878723 -214.120865 -1.000033 188 188 188 +v 149.684448 -214.852737 0.999961 188 188 188 +v 149.684448 -214.852737 -1.000034 188 188 188 +v 150.119354 -214.672562 -1.000034 188 188 188 +v 149.226685 -214.962631 0.999961 188 188 188 +v 149.226685 -214.962631 -1.000034 188 188 188 +v 149.684448 -214.852737 -1.000034 188 188 188 +v 149.226685 -214.962631 0.999961 188 188 188 +v 149.226685 -214.962631 -1.000034 188 188 188 +v 148.757385 -214.999557 0.999961 188 188 188 +v 148.757385 -214.999557 -1.000034 188 188 188 +v 149.226685 -214.962631 -1.000034 188 188 188 +v 148.757385 -214.999557 -1.000034 188 188 188 +v -148.757324 -214.999557 -1.000034 188 188 188 +v 159.121338 -205.878250 -1.000032 188 188 188 +v -150.878647 -214.120865 -1.000033 188 188 188 +v 159.479309 -205.572525 -1.000032 188 188 188 +v 159.121338 -205.878250 -1.000032 188 188 188 +v 159.479309 -205.572525 -1.000032 188 188 188 +v -148.757324 -214.999557 -1.000034 188 188 188 +v -149.226639 -214.962631 -1.000034 188 188 188 +v -149.226639 -214.962631 -1.000034 188 188 188 +v -149.684387 -214.852737 -1.000034 188 188 188 +v -149.684387 -214.852737 -1.000034 188 188 188 +v -150.119308 -214.672562 -1.000034 188 188 188 +v -150.119308 -214.672562 0.999961 188 188 188 +v -150.119308 -214.672562 -1.000034 188 188 188 +v -150.119308 -214.672562 -1.000034 188 188 188 +v -150.520676 -214.426590 0.999961 188 188 188 +v -150.520676 -214.426590 -1.000034 188 188 188 +v -150.520676 -214.426590 0.999961 188 188 188 +v -150.878647 -214.120865 0.999961 188 188 188 +v -150.520676 -214.426590 -1.000034 188 188 188 +v -150.878647 -214.120865 -1.000033 188 188 188 +v -159.121292 -205.878250 0.999964 188 188 188 +v -159.121292 -205.878250 -1.000032 188 188 188 +v -149.684387 -214.852737 0.999961 188 188 188 +v -150.119308 -214.672562 0.999961 188 188 188 +v -149.684387 -214.852737 -1.000034 188 188 188 +v -149.226639 -214.962631 0.999961 188 188 188 +v -149.684387 -214.852737 0.999961 188 188 188 +v -149.226639 -214.962631 -1.000034 188 188 188 +v -148.757324 -214.999557 0.999961 188 188 188 +v -149.226639 -214.962631 0.999961 188 188 188 +v -148.757324 -214.999557 -1.000034 188 188 188 +v 148.757385 -214.999557 0.999961 188 188 188 +v -148.757324 -214.999557 0.999961 188 188 188 +v 148.757385 -214.999557 -1.000034 188 188 188 +v 150.878723 -214.120865 0.999961 188 188 188 +v 159.121338 -205.878250 -1.000032 188 188 188 +v 159.479309 -205.572525 0.999964 188 188 188 +v 159.121338 -205.878250 0.999964 188 188 188 +v 159.121338 -205.878250 -1.000032 188 188 188 +v 159.479309 -205.572525 0.999964 188 188 188 +v 159.479309 -205.572525 -1.000032 188 188 188 +v 159.880707 -205.326553 0.999964 188 188 188 +v 159.880707 -205.326553 -1.000032 188 188 188 +v 160.773376 -205.036514 0.999964 188 188 188 +v 160.315613 -205.146408 0.999964 188 188 188 +v 160.315613 -205.146408 -1.000032 188 188 188 +v 160.315613 -205.146408 0.999964 188 188 188 +v 159.880707 -205.326553 -1.000032 188 188 188 +v 160.315613 -205.146408 -1.000032 188 188 188 +v 159.880707 -205.326553 0.999964 188 188 188 +v 159.479309 -205.572525 -1.000032 188 188 188 +v 159.880707 -205.326553 -1.000032 188 188 188 +v -150.878647 -214.120865 -1.000033 188 188 188 +v -159.121292 -205.878250 -1.000032 188 188 188 +v 159.479309 -205.572525 -1.000032 188 188 188 +v -159.121292 -205.878250 -1.000032 188 188 188 +v -159.121292 -205.878250 0.999964 188 188 188 +v -159.479263 -205.572525 -1.000032 188 188 188 +v -159.479263 -205.572525 -1.000032 188 188 188 +v -159.479263 -205.572525 0.999964 188 188 188 +v -159.880630 -205.326553 -1.000032 188 188 188 +v -159.880630 -205.326553 -1.000032 188 188 188 +v -159.880630 -205.326553 0.999964 188 188 188 +v -160.315567 -205.146408 -1.000032 188 188 188 +v -160.315567 -205.146408 -1.000032 188 188 188 +v -160.315567 -205.146408 0.999964 188 188 188 +v -160.773300 -205.036514 -1.000032 188 188 188 +v -160.773300 -205.036514 -1.000032 188 188 188 +v -160.773300 -205.036514 0.999964 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -160.773300 -205.036514 0.999964 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -161.242599 -204.999588 0.999964 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -199.999969 -204.999588 0.999964 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -199.999969 -204.999588 -1.000032 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -201.545059 -204.754868 -1.000032 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -202.269928 -204.454605 -1.000032 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -202.938904 -204.044662 -1.000032 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -203.535492 -203.535110 -1.000032 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -204.045059 -202.938492 -1.000031 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -204.455002 -202.269516 -1.000031 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -204.755249 -201.544662 -1.000031 188 188 188 +v -204.755249 -201.544662 -1.000031 188 188 188 +v -204.938416 -200.781754 -1.000031 188 188 188 +v -204.938416 -200.781754 0.999965 188 188 188 +v -204.938416 -200.781754 -1.000031 188 188 188 +v -204.938416 -200.781754 -1.000031 188 188 188 +v -204.999969 -199.999588 0.999965 188 188 188 +v -204.999969 -199.999588 -1.000031 188 188 188 +v -204.999969 -199.999588 0.999965 188 188 188 +v -204.999969 -199.999588 -1.000031 188 188 188 +v -201.545059 204.754852 1.000034 188 188 188 +v -201.545059 204.754852 -0.999961 188 188 188 +v -202.269928 204.454590 -0.999961 188 188 188 +v -201.545059 204.754852 -0.999961 188 188 188 +v -202.938904 204.044647 -0.999961 188 188 188 +v -201.545059 204.754852 -0.999961 188 188 188 +v -203.535492 203.535110 -0.999961 188 188 188 +v -201.545059 204.754852 -0.999961 188 188 188 +v -204.045059 202.938492 -0.999962 188 188 188 +v -201.545059 204.754852 -0.999961 188 188 188 +v -204.455002 202.269516 -0.999962 188 188 188 +v -201.545059 204.754852 -0.999961 188 188 188 +v -204.755249 201.544662 -0.999962 188 188 188 +v -201.545059 204.754852 -0.999961 188 188 188 +v -204.999969 199.999573 -0.999962 188 188 188 +v -204.938416 200.781754 -0.999962 188 188 188 +v -201.545059 204.754852 -0.999961 188 188 188 +v -204.999969 199.999573 -0.999962 188 188 188 +v -204.938416 200.781754 -0.999962 188 188 188 +v -204.938416 200.781754 1.000033 188 188 188 +v -204.938416 200.781754 -0.999962 188 188 188 +v -202.938904 204.044647 -0.999961 188 188 188 +v -202.938904 204.044647 1.000034 188 188 188 +v -203.535492 203.535110 -0.999961 188 188 188 +v -203.535492 203.535110 1.000033 188 188 188 +v -204.045059 202.938492 -0.999962 188 188 188 +v -204.045059 202.938492 1.000033 188 188 188 +v -204.455002 202.269516 -0.999962 188 188 188 +v -204.755249 201.544662 1.000033 188 188 188 +v -204.455002 202.269516 1.000033 188 188 188 +v -204.755249 201.544662 -0.999962 188 188 188 +v -204.999969 199.999573 1.000033 188 188 188 +v -204.938416 200.781754 1.000033 188 188 188 +v -204.999969 199.999573 -0.999962 188 188 188 +v -204.938416 200.781754 -0.999962 188 188 188 +v -204.755249 201.544662 1.000033 188 188 188 +v -204.755249 201.544662 -0.999962 188 188 188 +v -204.755249 201.544662 -0.999962 188 188 188 +v -204.455002 202.269516 1.000033 188 188 188 +v -204.455002 202.269516 -0.999962 188 188 188 +v -204.455002 202.269516 -0.999962 188 188 188 +v -204.045059 202.938492 1.000033 188 188 188 +v -204.045059 202.938492 -0.999962 188 188 188 +v -204.045059 202.938492 -0.999962 188 188 188 +v -203.535492 203.535110 1.000033 188 188 188 +v -203.535492 203.535110 -0.999961 188 188 188 +v -203.535492 203.535110 -0.999961 188 188 188 +v -202.938904 204.044647 1.000034 188 188 188 +v -202.938904 204.044647 -0.999961 188 188 188 +v -202.938904 204.044647 -0.999961 188 188 188 +v -202.269928 204.454590 1.000034 188 188 188 +v -202.269928 204.454590 -0.999961 188 188 188 +v -202.269928 204.454590 1.000034 188 188 188 +v -201.545059 204.754852 1.000034 188 188 188 +v -202.269928 204.454590 -0.999961 188 188 188 +v -201.545059 204.754852 -0.999961 188 188 188 +v -200.782135 204.938004 1.000034 188 188 188 +v -200.782135 204.938004 -0.999961 188 188 188 +v -199.999969 -204.999588 -1.000032 188 188 188 +v -200.782135 -204.938034 0.999964 188 188 188 +v -200.782135 -204.938034 -1.000032 188 188 188 +v -200.782135 -204.938034 -1.000032 188 188 188 +v -201.545059 -204.754868 0.999964 188 188 188 +v -201.545059 -204.754868 -1.000032 188 188 188 +v -201.545059 -204.754868 0.999964 188 188 188 +v -201.545059 -204.754868 -1.000032 188 188 188 +v -202.269928 -204.454605 0.999964 188 188 188 +v -202.269928 -204.454605 -1.000032 188 188 188 +v -202.938904 -204.044662 0.999964 188 188 188 +v -202.938904 -204.044662 -1.000032 188 188 188 +v -204.455002 -202.269516 -1.000031 188 188 188 +v -204.455002 -202.269516 0.999964 188 188 188 +v -204.045059 -202.938492 -1.000031 188 188 188 +v -203.535492 -203.535110 0.999964 188 188 188 +v -204.045059 -202.938492 0.999964 188 188 188 +v -203.535492 -203.535110 -1.000032 188 188 188 +v -204.755249 -201.544662 0.999965 188 188 188 +v -204.938416 -200.781754 0.999965 188 188 188 +v -204.755249 -201.544662 -1.000031 188 188 188 +v -204.455002 -202.269516 -1.000031 188 188 188 +v -204.755249 -201.544662 0.999965 188 188 188 +v -204.755249 -201.544662 -1.000031 188 188 188 +v -204.045059 -202.938492 -1.000031 188 188 188 +v -204.455002 -202.269516 0.999964 188 188 188 +v -204.455002 -202.269516 -1.000031 188 188 188 +v -203.535492 -203.535110 -1.000032 188 188 188 +v -204.045059 -202.938492 0.999964 188 188 188 +v -204.045059 -202.938492 -1.000031 188 188 188 +v -202.938904 -204.044662 -1.000032 188 188 188 +v -203.535492 -203.535110 0.999964 188 188 188 +v -203.535492 -203.535110 -1.000032 188 188 188 +v -202.269928 -204.454605 -1.000032 188 188 188 +v -202.938904 -204.044662 0.999964 188 188 188 +v -202.938904 -204.044662 -1.000032 188 188 188 +v -201.545059 -204.754868 -1.000032 188 188 188 +v -202.269928 -204.454605 0.999964 188 188 188 +v -202.269928 -204.454605 -1.000032 188 188 188 +v -199.999969 -204.999588 -1.000032 188 188 188 +v -200.782135 -204.938034 -1.000032 188 188 188 +v -201.545059 -204.754868 -1.000032 188 188 188 +v -199.999969 -204.999588 0.999964 188 188 188 +v -200.782135 -204.938034 0.999964 188 188 188 +v -199.999969 -204.999588 -1.000032 188 188 188 +v -161.242599 -204.999588 -1.000032 188 188 188 +v -204.938416 -200.781754 -1.000031 188 188 188 +v -204.999969 -199.999588 -1.000031 188 188 188 +v -204.999969 -199.999588 -1.000031 188 188 188 +v -204.999969 199.999573 1.000033 188 188 188 +v -204.999969 199.999573 -0.999962 188 188 188 +v -204.999969 199.999573 -0.999962 188 188 188 +v -201.545059 204.754852 -0.999961 188 188 188 +v -200.782135 204.938004 -0.999961 188 188 188 +v -200.782135 204.938004 1.000034 188 188 188 +v -199.999969 204.999557 1.000034 188 188 188 +v -200.782135 204.938004 -0.999961 188 188 188 +v 200.000031 204.999557 -0.999961 188 188 188 +v 160.773376 -205.036514 -1.000032 188 188 188 +v -199.999969 204.999557 -0.999961 188 188 188 +v 200.000031 204.999557 1.000034 188 188 188 +v 200.782196 204.938004 1.000034 188 188 188 +v 200.000031 204.999557 -0.999961 188 188 188 + +f 1 36 9 +f 136 137 138 +f 2 139 140 +f 3 141 142 +f 4 143 144 +f 98 145 146 +f 94 147 148 +f 5 149 150 +f 93 151 152 +f 61 153 154 +f 6 155 156 +f 8 157 158 +f 7 159 160 +f 92 161 162 +f 56 163 164 +f 10 165 166 +f 11 167 168 +f 169 170 39 +f 13 171 172 +f 173 174 12 +f 55 175 176 +f 51 177 178 +f 15 179 180 +f 14 181 182 +f 43 183 184 +f 54 185 186 +f 16 187 188 +f 18 189 190 +f 191 192 19 +f 17 193 194 +f 195 196 20 +f 22 197 198 +f 199 200 38 +f 21 201 202 +f 203 204 24 +f 23 205 206 +f 207 208 25 +f 26 209 210 +f 211 212 28 +f 27 213 214 +f 215 216 30 +f 29 217 218 +f 219 220 31 +f 33 221 222 +f 223 224 34 +f 32 225 226 +f 227 228 37 +f 35 229 230 +f 231 232 233 +f 234 235 236 +f 237 238 239 +f 240 241 242 +f 243 244 245 +f 246 247 248 +f 249 250 251 +f 252 253 254 +f 255 256 257 +f 258 259 260 +f 261 262 263 +f 40 41 42 +f 264 265 266 +f 267 53 268 +f 269 45 270 +f 271 272 273 +f 44 274 275 +f 46 276 277 +f 47 48 278 +f 279 49 280 +f 281 50 282 +f 283 52 284 +f 285 286 287 +f 288 289 290 +f 291 292 293 +f 294 295 296 +f 297 298 299 +f 300 301 302 +f 303 304 305 +f 306 307 308 +f 309 310 311 +f 312 313 314 +f 315 316 317 +f 318 319 320 +f 321 322 323 +f 57 58 324 +f 59 325 326 +f 60 327 328 +f 84 329 330 +f 83 331 78 +f 62 332 333 +f 81 334 335 +f 64 336 337 +f 63 338 339 +f 65 340 341 +f 342 343 89 +f 66 344 345 +f 76 346 347 +f 68 348 349 +f 67 350 351 +f 70 352 353 +f 69 354 355 +f 356 71 357 +f 358 74 359 +f 360 72 361 +f 362 363 364 +f 365 73 366 +f 367 75 368 +f 369 370 371 +f 372 373 374 +f 375 376 377 +f 378 87 379 +f 380 381 382 +f 383 77 384 +f 385 386 387 +f 79 388 389 +f 390 86 391 +f 392 80 393 +f 394 85 395 +f 396 82 397 +f 398 399 400 +f 401 402 403 +f 404 405 406 +f 407 408 409 +f 410 411 412 +f 413 414 415 +f 416 417 418 +f 88 419 420 +f 421 422 423 +f 90 424 425 +f 91 426 427 +f 428 429 430 +f 431 432 433 +f 434 435 436 +f 437 438 439 +f 440 441 442 +f 443 444 445 +f 446 447 448 +f 449 450 451 +f 452 453 454 +f 455 95 456 +f 457 96 458 +f 459 460 124 +f 461 462 134 +f 463 464 127 +f 465 466 97 +f 467 468 99 +f 469 470 100 +f 471 472 132 +f 473 474 101 +f 475 476 103 +f 477 102 478 +f 479 104 480 +f 481 482 483 +f 484 105 485 +f 106 122 107 +f 121 486 487 +f 120 488 489 +f 114 490 491 +f 108 492 493 +f 109 494 495 +f 117 496 497 +f 118 498 499 +f 500 501 502 +f 503 110 504 +f 505 111 506 +f 119 112 507 +f 113 508 509 +f 115 510 511 +f 116 512 513 +f 514 515 516 +f 517 518 519 +f 520 521 522 +f 523 524 525 +f 526 527 528 +f 529 530 531 +f 532 533 534 +f 535 536 537 +f 538 539 540 +f 541 542 543 +f 125 123 126 +f 544 545 546 +f 547 548 549 +f 550 135 551 +f 552 133 553 +f 554 128 555 +f 129 130 556 +f 131 557 558 +f 559 560 561 +f 562 563 564 +f 565 566 567 +f 568 569 570 +f 571 572 573 +f 574 575 576 +f 577 578 579 +f 580 581 582 +f 583 584 585 +f 586 587 588 +f 589 590 591 +f 592 593 594 +f 595 596 597 +f 598 599 600 +f 601 602 603 +f 604 605 606 + +vt 0.106310 0.023379 +vt 0.973522 0.985541 +vt 0.012019 0.985541 +vt 0.107410 0.023121 +vt 0.108456 0.022698 +vt 0.109421 0.022121 +vt 0.875260 0.021403 +vt 0.876120 0.022121 +vt 0.877085 0.022698 +vt 0.878130 0.023121 +vt 0.879231 0.023379 +vt 0.880359 0.023465 +vt 0.985541 0.035198 +vt 0.985541 0.973808 +vt 0.985393 0.975644 +vt 0.984953 0.977434 +vt 0.984231 0.979135 +vt 0.983246 0.980705 +vt 0.982021 0.982105 +vt 0.975402 0.985397 +vt 0.977236 0.984967 +vt 0.980587 0.983300 +vt 0.978979 0.984262 +vt 0.985393 0.033363 +vt 0.984953 0.031572 +vt 0.984231 0.029871 +vt 0.983246 0.028302 +vt 0.982021 0.026902 +vt 0.980587 0.025706 +vt 0.978979 0.024744 +vt 0.977236 0.024040 +vt 0.973522 0.023465 +vt 0.975402 0.023610 +vt 0.855446 0.002062 +vt 0.110281 0.021403 +vt 0.850347 0.000000 +vt 0.851475 0.000087 +vt 0.852576 0.000345 +vt 0.853621 0.000767 +vt 0.854586 0.001345 +vt 0.135194 0.000000 +vt 0.134066 0.000087 +vt 0.132965 0.000345 +vt 0.131920 0.000767 +vt 0.130095 0.002062 +vt 0.130955 0.001345 +vt 0.105182 0.023465 +vt -0.000000 0.973808 +vt -0.000000 0.035198 +vt 0.012019 0.023465 +vt 0.010139 0.023610 +vt 0.008305 0.024040 +vt 0.006562 0.024744 +vt 0.004954 0.025706 +vt 0.003520 0.026902 +vt 0.000148 0.033363 +vt 0.000588 0.031572 +vt 0.001310 0.029871 +vt 0.002295 0.028302 +vt 0.010139 0.985397 +vt 0.008305 0.984967 +vt 0.000148 0.975644 +vt 0.000588 0.977434 +vt 0.006562 0.984262 +vt 0.004954 0.983300 +vt 0.003520 0.982105 +vt 0.002295 0.980705 +vt 0.001310 0.979135 + +usemtl Mat_0 +f 27/19 32/21 35/20 +f 27/19 35/20 1/2 +f 29/22 33/23 32/21 +f 27/19 29/22 32/21 +f 26/18 27/19 1/2 +f 23/17 26/18 1/2 +f 21/16 23/17 1/2 +f 22/15 21/16 1/2 +f 17/14 22/15 1/2 +f 18/13 17/14 1/2 +f 11/12 18/13 1/2 +f 11/12 16/24 18/13 +f 11/12 40/25 16/24 +f 11/12 41/26 40/25 +f 11/12 44/28 46/27 +f 11/12 47/29 44/28 +f 11/12 48/30 47/29 +f 11/12 49/31 48/30 +f 11/12 52/32 49/31 +f 52/32 50/33 49/31 +f 11/12 46/27 41/26 +f 10/11 11/12 1/2 +f 91/10 10/11 1/2 +f 90/9 91/10 1/2 +f 79/8 90/9 1/2 +f 88/7 79/8 1/2 +f 60/6 88/7 1/2 +f 59/5 60/6 1/2 +f 57/4 59/5 1/2 +f 58/1 57/4 1/2 +f 69/34 88/7 60/6 +f 84/35 69/34 60/6 +f 87/36 69/34 84/35 +f 77/41 87/36 84/35 +f 86/42 77/41 84/35 +f 80/43 86/42 84/35 +f 85/44 80/43 84/35 +f 83/45 85/44 84/35 +f 73/38 72/39 69/34 +f 75/37 73/38 69/34 +f 72/39 71/40 69/34 +f 82/46 85/44 83/45 +f 87/36 75/37 69/34 +f 104/49 95/47 105/48 +f 105/48 95/47 136/3 +f 122/60 105/48 136/3 +f 106/61 105/48 122/60 +f 111/63 110/62 106/61 +f 112/64 111/63 106/61 +f 119/65 111/63 112/64 +f 113/66 111/63 119/65 +f 115/67 111/63 113/66 +f 116/68 111/63 115/67 +f 110/62 105/48 106/61 +f 102/56 128/55 104/49 +f 128/55 133/54 104/49 +f 133/54 135/53 104/49 +f 135/53 123/52 104/49 +f 123/52 125/51 104/49 +f 125/51 96/50 104/49 +f 130/57 128/55 102/56 +f 129/58 128/55 130/57 +f 131/59 128/55 129/58 +f 96/50 95/47 104/49 +f 95/47 58/1 136/3 +f 58/1 1/2 136/3 + diff --git a/resources/meshes/Hellbot_Magna_2_500.obj b/resources/meshes/Hellbot_Magna_2_500.obj new file mode 100644 index 0000000000..7ff0e017f1 --- /dev/null +++ b/resources/meshes/Hellbot_Magna_2_500.obj @@ -0,0 +1,949 @@ +o Object.1 +v 250.000000 254.999847 0.999835 188 188 188 +v -250.000000 254.999847 0.999835 188 188 188 +v -250.000000 254.999847 -1.000164 188 188 188 +v -209.121323 -255.878632 -0.999841 188 188 188 +v 210.315582 -255.146759 1.000158 188 188 188 +v 210.773315 -255.036865 1.000158 188 188 188 +v 211.242645 -254.999939 1.000158 188 188 188 +v 210.773315 -255.036865 -0.999841 188 188 188 +v 211.242645 -254.999939 -0.999841 188 188 188 +v 250.782166 254.938293 0.999835 188 188 188 +v 250.782166 254.938293 -1.000164 188 188 188 +v 251.545074 254.755127 0.999835 188 188 188 +v 252.269958 254.454895 0.999836 188 188 188 +v 251.545074 254.755127 -1.000164 188 188 188 +v 252.269958 254.454895 -1.000164 188 188 188 +v 254.755280 251.544952 -1.000162 188 188 188 +v 252.938934 254.044952 0.999836 188 188 188 +v 252.938934 254.044952 -1.000163 188 188 188 +v 253.535522 253.535400 0.999836 188 188 188 +v 253.535522 253.535400 -1.000163 188 188 188 +v 254.045105 252.938782 0.999836 188 188 188 +v 254.455017 252.269806 0.999837 188 188 188 +v 254.045105 252.938782 -1.000163 188 188 188 +v 254.755280 251.544952 0.999837 188 188 188 +v 254.455017 252.269806 -1.000162 188 188 188 +v 254.938446 250.782043 0.999838 188 188 188 +v 254.938446 250.782043 -1.000161 188 188 188 +v 255.000000 249.999847 0.999838 188 188 188 +v 255.000000 -249.999939 1.000155 188 188 188 +v 254.938446 -250.782104 1.000155 188 188 188 +v 254.938446 -250.782104 -0.999844 188 188 188 +v 254.455017 -252.269897 -0.999843 188 188 188 +v 255.000000 -249.999939 -0.999845 188 188 188 +v 250.000000 -254.999939 -0.999841 188 188 188 +v 250.000000 -254.999939 1.000158 188 188 188 +v 254.455017 -252.269897 1.000156 188 188 188 +v 254.755280 -251.545013 1.000155 188 188 188 +v 254.045105 -252.938873 1.000156 188 188 188 +v 253.535522 -253.535461 1.000157 188 188 188 +v 252.938934 -254.045013 1.000157 188 188 188 +v 252.269958 -254.454956 1.000157 188 188 188 +v 251.545074 -254.755219 1.000158 188 188 188 +v 252.269958 -254.454956 -0.999842 188 188 188 +v 250.782166 -254.938385 1.000158 188 188 188 +v 251.545074 -254.755219 -0.999842 188 188 188 +v 250.782166 -254.938385 -0.999841 188 188 188 +v 252.938934 -254.045013 -0.999842 188 188 188 +v 253.535522 -253.535461 -0.999842 188 188 188 +v 254.045105 -252.938873 -0.999843 188 188 188 +v 254.755280 -251.545013 -0.999844 188 188 188 +v -210.315598 -255.146759 1.000158 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -254.938477 250.782043 -1.000161 188 188 188 +v -254.755310 251.544952 -1.000162 188 188 188 +v -254.045105 252.938782 -1.000163 188 188 188 +v -253.535522 253.535400 -1.000163 188 188 188 +v -252.269958 254.454895 -1.000164 188 188 188 +v -251.545074 254.755127 0.999835 188 188 188 +v -250.782166 254.938293 0.999835 188 188 188 +v -250.782166 254.938293 -1.000164 188 188 188 +v -210.773331 -255.036865 1.000158 188 188 188 +v -211.242645 -254.999939 1.000158 188 188 188 +v -254.938477 -250.782104 -0.999844 188 188 188 +v -255.000000 -249.999939 1.000155 188 188 188 +v -255.000000 249.999847 0.999838 188 188 188 +v -254.938477 250.782043 0.999838 188 188 188 +v -255.000000 249.999847 -1.000161 188 188 188 +v -252.938934 254.044952 0.999836 188 188 188 +v -252.269958 254.454895 0.999836 188 188 188 +v -253.535522 253.535400 0.999836 188 188 188 +v -254.045105 252.938782 0.999836 188 188 188 +v -254.455017 252.269806 0.999837 188 188 188 +v -254.755310 251.544952 0.999837 188 188 188 +v -254.938477 -250.782104 1.000155 188 188 188 +v -254.755310 -251.545013 1.000155 188 188 188 +v -254.455017 -252.269897 1.000156 188 188 188 +v -254.455017 -252.269897 -0.999843 188 188 188 +v -254.045105 -252.938873 1.000156 188 188 188 +v -252.938934 -254.045013 -0.999842 188 188 188 +v -252.269958 -254.454956 -0.999842 188 188 188 +v -251.545074 -254.755219 -0.999842 188 188 188 +v -252.269958 -254.454956 1.000157 188 188 188 +v -250.782166 -254.938385 -0.999841 188 188 188 +v -250.000000 -254.999939 -0.999841 188 188 188 +v -250.000000 -254.999939 1.000158 188 188 188 +v -250.782166 -254.938385 1.000158 188 188 188 +v -251.545074 -254.755219 1.000158 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -252.938934 -254.045013 1.000157 188 188 188 +v -253.535522 -253.535461 1.000157 188 188 188 +v -253.535522 -253.535461 -0.999842 188 188 188 +v -254.045105 -252.938873 -0.999843 188 188 188 +v -254.755310 -251.545013 -0.999844 188 188 188 +v -252.938934 254.044952 -1.000163 188 188 188 +v -254.455017 252.269806 -1.000162 188 188 188 +v -210.773331 -255.036865 -0.999841 188 188 188 +v -255.000000 -249.999939 -0.999845 188 188 188 +v -209.479294 -255.572876 1.000158 188 188 188 +v -209.121323 -255.878632 1.000158 188 188 188 +v -200.878677 -264.121246 1.000164 188 188 188 +v -198.757370 -264.999908 -0.999835 188 188 188 +v 209.121307 -255.878632 -0.999841 188 188 188 +v 200.878662 -264.121246 -0.999836 188 188 188 +v 200.520691 -264.426910 1.000164 188 188 188 +v 200.520691 -264.426910 -0.999835 188 188 188 +v 200.119324 -264.672943 1.000164 188 188 188 +v 200.119324 -264.672943 -0.999835 188 188 188 +v 199.684418 -264.853058 1.000164 188 188 188 +v 199.684418 -264.853058 -0.999835 188 188 188 +v 199.226654 -264.962982 1.000164 188 188 188 +v 199.226654 -264.962982 -0.999835 188 188 188 +v 198.757355 -264.999908 1.000164 188 188 188 +v -198.757370 -264.999908 1.000164 188 188 188 +v 209.479279 -255.572876 1.000158 188 188 188 +v -200.119339 -264.672943 -0.999835 188 188 188 +v -200.520706 -264.426910 1.000164 188 188 188 +v -200.520706 -264.426910 -0.999835 188 188 188 +v -200.119339 -264.672943 1.000164 188 188 188 +v -199.684418 -264.853058 -0.999835 188 188 188 +v -199.226669 -264.962982 -0.999835 188 188 188 +v -199.684418 -264.853058 1.000164 188 188 188 +v -200.878677 -264.121246 -0.999836 188 188 188 +v -199.226669 -264.962982 1.000164 188 188 188 +v 198.757355 -264.999908 -0.999835 188 188 188 +v 200.878662 -264.121246 1.000164 188 188 188 +v 209.121307 -255.878632 1.000158 188 188 188 +v 255.000000 249.999847 -1.000161 188 188 188 +v 209.880646 -255.326935 1.000158 188 188 188 +v 209.479279 -255.572876 -0.999841 188 188 188 +v 209.880646 -255.326935 -0.999841 188 188 188 +v -209.479294 -255.572876 -0.999841 188 188 188 +v -209.880661 -255.326935 -0.999841 188 188 188 +v -209.880661 -255.326935 1.000158 188 188 188 +v -251.545074 254.755127 -1.000164 188 188 188 +v 210.315582 -255.146759 -0.999841 188 188 188 +v 250.000000 254.999847 -1.000164 188 188 188 + +v 250.000000 254.999847 0.999835 188 188 188 +v -250.000000 254.999847 -1.000164 188 188 188 +v -250.000000 254.999847 0.999835 188 188 188 +v -250.000000 254.999847 -1.000164 188 188 188 +v -250.782166 254.938293 -1.000164 188 188 188 +v -250.000000 254.999847 -1.000164 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -250.000000 254.999847 -1.000164 188 188 188 +v -209.880661 -255.326935 -0.999841 188 188 188 +v -250.000000 254.999847 -1.000164 188 188 188 +v -209.479294 -255.572876 -0.999841 188 188 188 +v -250.000000 254.999847 -1.000164 188 188 188 +v -209.121323 -255.878632 -0.999841 188 188 188 +v -250.000000 254.999847 -1.000164 188 188 188 +v 209.479279 -255.572876 -0.999841 188 188 188 +v -250.000000 254.999847 -1.000164 188 188 188 +v 209.880646 -255.326935 -0.999841 188 188 188 +v -250.000000 254.999847 -1.000164 188 188 188 +v 209.880646 -255.326935 -0.999841 188 188 188 +v 210.315582 -255.146759 -0.999841 188 188 188 +v 210.315582 -255.146759 1.000158 188 188 188 +v 210.315582 -255.146759 -0.999841 188 188 188 +v 210.773315 -255.036865 1.000158 188 188 188 +v 210.315582 -255.146759 -0.999841 188 188 188 +v 210.773315 -255.036865 1.000158 188 188 188 +v 210.773315 -255.036865 -0.999841 188 188 188 +v 211.242645 -254.999939 1.000158 188 188 188 +v 210.773315 -255.036865 -0.999841 188 188 188 +v 211.242645 -254.999939 1.000158 188 188 188 +v 211.242645 -254.999939 -0.999841 188 188 188 +v 250.000000 -254.999939 -0.999841 188 188 188 +v 211.242645 -254.999939 -0.999841 188 188 188 +v 250.000000 254.999847 -1.000164 188 188 188 +v 250.000000 -254.999939 -0.999841 188 188 188 +v 250.000000 254.999847 -1.000164 188 188 188 +v 255.000000 249.999847 -1.000161 188 188 188 +v 250.000000 254.999847 -1.000164 188 188 188 +v 250.782166 254.938293 -1.000164 188 188 188 +v 250.000000 254.999847 -1.000164 188 188 188 +v 250.782166 254.938293 0.999835 188 188 188 +v 250.782166 254.938293 -1.000164 188 188 188 +v 251.545074 254.755127 0.999835 188 188 188 +v 250.782166 254.938293 -1.000164 188 188 188 +v 251.545074 254.755127 0.999835 188 188 188 +v 251.545074 254.755127 -1.000164 188 188 188 +v 252.269958 254.454895 0.999836 188 188 188 +v 251.545074 254.755127 -1.000164 188 188 188 +v 252.269958 254.454895 -1.000164 188 188 188 +v 255.000000 249.999847 -1.000161 188 188 188 +v 251.545074 254.755127 -1.000164 188 188 188 +v 255.000000 249.999847 -1.000161 188 188 188 +v 252.269958 254.454895 -1.000164 188 188 188 +v 254.938446 250.782043 -1.000161 188 188 188 +v 252.269958 254.454895 -1.000164 188 188 188 +v 254.755280 251.544952 -1.000162 188 188 188 +v 252.269958 254.454895 -1.000164 188 188 188 +v 254.455017 252.269806 -1.000162 188 188 188 +v 252.269958 254.454895 -1.000164 188 188 188 +v 252.938934 254.044952 -1.000163 188 188 188 +v 252.269958 254.454895 -1.000164 188 188 188 +v 252.938934 254.044952 0.999836 188 188 188 +v 252.938934 254.044952 -1.000163 188 188 188 +v 253.535522 253.535400 0.999836 188 188 188 +v 252.938934 254.044952 -1.000163 188 188 188 +v 253.535522 253.535400 -1.000163 188 188 188 +v 252.938934 254.044952 -1.000163 188 188 188 +v 254.045105 252.938782 -1.000163 188 188 188 +v 253.535522 253.535400 -1.000163 188 188 188 +v 254.045105 252.938782 0.999836 188 188 188 +v 254.045105 252.938782 -1.000163 188 188 188 +v 254.455017 252.269806 0.999837 188 188 188 +v 254.455017 252.269806 -1.000162 188 188 188 +v 254.045105 252.938782 -1.000163 188 188 188 +v 254.455017 252.269806 0.999837 188 188 188 +v 254.455017 252.269806 -1.000162 188 188 188 +v 254.755280 251.544952 0.999837 188 188 188 +v 254.755280 251.544952 -1.000162 188 188 188 +v 254.938446 250.782043 0.999838 188 188 188 +v 254.938446 250.782043 -1.000161 188 188 188 +v 253.535522 253.535400 0.999836 188 188 188 +v 254.045105 252.938782 0.999836 188 188 188 +v 253.535522 253.535400 -1.000163 188 188 188 +v 254.045105 252.938782 -1.000163 188 188 188 +v 254.455017 252.269806 -1.000162 188 188 188 +v 252.938934 254.044952 -1.000163 188 188 188 +v 254.755280 251.544952 0.999837 188 188 188 +v 254.755280 251.544952 -1.000162 188 188 188 +v 254.455017 252.269806 -1.000162 188 188 188 +v 254.938446 250.782043 0.999838 188 188 188 +v 254.938446 250.782043 -1.000161 188 188 188 +v 254.755280 251.544952 -1.000162 188 188 188 +v 255.000000 249.999847 0.999838 188 188 188 +v 255.000000 249.999847 -1.000161 188 188 188 +v 254.938446 250.782043 -1.000161 188 188 188 +v 255.000000 249.999847 0.999838 188 188 188 +v 255.000000 249.999847 -1.000161 188 188 188 +v 255.000000 -249.999939 1.000155 188 188 188 +v 255.000000 249.999847 -1.000161 188 188 188 +v 255.000000 -249.999939 1.000155 188 188 188 +v 255.000000 -249.999939 -0.999845 188 188 188 +v 254.938446 -250.782104 1.000155 188 188 188 +v 255.000000 -249.999939 -0.999845 188 188 188 +v 254.938446 -250.782104 -0.999844 188 188 188 +v 255.000000 -249.999939 -0.999845 188 188 188 +v 254.455017 -252.269897 -0.999843 188 188 188 +v 255.000000 -249.999939 -0.999845 188 188 188 +v 254.045105 -252.938873 -0.999843 188 188 188 +v 255.000000 -249.999939 -0.999845 188 188 188 +v 253.535522 -253.535461 -0.999842 188 188 188 +v 255.000000 -249.999939 -0.999845 188 188 188 +v 252.938934 -254.045013 -0.999842 188 188 188 +v 255.000000 -249.999939 -0.999845 188 188 188 +v 252.269958 -254.454956 -0.999842 188 188 188 +v 255.000000 -249.999939 -0.999845 188 188 188 +v 251.545074 -254.755219 -0.999842 188 188 188 +v 255.000000 -249.999939 -0.999845 188 188 188 +v 250.782166 -254.938385 -0.999841 188 188 188 +v 250.000000 -254.999939 -0.999841 188 188 188 +v 255.000000 -249.999939 -0.999845 188 188 188 +v 250.000000 -254.999939 -0.999841 188 188 188 +v 250.782166 -254.938385 -0.999841 188 188 188 +v 250.000000 -254.999939 1.000158 188 188 188 +v 250.782166 -254.938385 -0.999841 188 188 188 +v 254.755280 -251.545013 1.000155 188 188 188 +v 254.755280 -251.545013 -0.999844 188 188 188 +v 254.938446 -250.782104 -0.999844 188 188 188 +v 254.455017 -252.269897 1.000156 188 188 188 +v 254.455017 -252.269897 -0.999843 188 188 188 +v 254.755280 -251.545013 -0.999844 188 188 188 +v 254.455017 -252.269897 1.000156 188 188 188 +v 254.455017 -252.269897 -0.999843 188 188 188 +v 254.045105 -252.938873 1.000156 188 188 188 +v 254.045105 -252.938873 -0.999843 188 188 188 +v 253.535522 -253.535461 1.000157 188 188 188 +v 253.535522 -253.535461 -0.999842 188 188 188 +v 252.938934 -254.045013 1.000157 188 188 188 +v 252.938934 -254.045013 -0.999842 188 188 188 +v 252.269958 -254.454956 1.000157 188 188 188 +v 252.269958 -254.454956 -0.999842 188 188 188 +v 251.545074 -254.755219 1.000158 188 188 188 +v 250.782166 -254.938385 1.000158 188 188 188 +v 251.545074 -254.755219 -0.999842 188 188 188 +v 250.782166 -254.938385 1.000158 188 188 188 +v 250.782166 -254.938385 -0.999841 188 188 188 +v 251.545074 -254.755219 -0.999842 188 188 188 +v 251.545074 -254.755219 1.000158 188 188 188 +v 251.545074 -254.755219 -0.999842 188 188 188 +v 252.269958 -254.454956 -0.999842 188 188 188 +v 252.269958 -254.454956 1.000157 188 188 188 +v 252.269958 -254.454956 -0.999842 188 188 188 +v 252.938934 -254.045013 -0.999842 188 188 188 +v 252.938934 -254.045013 1.000157 188 188 188 +v 252.938934 -254.045013 -0.999842 188 188 188 +v 253.535522 -253.535461 -0.999842 188 188 188 +v 253.535522 -253.535461 1.000157 188 188 188 +v 253.535522 -253.535461 -0.999842 188 188 188 +v 254.045105 -252.938873 -0.999843 188 188 188 +v 254.045105 -252.938873 1.000156 188 188 188 +v 254.045105 -252.938873 -0.999843 188 188 188 +v 254.455017 -252.269897 -0.999843 188 188 188 +v 254.755280 -251.545013 -0.999844 188 188 188 +v 254.455017 -252.269897 -0.999843 188 188 188 +v 254.938446 -250.782104 -0.999844 188 188 188 +v 254.938446 -250.782104 1.000155 188 188 188 +v 254.755280 -251.545013 1.000155 188 188 188 +v 254.938446 -250.782104 -0.999844 188 188 188 +v 252.269958 254.454895 0.999836 188 188 188 +v 252.938934 254.044952 0.999836 188 188 188 +v 252.269958 254.454895 -1.000164 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -210.315598 -255.146759 1.000158 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -210.773331 -255.036865 -0.999841 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -255.000000 249.999847 -1.000161 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -254.938477 250.782043 -1.000161 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -254.755310 251.544952 -1.000162 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -254.455017 252.269806 -1.000162 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -254.045105 252.938782 -1.000163 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -253.535522 253.535400 -1.000163 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -252.938934 254.044952 -1.000163 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -252.269958 254.454895 -1.000164 188 188 188 +v -252.269958 254.454895 -1.000164 188 188 188 +v -251.545074 254.755127 -1.000164 188 188 188 +v -251.545074 254.755127 0.999835 188 188 188 +v -251.545074 254.755127 -1.000164 188 188 188 +v -251.545074 254.755127 -1.000164 188 188 188 +v -250.782166 254.938293 0.999835 188 188 188 +v -250.782166 254.938293 -1.000164 188 188 188 +v -210.773331 -255.036865 -0.999841 188 188 188 +v -210.773331 -255.036865 1.000158 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -210.773331 -255.036865 -0.999841 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -210.773331 -255.036865 -0.999841 188 188 188 +v -254.938477 -250.782104 -0.999844 188 188 188 +v -254.938477 -250.782104 -0.999844 188 188 188 +v -255.000000 -249.999939 -0.999845 188 188 188 +v -255.000000 -249.999939 1.000155 188 188 188 +v -255.000000 -249.999939 -0.999845 188 188 188 +v -255.000000 -249.999939 -0.999845 188 188 188 +v -255.000000 249.999847 0.999838 188 188 188 +v -255.000000 249.999847 -1.000161 188 188 188 +v -255.000000 249.999847 0.999838 188 188 188 +v -255.000000 249.999847 -1.000161 188 188 188 +v -252.938934 254.044952 -1.000163 188 188 188 +v -252.938934 254.044952 0.999836 188 188 188 +v -253.535522 253.535400 -1.000163 188 188 188 +v -253.535522 253.535400 0.999836 188 188 188 +v -254.045105 252.938782 -1.000163 188 188 188 +v -254.045105 252.938782 0.999836 188 188 188 +v -254.455017 252.269806 -1.000162 188 188 188 +v -254.455017 252.269806 0.999837 188 188 188 +v -254.755310 251.544952 -1.000162 188 188 188 +v -254.938477 250.782043 0.999838 188 188 188 +v -254.755310 251.544952 0.999837 188 188 188 +v -254.938477 250.782043 -1.000161 188 188 188 +v -255.000000 -249.999939 1.000155 188 188 188 +v -254.938477 -250.782104 -0.999844 188 188 188 +v -254.938477 -250.782104 1.000155 188 188 188 +v -254.938477 -250.782104 -0.999844 188 188 188 +v -254.938477 -250.782104 1.000155 188 188 188 +v -254.755310 -251.545013 -0.999844 188 188 188 +v -254.755310 -251.545013 1.000155 188 188 188 +v -254.755310 -251.545013 -0.999844 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -254.455017 -252.269897 -0.999843 188 188 188 +v -254.755310 -251.545013 -0.999844 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -254.455017 -252.269897 -0.999843 188 188 188 +v -254.045105 -252.938873 -0.999843 188 188 188 +v -254.455017 -252.269897 -0.999843 188 188 188 +v -254.455017 -252.269897 1.000156 188 188 188 +v -254.045105 -252.938873 -0.999843 188 188 188 +v -254.045105 -252.938873 1.000156 188 188 188 +v -254.045105 -252.938873 -0.999843 188 188 188 +v -254.045105 -252.938873 1.000156 188 188 188 +v -253.535522 -253.535461 -0.999842 188 188 188 +v -253.535522 -253.535461 1.000157 188 188 188 +v -253.535522 -253.535461 -0.999842 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -252.938934 -254.045013 -0.999842 188 188 188 +v -253.535522 -253.535461 -0.999842 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -252.938934 -254.045013 -0.999842 188 188 188 +v -252.269958 -254.454956 -0.999842 188 188 188 +v -252.938934 -254.045013 -0.999842 188 188 188 +v -252.938934 -254.045013 1.000157 188 188 188 +v -252.269958 -254.454956 -0.999842 188 188 188 +v -252.269958 -254.454956 1.000157 188 188 188 +v -252.269958 -254.454956 -0.999842 188 188 188 +v -252.269958 -254.454956 1.000157 188 188 188 +v -251.545074 -254.755219 -0.999842 188 188 188 +v -251.545074 -254.755219 1.000158 188 188 188 +v -251.545074 -254.755219 -0.999842 188 188 188 +v -250.782166 -254.938385 -0.999841 188 188 188 +v -251.545074 -254.755219 -0.999842 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -250.000000 -254.999939 -0.999841 188 188 188 +v -251.545074 -254.755219 -0.999842 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -250.000000 -254.999939 -0.999841 188 188 188 +v -250.000000 -254.999939 1.000158 188 188 188 +v -250.000000 -254.999939 -0.999841 188 188 188 +v -250.000000 -254.999939 -0.999841 188 188 188 +v -250.782166 -254.938385 1.000158 188 188 188 +v -250.782166 -254.938385 -0.999841 188 188 188 +v -250.782166 -254.938385 1.000158 188 188 188 +v -251.545074 -254.755219 1.000158 188 188 188 +v -250.782166 -254.938385 -0.999841 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -251.545074 -254.755219 -0.999842 188 188 188 +v -252.269958 -254.454956 -0.999842 188 188 188 +v -252.938934 -254.045013 1.000157 188 188 188 +v -253.535522 -253.535461 1.000157 188 188 188 +v -252.938934 -254.045013 -0.999842 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -253.535522 -253.535461 -0.999842 188 188 188 +v -254.045105 -252.938873 -0.999843 188 188 188 +v -254.455017 -252.269897 1.000156 188 188 188 +v -254.755310 -251.545013 1.000155 188 188 188 +v -254.455017 -252.269897 -0.999843 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -254.755310 -251.545013 -0.999844 188 188 188 +v -254.938477 -250.782104 -0.999844 188 188 188 +v -211.242645 -254.999939 1.000158 188 188 188 +v -250.000000 -254.999939 1.000158 188 188 188 +v -211.242645 -254.999939 -0.999841 188 188 188 +v -252.269958 254.454895 0.999836 188 188 188 +v -251.545074 254.755127 0.999835 188 188 188 +v -252.269958 254.454895 -1.000164 188 188 188 +v -252.938934 254.044952 -1.000163 188 188 188 +v -252.269958 254.454895 0.999836 188 188 188 +v -252.269958 254.454895 -1.000164 188 188 188 +v -253.535522 253.535400 -1.000163 188 188 188 +v -252.938934 254.044952 0.999836 188 188 188 +v -252.938934 254.044952 -1.000163 188 188 188 +v -254.045105 252.938782 -1.000163 188 188 188 +v -253.535522 253.535400 0.999836 188 188 188 +v -253.535522 253.535400 -1.000163 188 188 188 +v -254.455017 252.269806 -1.000162 188 188 188 +v -254.045105 252.938782 0.999836 188 188 188 +v -254.045105 252.938782 -1.000163 188 188 188 +v -254.755310 251.544952 -1.000162 188 188 188 +v -254.455017 252.269806 0.999837 188 188 188 +v -254.455017 252.269806 -1.000162 188 188 188 +v -254.938477 250.782043 -1.000161 188 188 188 +v -254.755310 251.544952 0.999837 188 188 188 +v -254.755310 251.544952 -1.000162 188 188 188 +v -255.000000 249.999847 -1.000161 188 188 188 +v -254.938477 250.782043 0.999838 188 188 188 +v -254.938477 250.782043 -1.000161 188 188 188 +v -210.773331 -255.036865 -0.999841 188 188 188 +v -255.000000 -249.999939 -0.999845 188 188 188 +v -255.000000 249.999847 -1.000161 188 188 188 +v -210.315598 -255.146759 1.000158 188 188 188 +v -210.773331 -255.036865 1.000158 188 188 188 +v -210.773331 -255.036865 -0.999841 188 188 188 +v -209.880661 -255.326935 1.000158 188 188 188 +v -209.880661 -255.326935 -0.999841 188 188 188 +v -209.479294 -255.572876 1.000158 188 188 188 +v -209.479294 -255.572876 -0.999841 188 188 188 +v -209.121323 -255.878632 1.000158 188 188 188 +v -200.878677 -264.121246 1.000164 188 188 188 +v -200.878677 -264.121246 -0.999836 188 188 188 +v -200.520706 -264.426910 -0.999835 188 188 188 +v -200.878677 -264.121246 -0.999836 188 188 188 +v -199.226669 -264.962982 -0.999835 188 188 188 +v -200.878677 -264.121246 -0.999836 188 188 188 +v -198.757370 -264.999908 -0.999835 188 188 188 +v -200.878677 -264.121246 -0.999836 188 188 188 +v -198.757370 -264.999908 -0.999835 188 188 188 +v 209.121307 -255.878632 -0.999841 188 188 188 +v 198.757355 -264.999908 -0.999835 188 188 188 +v 209.121307 -255.878632 -0.999841 188 188 188 +v 199.226654 -264.962982 -0.999835 188 188 188 +v 209.121307 -255.878632 -0.999841 188 188 188 +v 199.684418 -264.853058 -0.999835 188 188 188 +v 209.121307 -255.878632 -0.999841 188 188 188 +v 200.119324 -264.672943 -0.999835 188 188 188 +v 209.121307 -255.878632 -0.999841 188 188 188 +v 200.878662 -264.121246 -0.999836 188 188 188 +v 209.121307 -255.878632 -0.999841 188 188 188 +v 200.878662 -264.121246 1.000164 188 188 188 +v 200.878662 -264.121246 -0.999836 188 188 188 +v 200.520691 -264.426910 1.000164 188 188 188 +v 200.878662 -264.121246 -0.999836 188 188 188 +v 200.520691 -264.426910 1.000164 188 188 188 +v 200.520691 -264.426910 -0.999835 188 188 188 +v 200.119324 -264.672943 1.000164 188 188 188 +v 200.119324 -264.672943 -0.999835 188 188 188 +v 200.520691 -264.426910 -0.999835 188 188 188 +v 200.119324 -264.672943 1.000164 188 188 188 +v 200.119324 -264.672943 -0.999835 188 188 188 +v 199.684418 -264.853058 1.000164 188 188 188 +v 199.684418 -264.853058 -0.999835 188 188 188 +v 200.520691 -264.426910 -0.999835 188 188 188 +v 200.119324 -264.672943 -0.999835 188 188 188 +v 200.878662 -264.121246 -0.999836 188 188 188 +v 199.684418 -264.853058 1.000164 188 188 188 +v 199.684418 -264.853058 -0.999835 188 188 188 +v 200.119324 -264.672943 -0.999835 188 188 188 +v 199.226654 -264.962982 1.000164 188 188 188 +v 199.226654 -264.962982 -0.999835 188 188 188 +v 199.684418 -264.853058 -0.999835 188 188 188 +v 199.226654 -264.962982 1.000164 188 188 188 +v 199.226654 -264.962982 -0.999835 188 188 188 +v 198.757355 -264.999908 1.000164 188 188 188 +v 198.757355 -264.999908 -0.999835 188 188 188 +v 199.226654 -264.962982 -0.999835 188 188 188 +v 198.757355 -264.999908 -0.999835 188 188 188 +v -198.757370 -264.999908 -0.999835 188 188 188 +v 209.121307 -255.878632 -0.999841 188 188 188 +v -200.878677 -264.121246 -0.999836 188 188 188 +v 209.479279 -255.572876 -0.999841 188 188 188 +v 209.121307 -255.878632 -0.999841 188 188 188 +v 209.479279 -255.572876 -0.999841 188 188 188 +v -198.757370 -264.999908 -0.999835 188 188 188 +v -199.226669 -264.962982 -0.999835 188 188 188 +v -199.226669 -264.962982 -0.999835 188 188 188 +v -200.520706 -264.426910 -0.999835 188 188 188 +v -200.119339 -264.672943 -0.999835 188 188 188 +v -200.520706 -264.426910 -0.999835 188 188 188 +v -200.520706 -264.426910 1.000164 188 188 188 +v -200.119339 -264.672943 -0.999835 188 188 188 +v -200.119339 -264.672943 1.000164 188 188 188 +v -200.119339 -264.672943 -0.999835 188 188 188 +v -199.226669 -264.962982 -0.999835 188 188 188 +v -199.684418 -264.853058 -0.999835 188 188 188 +v -200.119339 -264.672943 -0.999835 188 188 188 +v -199.226669 -264.962982 -0.999835 188 188 188 +v -199.684418 -264.853058 -0.999835 188 188 188 +v -200.520706 -264.426910 1.000164 188 188 188 +v -200.878677 -264.121246 1.000164 188 188 188 +v -200.520706 -264.426910 -0.999835 188 188 188 +v -200.878677 -264.121246 -0.999836 188 188 188 +v -209.121323 -255.878632 1.000158 188 188 188 +v -209.121323 -255.878632 -0.999841 188 188 188 +v -199.684418 -264.853058 1.000164 188 188 188 +v -200.119339 -264.672943 1.000164 188 188 188 +v -199.684418 -264.853058 -0.999835 188 188 188 +v -199.226669 -264.962982 1.000164 188 188 188 +v -199.684418 -264.853058 1.000164 188 188 188 +v -199.226669 -264.962982 -0.999835 188 188 188 +v -198.757370 -264.999908 1.000164 188 188 188 +v -199.226669 -264.962982 1.000164 188 188 188 +v -198.757370 -264.999908 -0.999835 188 188 188 +v 198.757355 -264.999908 1.000164 188 188 188 +v -198.757370 -264.999908 1.000164 188 188 188 +v 198.757355 -264.999908 -0.999835 188 188 188 +v 200.878662 -264.121246 1.000164 188 188 188 +v 209.121307 -255.878632 -0.999841 188 188 188 +v 209.479279 -255.572876 1.000158 188 188 188 +v 209.121307 -255.878632 1.000158 188 188 188 +v 209.121307 -255.878632 -0.999841 188 188 188 +v 209.479279 -255.572876 1.000158 188 188 188 +v 209.479279 -255.572876 -0.999841 188 188 188 +v 251.545074 254.755127 -1.000164 188 188 188 +v 255.000000 249.999847 -1.000161 188 188 188 +v 250.782166 254.938293 -1.000164 188 188 188 +v 255.000000 -249.999939 -0.999845 188 188 188 +v 250.000000 -254.999939 -0.999841 188 188 188 +v 255.000000 249.999847 -1.000161 188 188 188 +v 250.000000 -254.999939 1.000158 188 188 188 +v 211.242645 -254.999939 1.000158 188 188 188 +v 250.000000 -254.999939 -0.999841 188 188 188 +v 211.242645 -254.999939 -0.999841 188 188 188 +v 210.773315 -255.036865 -0.999841 188 188 188 +v 250.000000 254.999847 -1.000164 188 188 188 +v 210.773315 -255.036865 -0.999841 188 188 188 +v 210.315582 -255.146759 -0.999841 188 188 188 +v 250.000000 254.999847 -1.000164 188 188 188 +v 210.315582 -255.146759 1.000158 188 188 188 +v 209.880646 -255.326935 1.000158 188 188 188 +v 209.880646 -255.326935 -0.999841 188 188 188 +v 209.880646 -255.326935 1.000158 188 188 188 +v 209.479279 -255.572876 -0.999841 188 188 188 +v 209.880646 -255.326935 -0.999841 188 188 188 +v -200.878677 -264.121246 -0.999836 188 188 188 +v -209.121323 -255.878632 -0.999841 188 188 188 +v 209.479279 -255.572876 -0.999841 188 188 188 +v -209.121323 -255.878632 -0.999841 188 188 188 +v -209.121323 -255.878632 1.000158 188 188 188 +v -209.479294 -255.572876 -0.999841 188 188 188 +v -209.479294 -255.572876 -0.999841 188 188 188 +v -209.479294 -255.572876 1.000158 188 188 188 +v -209.880661 -255.326935 -0.999841 188 188 188 +v -209.880661 -255.326935 -0.999841 188 188 188 +v -209.880661 -255.326935 1.000158 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -210.315598 -255.146759 -0.999841 188 188 188 +v -251.545074 254.755127 -1.000164 188 188 188 +v -250.782166 254.938293 -1.000164 188 188 188 +v -250.782166 254.938293 0.999835 188 188 188 +v -250.000000 254.999847 0.999835 188 188 188 +v -250.782166 254.938293 -1.000164 188 188 188 +v 250.000000 254.999847 -1.000164 188 188 188 +v 210.315582 -255.146759 -0.999841 188 188 188 +v -250.000000 254.999847 -1.000164 188 188 188 +v 250.000000 254.999847 0.999835 188 188 188 +v 250.782166 254.938293 0.999835 188 188 188 +v 250.000000 254.999847 -1.000164 188 188 188 + +f 1 136 3 +f 2 137 138 +f 60 139 140 +f 52 141 142 +f 132 143 144 +f 131 145 146 +f 4 147 148 +f 129 149 150 +f 130 151 152 +f 135 153 154 +f 5 155 156 +f 6 157 158 +f 159 160 8 +f 7 161 162 +f 163 164 9 +f 34 165 166 +f 167 168 169 +f 127 170 171 +f 11 172 173 +f 10 174 175 +f 176 12 177 +f 178 14 179 +f 180 13 181 +f 182 15 183 +f 184 185 186 +f 27 187 188 +f 16 189 190 +f 25 191 192 +f 18 193 194 +f 17 195 196 +f 197 19 198 +f 199 20 200 +f 201 23 202 +f 21 203 204 +f 205 22 206 +f 207 208 209 +f 210 24 211 +f 212 26 213 +f 214 28 215 +f 216 217 218 +f 219 220 221 +f 222 223 224 +f 225 226 227 +f 228 229 230 +f 231 29 232 +f 233 33 234 +f 235 30 236 +f 237 31 238 +f 239 32 240 +f 241 49 242 +f 243 48 244 +f 245 47 246 +f 247 43 248 +f 249 45 250 +f 251 46 252 +f 253 254 255 +f 35 256 257 +f 44 258 259 +f 37 36 50 +f 260 261 262 +f 263 264 265 +f 266 38 267 +f 268 39 269 +f 270 40 271 +f 272 41 273 +f 274 42 275 +f 276 277 278 +f 279 280 281 +f 282 283 284 +f 285 286 287 +f 288 289 290 +f 291 292 293 +f 294 295 296 +f 297 298 299 +f 300 301 302 +f 303 304 305 +f 133 51 306 +f 307 308 96 +f 309 310 67 +f 311 312 53 +f 313 314 54 +f 315 316 95 +f 317 318 55 +f 319 320 56 +f 321 322 94 +f 323 324 57 +f 325 326 134 +f 327 58 328 +f 329 59 330 +f 331 332 333 +f 61 62 88 +f 334 335 336 +f 337 338 63 +f 339 340 97 +f 341 64 342 +f 343 65 344 +f 345 346 347 +f 348 66 349 +f 68 69 350 +f 70 351 352 +f 71 353 354 +f 72 355 356 +f 73 357 358 +f 359 360 361 +f 74 362 363 +f 93 364 365 +f 75 366 367 +f 77 368 369 +f 370 371 372 +f 373 92 374 +f 375 76 376 +f 78 377 378 +f 91 379 380 +f 90 381 382 +f 79 383 384 +f 385 386 387 +f 388 80 389 +f 390 89 391 +f 82 392 393 +f 81 394 395 +f 87 396 397 +f 83 398 399 +f 84 400 401 +f 402 403 404 +f 405 85 406 +f 407 86 408 +f 409 410 411 +f 412 413 414 +f 415 416 417 +f 418 419 420 +f 421 422 423 +f 424 425 426 +f 427 428 429 +f 430 431 432 +f 433 434 435 +f 436 437 438 +f 439 440 441 +f 442 443 444 +f 445 446 447 +f 448 449 450 +f 451 452 453 +f 454 455 456 +f 457 458 459 +f 460 461 462 +f 98 463 464 +f 99 465 466 +f 100 467 122 +f 117 468 469 +f 120 470 471 +f 101 472 473 +f 474 475 102 +f 124 476 477 +f 111 478 479 +f 109 480 481 +f 107 482 483 +f 103 484 485 +f 125 486 487 +f 488 104 489 +f 490 105 491 +f 492 106 493 +f 494 495 496 +f 497 108 498 +f 499 110 500 +f 501 502 503 +f 504 505 506 +f 507 508 509 +f 510 112 511 +f 512 513 514 +f 515 113 516 +f 517 518 519 +f 114 520 521 +f 522 123 523 +f 524 115 525 +f 526 116 527 +f 118 528 529 +f 119 530 531 +f 532 533 534 +f 535 121 536 +f 537 538 539 +f 540 541 542 +f 543 544 545 +f 546 547 548 +f 549 550 551 +f 552 553 554 +f 126 555 556 +f 557 558 559 +f 128 560 561 +f 562 563 564 +f 565 566 567 +f 568 569 570 +f 571 572 573 +f 574 575 576 +f 577 578 579 +f 580 581 582 +f 583 584 585 +f 586 587 588 +f 589 590 591 +f 592 593 594 +f 595 596 597 +f 598 599 600 +f 601 602 603 +f 604 605 606 + +vt 0.088207 0.017916 +vt 0.901653 0.018726 +vt 0.987765 0.981673 +vt 0.987183 0.983051 +vt 0.988120 0.980224 +vt 0.988239 0.978737 +vt 0.986389 0.984322 +vt 0.985402 0.985456 +vt 0.984246 0.986425 +vt 0.982949 0.987204 +vt 0.978551 0.019005 +vt 0.980066 0.019122 +vt 0.981545 0.019470 +vt 0.903450 0.019005 +vt 0.982949 0.020040 +vt 0.984246 0.020819 +vt 0.985402 0.021788 +vt 0.986389 0.022922 +vt 0.987183 0.024193 +vt 0.987765 0.025571 +vt 0.988120 0.027020 +vt 0.902540 0.018934 +vt 0.988239 0.028507 +vt 0.981545 0.987774 +vt 0.980066 0.988122 +vt 0.978551 0.988239 +vt 0.900810 0.018383 +vt 0.900033 0.017916 +vt 0.899339 0.017335 +vt 0.087429 0.018383 +vt 0.086586 0.018726 +vt 0.006695 0.987774 +vt 0.000000 0.978737 +vt 0.008173 0.988122 +vt 0.009689 0.988239 +vt 0.084790 0.019005 +vt 0.085699 0.018934 +vt 0.000119 0.980224 +vt 0.005290 0.987204 +vt 0.000474 0.981673 +vt 0.001056 0.983051 +vt 0.003994 0.986425 +vt 0.001850 0.984322 +vt 0.002838 0.985456 +vt 0.008173 0.019122 +vt 0.009689 0.019005 +vt 0.000000 0.028507 +vt 0.006695 0.019470 +vt 0.005290 0.020040 +vt 0.003994 0.020819 +vt 0.002838 0.021788 +vt 0.001850 0.022922 +vt 0.001056 0.024193 +vt 0.000474 0.025571 +vt 0.000119 0.027020 +vt 0.883367 0.001670 +vt 0.088900 0.017335 +vt 0.879257 0.000000 +vt 0.108983 0.000000 +vt 0.108073 0.000070 +vt 0.107186 0.000279 +vt 0.106344 0.000621 +vt 0.104872 0.001670 +vt 0.880166 0.000070 +vt 0.881053 0.000279 +vt 0.881896 0.000621 +vt 0.882674 0.001089 +vt 0.105566 0.001089 + +usemtl Mat_0 +f 5/2 24/3 22/4 +f 5/2 26/5 24/3 +f 5/2 28/6 26/5 +f 5/2 22/4 21/7 +f 5/2 21/7 19/8 +f 5/2 19/8 17/9 +f 5/2 17/9 13/10 +f 35/11 44/12 42/13 +f 7/14 35/11 42/13 +f 7/14 42/13 41/15 +f 7/14 41/15 40/16 +f 7/14 40/16 39/17 +f 7/14 39/17 38/18 +f 7/14 38/18 36/19 +f 7/14 36/19 37/20 +f 7/14 37/20 30/21 +f 6/22 30/21 29/23 +f 6/22 29/23 28/6 +f 5/2 13/10 12/24 +f 5/2 12/24 10/25 +f 5/2 10/25 1/26 +f 128/27 5/2 1/26 +f 114/28 128/27 1/26 +f 126/29 114/28 1/26 +f 98/1 126/29 1/26 +f 133/30 98/1 1/26 +f 51/31 133/30 1/26 +f 58/32 65/33 59/34 +f 59/34 65/33 2/35 +f 65/33 62/36 2/35 +f 62/36 61/37 2/35 +f 61/37 51/31 2/35 +f 66/38 65/33 69/39 +f 73/40 66/38 69/39 +f 72/41 73/40 69/39 +f 68/42 72/41 69/39 +f 71/43 72/41 68/42 +f 70/44 71/43 68/42 +f 86/45 85/46 64/47 +f 87/48 86/45 64/47 +f 85/46 62/36 64/47 +f 82/49 87/48 64/47 +f 89/50 82/49 64/47 +f 90/51 89/50 64/47 +f 78/52 90/51 64/47 +f 76/53 78/52 64/47 +f 75/54 76/53 74/55 +f 74/55 76/53 64/47 +f 64/47 62/36 65/33 +f 69/39 65/33 58/32 +f 125/56 126/29 98/1 +f 99/57 125/56 98/1 +f 112/58 125/56 99/57 +f 113/59 112/58 99/57 +f 123/60 113/59 99/57 +f 121/61 123/60 99/57 +f 118/62 121/61 99/57 +f 100/63 118/62 99/57 +f 110/64 108/65 106/66 +f 110/64 106/66 104/67 +f 110/64 104/67 125/56 +f 116/68 118/62 100/63 +f 112/58 110/64 125/56 +f 6/22 7/14 30/21 +f 5/2 6/22 28/6 +f 51/31 1/26 2/35 + diff --git a/resources/meshes/arjunpro300_platform.STL b/resources/meshes/arjunpro300_platform.STL new file mode 100644 index 0000000000..47d7165fee Binary files /dev/null and b/resources/meshes/arjunpro300_platform.STL differ diff --git a/resources/meshes/cremaker_platform_200.obj b/resources/meshes/cremaker_platform_200.obj new file mode 100644 index 0000000000..72dd507c04 --- /dev/null +++ b/resources/meshes/cremaker_platform_200.obj @@ -0,0 +1,1870 @@ +# Blender v2.83.4 OBJ File: '' +# www.blender.org +mtllib cremaker_platform_220.mtl +o Cremaker_Bed_For_Cura_200 +v -1.890215 15.706850 0.000001 +v 6.767278 20.737940 0.000001 +v -5.775456 19.937870 0.000001 +v -6.085020 19.717300 0.000001 +v -6.206591 19.597380 0.000001 +v -6.306021 19.472389 0.000001 +v -6.404158 19.299610 0.000001 +v -6.462938 19.122049 0.000001 +v -6.482364 18.942129 0.000001 +v -6.462439 18.762270 0.000001 +v -6.403163 18.584881 0.000001 +v -6.304539 18.412380 0.000001 +v -6.204750 18.287661 0.000001 +v -6.082830 18.168079 0.000001 +v -5.772599 17.948380 0.000001 +v -0.169347 23.195789 0.000001 +v 2.503686 23.199570 0.000001 +v 0.015533 23.290100 0.000001 +v 2.318549 23.293369 0.000001 +v 0.215548 23.368071 0.000001 +v 2.118320 23.370770 0.000001 +v 0.445728 23.434031 0.000001 +v 1.887968 23.436081 0.000001 +v 0.686610 23.480829 0.000001 +v 1.646967 23.482201 0.000001 +v 1.166741 23.516991 0.000001 +v 8.977601 -31.682760 -0.000001 +v 15.463810 -27.894529 -0.000001 +v 9.126501 -31.581169 -0.000001 +v 9.251994 -31.471161 -0.000001 +v 9.354342 -31.353979 -0.000001 +v 9.435792 -31.228849 -0.000001 +v 9.497616 -31.095310 -0.000001 +v 9.540466 -30.954081 -0.000001 +v -2.474875 -23.004829 -0.000001 +v -3.486624 -14.063000 -0.000001 +v -2.653391 -22.608061 -0.000001 +v -2.900688 -22.237030 -0.000001 +v -3.052730 -22.062059 -0.000001 +v -3.221965 -21.899099 -0.000001 +v -3.400519 -21.755520 -0.000001 +v 27.762609 18.434891 0.000001 +v 1.302336 3.393586 0.000000 +v 3.475899 -0.694668 -0.000000 +v 29.570330 14.423920 0.000001 +v 29.843470 14.553590 0.000001 +v 30.123699 14.616530 0.000001 +v 30.402599 14.617650 0.000001 +v 30.671749 14.561850 0.000001 +v 30.922720 14.454050 0.000001 +v 31.147100 14.299160 0.000001 +v -26.719641 17.714270 0.000001 +v -30.969570 14.542240 0.000001 +v -30.693640 14.614890 0.000001 +v -30.396780 14.615500 0.000001 +v -30.088209 14.539130 0.000001 +v -3.517677 -0.801377 -0.000000 +v -1.435565 3.392086 0.000000 +v 2.106637 -33.573120 -0.000001 +v 2.133908 -3.020771 -0.000000 +v -2.272171 -2.965736 -0.000000 +v -2.298659 -12.744290 -0.000001 +v -2.325924 -13.082530 -0.000001 +v -2.402435 -13.372600 -0.000001 +v -2.523336 -13.613500 -0.000001 +v -2.683776 -13.804260 -0.000001 +v -2.878902 -13.943900 -0.000001 +v -3.064503 -14.020530 -0.000001 +v -3.268013 -14.060420 -0.000001 +v -2.366918 -23.413799 -0.000001 +v -2.331298 -23.821421 -0.000001 +v -2.538111 -33.729561 -0.000001 +v 2.114818 -33.739540 -0.000001 +v -100.000000 100.000000 0.000004 +v -100.000000 -100.000000 -0.000004 +v -31.579510 13.941270 0.000001 +v -31.421730 14.200490 0.000001 +v -27.414490 20.492630 0.000001 +v -27.228689 20.743530 0.000001 +v -26.998230 20.967470 0.000001 +v -26.723070 21.158649 0.000001 +v -3.097852 34.888088 0.000002 +v -3.058702 34.910809 0.000002 +v -2.760384 35.064079 0.000002 +v -2.510572 35.174419 0.000002 +v -2.024714 35.353069 0.000002 +v -1.582107 35.478981 0.000002 +v -1.080716 35.581661 0.000002 +v -0.754755 35.626011 0.000002 +v -0.411912 35.653530 0.000002 +v 0.068701 35.658569 0.000002 +v 0.572670 35.620548 0.000002 +v 1.096192 35.531940 0.000002 +v 1.635463 35.385231 0.000002 +v 2.186679 35.172890 0.000002 +v 2.746035 34.887402 0.000002 +v 100.000000 -100.000000 -0.000004 +v 20.371010 -25.084841 -0.000001 +v 15.581860 -27.858259 -0.000001 +v 3.623141 -34.783489 -0.000002 +v 3.518881 -34.835880 -0.000002 +v 3.407471 -34.868351 -0.000002 +v 3.280597 -34.881981 -0.000002 +v -3.206139 -34.884621 -0.000002 +v -3.407758 -34.910000 -0.000002 +v -3.633279 -34.894100 -0.000002 +v -3.809279 -34.856091 -0.000002 +v -3.996799 -34.794971 -0.000002 +v -4.214165 -34.700981 -0.000002 +v -4.444436 -34.577541 -0.000002 +v -31.037670 -19.223930 -0.000001 +v -31.293150 -19.038361 -0.000001 +v -31.520281 -18.799589 -0.000001 +v -31.710920 -18.522110 -0.000001 +v -31.856939 -18.220461 -0.000001 +v -31.950171 -17.909149 -0.000001 +v -31.982500 -17.602690 -0.000001 +v -31.712339 13.270770 0.000001 +v -31.679449 13.629710 0.000001 +v 100.000000 100.000000 0.000004 +v 2.771456 34.872719 0.000002 +v 7.464162 32.163349 0.000001 +v 15.253320 27.666241 0.000001 +v 27.735189 20.459780 0.000001 +v 27.760611 20.445101 0.000001 +v 27.895399 20.354771 0.000001 +v 28.012421 20.250940 0.000001 +v 28.113310 20.133301 0.000001 +v 28.195770 20.005659 0.000001 +v -31.215340 14.402460 0.000001 +v -26.995159 17.904921 0.000001 +v -27.226070 18.128401 0.000001 +v -27.412350 18.378941 0.000001 +v -27.554010 18.650749 0.000001 +v -27.623430 18.840151 0.000001 +v -27.673161 19.034679 0.000001 +v -27.703360 19.234209 0.000001 +v -27.713560 19.435499 0.000001 +v -27.703770 19.636801 0.000001 +v -27.673969 19.836390 0.000001 +v -27.624630 20.031019 0.000001 +v -27.555599 20.220551 0.000001 +v 0.976425 3.232473 0.000000 +v 0.636600 3.117338 0.000000 +v 0.287486 3.048182 0.000000 +v -0.066293 3.025005 0.000000 +v -3.345686 -0.911826 -0.000000 +v 3.139616 -0.917790 -0.000000 +v -0.420113 3.047807 0.000000 +v -0.769347 3.116588 0.000000 +v -1.109373 3.231348 0.000000 +v -3.594514 -21.626280 -0.000001 +v -12.938980 -15.140140 -0.000001 +v -12.905790 -15.448240 -0.000001 +v -12.810930 -15.763330 -0.000001 +v -12.664030 -16.069201 -0.000001 +v -12.474700 -16.349609 -0.000001 +v -12.252560 -16.588350 -0.000001 +v -12.007230 -16.769199 -0.000001 +v -2.563875 -34.102112 -0.000001 +v -2.601945 -34.265640 -0.000001 +v 2.260306 -34.209869 -0.000001 +v 2.192190 -34.059601 -0.000001 +v 2.142445 -33.897968 -0.000001 +v -3.658804 -14.040120 -0.000001 +v -3.836713 -13.995700 -0.000001 +v -4.204983 -13.841300 -0.000001 +v -12.922880 -9.899136 -0.000000 +v -11.984960 -9.349529 -0.000000 +v -12.721910 -9.347394 -0.000000 +v -12.789020 -9.421888 -0.000000 +v -12.845920 -9.517392 -0.000000 +v -12.888060 -9.630308 -0.000000 +v 9.573477 -21.213511 -0.000001 +v 9.573477 -30.649120 -0.000001 +v 15.034420 -27.542681 -0.000001 +v 15.034420 -18.158489 -0.000001 +v 10.169160 -20.177891 -0.000001 +v 9.977448 -20.309700 -0.000001 +v 9.825815 -20.460020 -0.000001 +v 9.711927 -20.627211 -0.000001 +v 9.649883 -20.762680 -0.000001 +v 9.606781 -20.906019 -0.000001 +v 15.003990 -18.001150 -0.000001 +v 14.921680 -17.866699 -0.000001 +v 14.800500 -17.765039 -0.000001 +v 14.333690 -17.755440 -0.000001 +v 15.340730 -27.890249 -0.000001 +v 15.224440 -27.849171 -0.000001 +v 15.126750 -27.775049 -0.000001 +v 15.059470 -27.671631 -0.000001 +v 28.304729 19.730980 0.000001 +v 28.341249 19.440559 0.000001 +v 31.482401 13.867730 0.000001 +v 31.576481 13.601010 0.000001 +v 31.610291 13.306840 0.000001 +v 31.698460 -17.754620 -0.000001 +v 31.678040 -18.025631 -0.000001 +v 31.618450 -18.258989 -0.000001 +v 31.522221 -18.459169 -0.000001 +v 31.427509 -18.590231 -0.000001 +v 31.314671 -18.707041 -0.000001 +v 31.184740 -18.811489 -0.000001 +v 31.038811 -18.905470 -0.000001 +v 26.822330 -21.359131 -0.000001 +v 26.698940 -21.396070 -0.000001 +v 20.966869 -24.051201 -0.000001 +v 20.956520 -24.269871 -0.000001 +v 20.904810 -24.472601 -0.000001 +v 20.816071 -24.657419 -0.000001 +v 20.727819 -24.783110 -0.000001 +v 20.623011 -24.896790 -0.000001 +v 31.336460 14.102080 0.000001 +v 28.305321 19.150070 0.000001 +v 28.196911 18.875179 0.000001 +v 28.114700 18.747379 0.000001 +v 28.014050 18.629551 0.000001 +v 27.897230 18.525490 0.000001 +v 20.966869 -14.603510 -0.000001 +v 26.274229 -21.043930 -0.000001 +v 26.274229 -11.652350 -0.000001 +v 21.562111 -13.571100 -0.000001 +v 21.370380 -13.705390 -0.000001 +v 21.218809 -13.856010 -0.000001 +v 21.105040 -14.022040 -0.000001 +v 21.043091 -14.156130 -0.000001 +v 21.000080 -14.298000 -0.000001 +v 26.574249 -21.392080 -0.000001 +v 26.458860 -21.351021 -0.000001 +v 26.363340 -21.276751 -0.000001 +v 26.298269 -21.173100 -0.000001 +v 2.856881 -1.162039 -0.000000 +v -3.183302 -1.040252 -0.000000 +v -3.017757 -1.198799 -0.000000 +v 2.624997 -1.426512 -0.000000 +v -2.865824 -1.373666 -0.000000 +v 2.441266 -1.710312 -0.000000 +v -2.616956 -1.744172 -0.000000 +v 2.344197 -1.909804 -0.000000 +v -2.429858 -2.145653 -0.000000 +v 2.266531 -2.117218 -0.000000 +v 2.207469 -2.332289 -0.000000 +v -2.312331 -2.559157 -0.000000 +v 2.166210 -2.554749 -0.000000 +v -2.282093 -2.764497 -0.000000 +v 2.434501 -34.463181 -0.000002 +v -2.656312 -34.412819 -0.000002 +v 2.651738 -34.663250 -0.000002 +v -2.753508 -34.582069 -0.000002 +v -2.878132 -34.718540 -0.000002 +v 2.895620 -34.802711 -0.000002 +v -3.029303 -34.820099 -0.000002 +v 3.149746 -34.874161 -0.000002 +v -12.348020 -9.227452 -0.000000 +v -12.458250 -9.229397 -0.000000 +v -12.230520 -9.246961 -0.000000 +v -12.555370 -9.250595 -0.000000 +v -12.643580 -9.290076 -0.000000 +v 14.493510 -17.699530 -0.000001 +v 14.653450 -17.706020 -0.000001 +v 25.891661 -11.178740 -0.000000 +v 25.733061 -11.186380 -0.000000 +v 26.037319 -11.223560 -0.000000 +v 25.573780 -11.248510 -0.000000 +v 26.157789 -11.318790 -0.000000 +v 26.240850 -11.462400 -0.000001 +v -30.088209 14.539130 -0.999999 +v -3.517677 -0.801377 -1.000000 +v -2.429858 -2.145653 -1.000000 +v -2.312331 -2.559157 -1.000000 +v -2.282093 -2.764497 -1.000000 +v -2.272171 -2.965736 -1.000000 +v -2.616956 -1.744172 -1.000000 +v -2.865824 -1.373666 -1.000000 +v -3.017757 -1.198799 -1.000000 +v -3.183302 -1.040252 -1.000000 +v -3.345686 -0.911826 -1.000000 +v -2.298659 -12.744290 -1.000001 +v -3.268013 -14.060420 -1.000001 +v -3.486624 -14.063000 -1.000001 +v -3.658804 -14.040120 -1.000001 +v -3.836713 -13.995700 -1.000001 +v -4.204983 -13.841300 -1.000001 +v -3.064503 -14.020530 -1.000001 +v -2.878902 -13.943900 -1.000001 +v -2.683776 -13.804260 -1.000001 +v -2.523336 -13.613500 -1.000001 +v -2.402435 -13.372600 -1.000001 +v -2.325924 -13.082530 -1.000001 +v -11.984960 -9.349529 -1.000000 +v -12.721910 -9.347394 -1.000000 +v -12.789020 -9.421888 -1.000000 +v -12.845920 -9.517392 -1.000000 +v -12.888060 -9.630308 -1.000000 +v -12.922880 -9.899136 -1.000000 +v -12.643580 -9.290076 -1.000000 +v -12.555370 -9.250595 -1.000000 +v -12.458250 -9.229397 -1.000000 +v -12.348020 -9.227452 -1.000000 +v -12.230520 -9.246961 -1.000000 +v -12.938980 -15.140140 -1.000001 +v -12.474700 -16.349609 -1.000001 +v -12.252560 -16.588350 -1.000001 +v -12.007230 -16.769199 -1.000001 +v -12.664030 -16.069201 -1.000001 +v -12.810930 -15.763330 -1.000001 +v -12.905790 -15.448240 -1.000001 +v -3.594514 -21.626280 -1.000001 +v -2.653391 -22.608061 -1.000001 +v -2.474875 -23.004829 -1.000001 +v -2.366918 -23.413799 -1.000001 +v -2.331298 -23.821421 -1.000001 +v -2.900688 -22.237030 -1.000001 +v -3.052730 -22.062059 -1.000001 +v -3.221965 -21.899099 -1.000001 +v -3.400519 -21.755520 -1.000001 +v -2.538111 -33.729561 -1.000001 +v -3.407758 -34.910000 -1.000002 +v -3.633279 -34.894100 -1.000002 +v -3.809279 -34.856091 -1.000002 +v -3.996799 -34.794971 -1.000002 +v -4.214165 -34.700981 -1.000002 +v -4.444436 -34.577541 -1.000002 +v -3.206139 -34.884621 -1.000002 +v -3.029303 -34.820099 -1.000002 +v -2.878132 -34.718540 -1.000002 +v -2.753508 -34.582069 -1.000002 +v -2.656312 -34.412819 -1.000002 +v -2.601945 -34.265640 -1.000002 +v -2.563875 -34.102112 -1.000002 +v -31.037670 -19.223930 -1.000001 +v -31.856939 -18.220461 -1.000001 +v -31.950171 -17.909149 -1.000001 +v -31.982500 -17.602690 -1.000001 +v -31.710920 -18.522110 -1.000001 +v -31.520281 -18.799589 -1.000001 +v -31.293150 -19.038361 -1.000001 +v -31.712339 13.270770 -0.999999 +v -30.969570 14.542240 -0.999999 +v -30.693640 14.614890 -0.999999 +v -30.396780 14.615500 -0.999999 +v -31.215340 14.402460 -0.999999 +v -31.421730 14.200490 -0.999999 +v -31.579510 13.941270 -0.999999 +v -31.679449 13.629710 -0.999999 +v 2.503686 23.199570 -0.999999 +v 6.767278 20.737940 -0.999999 +v 2.318549 23.293369 -0.999999 +v 2.118320 23.370770 -0.999999 +v 1.887968 23.436081 -0.999999 +v 1.646967 23.482201 -0.999999 +v 1.166741 23.516991 -0.999999 +v 0.686610 23.480829 -0.999999 +v 0.445728 23.434031 -0.999999 +v 0.215548 23.368071 -0.999999 +v 0.015533 23.290100 -0.999999 +v -0.169347 23.195789 -0.999999 +v -5.775456 19.937870 -0.999999 +v -6.085020 19.717300 -0.999999 +v -6.206591 19.597380 -0.999999 +v -6.306021 19.472389 -0.999999 +v -6.404158 19.299610 -0.999999 +v -6.462938 19.122049 -0.999999 +v -6.482364 18.942129 -0.999999 +v -6.462439 18.762270 -0.999999 +v -6.403163 18.584881 -0.999999 +v -6.304539 18.412380 -0.999999 +v -6.204750 18.287661 -0.999999 +v -6.082830 18.168079 -0.999999 +v -5.772599 17.948380 -0.999999 +v -1.890215 15.706850 -0.999999 +v 1.302336 3.393586 -1.000000 +v 27.762609 18.434891 -0.999999 +v 0.976425 3.232473 -1.000000 +v 0.636600 3.117338 -1.000000 +v 0.287486 3.048182 -1.000000 +v -0.066293 3.025005 -1.000000 +v -0.420113 3.047807 -1.000000 +v -0.769347 3.116588 -1.000000 +v -1.109373 3.231348 -1.000000 +v -1.435565 3.392086 -1.000000 +v -26.719641 17.714270 -0.999999 +v -26.995159 17.904921 -0.999999 +v -27.226070 18.128401 -0.999999 +v -27.412350 18.378941 -0.999999 +v -27.554010 18.650749 -0.999999 +v -27.623430 18.840151 -0.999999 +v -27.673161 19.034679 -0.999999 +v -27.703360 19.234209 -0.999999 +v -27.713560 19.435499 -0.999999 +v -27.703770 19.636801 -0.999999 +v -27.673969 19.836390 -0.999999 +v -27.624630 20.031019 -0.999999 +v -27.555599 20.220551 -0.999999 +v -27.414490 20.492630 -0.999999 +v -27.228689 20.743530 -0.999999 +v -26.998230 20.967470 -0.999999 +v -26.723070 21.158649 -0.999999 +v -3.097852 34.888088 -0.999998 +v -3.058702 34.910809 -0.999998 +v -2.760384 35.064079 -0.999998 +v -2.510572 35.174419 -0.999998 +v -2.024714 35.353069 -0.999998 +v -1.582107 35.478981 -0.999998 +v -1.080716 35.581661 -0.999998 +v -0.754755 35.626011 -0.999998 +v -0.411912 35.653530 -0.999998 +v 0.068701 35.658569 -0.999998 +v 0.572670 35.620548 -0.999998 +v 1.096192 35.531940 -0.999998 +v 1.635463 35.385231 -0.999998 +v 2.186679 35.172890 -0.999998 +v 2.746035 34.887402 -0.999998 +v 2.771456 34.872719 -0.999998 +v 7.464162 32.163349 -0.999999 +v 15.253320 27.666241 -0.999999 +v 27.735189 20.459780 -0.999999 +v 27.760611 20.445101 -0.999999 +v 27.895399 20.354771 -0.999999 +v 28.012421 20.250940 -0.999999 +v 28.113310 20.133301 -0.999999 +v 28.195770 20.005659 -0.999999 +v 28.304729 19.730980 -0.999999 +v 28.341249 19.440559 -0.999999 +v 28.305321 19.150070 -0.999999 +v 28.196911 18.875179 -0.999999 +v 28.114700 18.747379 -0.999999 +v 28.014050 18.629551 -0.999999 +v 27.897230 18.525490 -0.999999 +v 31.698460 -17.754620 -1.000001 +v 31.678040 -18.025631 -1.000001 +v 31.618450 -18.258989 -1.000001 +v 31.522221 -18.459169 -1.000001 +v 31.427509 -18.590231 -1.000001 +v 31.314671 -18.707041 -1.000001 +v 31.184740 -18.811489 -1.000001 +v 31.038811 -18.905470 -1.000001 +v 26.822330 -21.359131 -1.000001 +v 26.698940 -21.396070 -1.000001 +v 26.574249 -21.392080 -1.000001 +v 26.458860 -21.351021 -1.000001 +v 26.363340 -21.276751 -1.000001 +v 26.298269 -21.173100 -1.000001 +v 26.274229 -21.043930 -1.000001 +v 26.274229 -11.652350 -1.000000 +v 26.240850 -11.462400 -1.000000 +v 26.157789 -11.318790 -1.000000 +v 26.037319 -11.223560 -1.000000 +v 25.891661 -11.178740 -1.000000 +v 25.733061 -11.186380 -1.000000 +v 25.573780 -11.248510 -1.000000 +v 21.562111 -13.571100 -1.000001 +v 21.370380 -13.705390 -1.000001 +v 21.218809 -13.856010 -1.000001 +v 21.105040 -14.022040 -1.000001 +v 21.043091 -14.156130 -1.000001 +v 21.000080 -14.298000 -1.000001 +v 20.966869 -14.603510 -1.000001 +v 20.966869 -24.051201 -1.000001 +v 20.956520 -24.269871 -1.000001 +v 20.904810 -24.472601 -1.000001 +v 20.816071 -24.657419 -1.000001 +v 20.727819 -24.783110 -1.000001 +v 20.623011 -24.896790 -1.000001 +v 20.371010 -25.084841 -1.000001 +v 15.581860 -27.858259 -1.000001 +v 15.463810 -27.894529 -1.000001 +v 15.340730 -27.890249 -1.000001 +v 15.224440 -27.849171 -1.000001 +v 15.126750 -27.775049 -1.000001 +v 15.059470 -27.671631 -1.000001 +v 15.034420 -27.542681 -1.000001 +v 15.034420 -18.158489 -1.000001 +v 15.003990 -18.001150 -1.000001 +v 14.921680 -17.866699 -1.000001 +v 14.800500 -17.765039 -1.000001 +v 14.653450 -17.706020 -1.000001 +v 14.493510 -17.699530 -1.000001 +v 14.333690 -17.755440 -1.000001 +v 10.169160 -20.177891 -1.000001 +v 9.977448 -20.309700 -1.000001 +v 9.825815 -20.460020 -1.000001 +v 9.711927 -20.627211 -1.000001 +v 9.649883 -20.762680 -1.000001 +v 9.606781 -20.906019 -1.000001 +v 9.573477 -21.213511 -1.000001 +v 9.573477 -30.649120 -1.000001 +v 9.540466 -30.954081 -1.000001 +v 9.497616 -31.095310 -1.000001 +v 9.435792 -31.228849 -1.000001 +v 9.354342 -31.353979 -1.000001 +v 9.251994 -31.471161 -1.000001 +v 9.126501 -31.581169 -1.000001 +v 8.977601 -31.682760 -1.000001 +v 3.623141 -34.783489 -1.000002 +v 3.518881 -34.835880 -1.000002 +v 3.407471 -34.868351 -1.000002 +v 3.280597 -34.881981 -1.000002 +v 3.149746 -34.874161 -1.000002 +v 2.895620 -34.802711 -1.000002 +v 2.651738 -34.663250 -1.000002 +v 2.434501 -34.463181 -1.000002 +v 2.260306 -34.209869 -1.000002 +v 2.192190 -34.059601 -1.000001 +v 2.142445 -33.897968 -1.000001 +v 2.114818 -33.739540 -1.000001 +v 2.106637 -33.573120 -1.000001 +v 2.133908 -3.020771 -1.000000 +v 2.166210 -2.554749 -1.000000 +v 2.207469 -2.332289 -1.000000 +v 2.266531 -2.117218 -1.000000 +v 2.344197 -1.909804 -1.000000 +v 2.441266 -1.710312 -1.000000 +v 2.624997 -1.426512 -1.000000 +v 2.856881 -1.162039 -1.000000 +v 3.139616 -0.917790 -1.000000 +v 3.475899 -0.694668 -1.000000 +v 29.570330 14.423920 -0.999999 +v 29.843470 14.553590 -0.999999 +v 30.123699 14.616530 -0.999999 +v 30.402599 14.617650 -0.999999 +v 30.671749 14.561850 -0.999999 +v 30.922720 14.454050 -0.999999 +v 31.147100 14.299160 -0.999999 +v 31.336460 14.102080 -0.999999 +v 31.482401 13.867730 -0.999999 +v 31.576481 13.601010 -0.999999 +v 31.610291 13.306840 -0.999999 +v -100.000000 -100.000000 -3.000004 +v -100.000000 100.000000 -2.999996 +v 100.000000 -100.000000 -3.000004 +v 100.000000 100.000000 -2.999996 +vn 0.0000 -0.0000 1.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.9064 -0.4224 0.0000 +vn -0.9619 -0.2734 0.0000 +vn -0.9893 -0.1457 0.0000 +vn -0.9988 -0.0492 0.0000 +vn -0.8301 -0.5576 0.0000 +vn -0.7549 -0.6559 0.0000 +vn -0.6917 -0.7222 0.0000 +vn -0.6203 -0.7843 0.0000 +vn -0.5404 -0.8414 0.0000 +vn -1.0000 0.0027 0.0000 +vn -0.1924 0.9813 0.0000 +vn -0.0118 0.9999 0.0000 +vn 0.1317 0.9913 0.0000 +vn 0.2422 0.9702 0.0000 +vn 0.3866 0.9222 0.0000 +vn 0.3867 0.9222 0.0000 +vn -0.3816 0.9243 0.0000 +vn -0.5820 0.8132 0.0000 +vn -0.7653 0.6437 0.0000 +vn -0.8938 0.4486 0.0000 +vn -0.9669 0.2550 0.0000 +vn -0.9968 0.0803 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5905 0.8070 0.0000 +vn -0.7430 0.6693 0.0000 +vn -0.8591 0.5118 0.0000 +vn -0.9369 0.3497 0.0000 +vn -0.9369 0.3496 0.0000 +vn -0.9917 0.1285 0.0000 +vn -0.4085 0.9127 0.0000 +vn -0.2132 0.9770 0.0000 +vn -0.0176 0.9998 0.0000 +vn 0.1638 0.9865 0.0000 +vn 0.3854 0.9227 0.0000 +vn -1.0000 0.0031 0.0000 +vn -0.8288 -0.5596 0.0000 +vn -0.7321 -0.6812 0.0000 +vn -0.5934 -0.8049 0.0000 +vn -0.9014 -0.4329 0.0000 +vn -0.9575 -0.2883 0.0000 +vn -0.9942 -0.1071 0.0000 +vn -0.8321 -0.5546 0.0000 +vn -0.9119 -0.4103 0.0000 +vn -0.9669 -0.2552 0.0000 +vn -0.9962 -0.0871 0.0000 +vn -0.7548 -0.6559 0.0000 +vn -0.6936 -0.7203 0.0000 +vn -0.6267 -0.7793 0.0000 +vn -0.5544 -0.8322 0.0000 +vn -0.9998 0.0209 0.0000 +vn -0.1249 0.9922 0.0000 +vn 0.0703 0.9975 0.0000 +vn 0.2111 0.9775 0.0000 +vn 0.3099 0.9508 0.0000 +vn 0.3969 0.9179 0.0000 +vn 0.4725 0.8814 0.0000 +vn -0.3428 0.9394 0.0000 +vn -0.5577 0.8301 0.0000 +vn -0.7384 0.6743 0.0000 +vn -0.8672 0.4980 0.0000 +vn -0.9380 0.3465 0.0000 +vn -0.9740 0.2267 0.0000 +vn -0.9976 0.0690 0.0000 +vn 0.9001 0.4357 0.0000 +vn 0.9580 0.2869 0.0000 +vn 0.9945 0.1049 0.0000 +vn 0.8242 0.5663 0.0000 +vn 0.7245 0.6892 0.0000 +vn 0.5877 0.8091 0.0000 +vn 1.0000 -0.0088 0.0000 +vn 0.4944 -0.8692 0.0000 +vn 0.2546 -0.9670 0.0000 +vn 0.0021 -1.0000 0.0000 +vn -0.2402 -0.9707 0.0000 +vn 0.6994 -0.7147 0.0000 +vn 0.8542 -0.5199 0.0000 +vn 0.9522 -0.3054 0.0000 +vn 0.9958 -0.0913 0.0000 +vn 0.9958 -0.0912 0.0000 +vn 0.4520 0.8920 0.0000 +vn 0.3606 0.9327 0.0000 +vn 0.2728 0.9621 0.0000 +vn 0.1880 0.9822 0.0000 +vn 0.0723 0.9974 0.0000 +vn -0.0751 0.9972 0.0000 +vn -0.1907 0.9816 0.0000 +vn -0.2755 0.9613 0.0000 +vn -0.3632 0.9317 0.0000 +vn -0.4544 0.8908 0.0000 +vn -0.5025 0.8646 0.0000 +vn -0.5803 0.8144 0.0000 +vn -0.7023 0.7119 0.0000 +vn -0.7826 0.6225 0.0000 +vn -0.8695 0.4939 0.0000 +vn -0.9493 0.3143 0.0000 +vn -0.9942 0.1073 0.0000 +vn -0.9939 -0.1101 0.0000 +vn -0.9484 -0.3169 0.0000 +vn -0.8681 -0.4963 0.0000 +vn -0.7808 -0.6248 0.0000 +vn -0.7808 -0.6247 0.0000 +vn -0.7002 -0.7139 0.0000 +vn -0.5779 -0.8161 0.0000 +vn 0.5024 -0.8646 0.0000 +vn -0.4942 0.8694 0.0000 +vn -0.4432 0.8964 0.0000 +vn -0.3209 0.9471 0.0000 +vn -0.1943 0.9809 0.0000 +vn -0.0654 0.9979 0.0000 +vn 0.0643 0.9979 0.0000 +vn 0.1932 0.9812 0.0000 +vn 0.3198 0.9475 0.0000 +vn 0.4420 0.8970 0.0000 +vn 0.4929 0.8701 0.0000 +vn 0.5690 0.8223 0.0000 +vn 0.6954 0.7186 0.0000 +vn 0.8025 0.5967 0.0000 +vn 0.8868 0.4622 0.0000 +vn 0.9389 0.3441 0.0000 +vn 0.9688 0.2477 0.0000 +vn 0.9887 0.1496 0.0000 +vn 0.9887 0.1497 0.0000 +vn 0.9987 0.0506 0.0000 +vn 0.9988 -0.0486 0.0000 +vn 0.9890 -0.1477 0.0000 +vn 0.9693 -0.2457 0.0000 +vn 0.9396 -0.3422 0.0000 +vn 0.8877 -0.4604 0.0000 +vn 0.8036 -0.5951 0.0000 +vn 0.6969 -0.7172 0.0000 +vn 0.5706 -0.8212 0.0000 +vn 0.5025 -0.8646 0.0000 +vn 0.5019 -0.8649 0.0000 +vn 0.4570 -0.8895 0.0000 +vn 0.4040 -0.9147 0.0000 +vn 0.3451 -0.9386 0.0000 +vn 0.2736 -0.9618 0.0000 +vn 0.2006 -0.9797 0.0000 +vn 0.1348 -0.9909 0.0000 +vn 0.0800 -0.9968 0.0000 +vn 0.0105 -0.9999 0.0000 +vn -0.0752 -0.9972 0.0000 +vn -0.1669 -0.9860 0.0000 +vn -0.2625 -0.9649 0.0000 +vn -0.3595 -0.9332 0.0000 +vn -0.4546 -0.8907 0.0000 +vn -0.5001 -0.8659 0.0000 +vn -0.5002 -0.8659 0.0000 +vn -0.5001 -0.8660 0.0000 +vn -0.5567 -0.8307 0.0000 +vn -0.6637 -0.7480 0.0000 +vn -0.7591 -0.6510 0.0000 +vn -0.8400 -0.5427 0.0000 +vn -0.8400 -0.5426 0.0000 +vn -0.9295 -0.3687 0.0000 +vn -0.9922 -0.1248 0.0000 +vn -0.9924 0.1228 0.0000 +vn -0.9924 0.1227 0.0000 +vn -0.9303 0.3669 0.0000 +vn -0.8410 0.5410 0.0000 +vn -0.7604 0.6495 0.0000 +vn -0.6651 0.7467 0.0000 +vn -0.6652 0.7467 0.0000 +vn -0.5583 0.8296 0.0000 +vn -0.9972 0.0751 0.0000 +vn -0.9689 0.2474 0.0000 +vn -0.9013 0.4333 0.0000 +vn -0.8105 0.5857 0.0000 +vn -0.7192 0.6948 0.0000 +vn -0.6265 0.7794 0.0000 +vn -0.5414 0.8407 0.0000 +vn -0.5415 0.8407 0.0000 +vn -0.5030 0.8643 0.0000 +vn -0.2868 0.9580 0.0000 +vn 0.0320 0.9995 0.0000 +vn 0.3352 0.9421 0.0000 +vn 0.6138 0.7894 0.0000 +vn 0.8469 0.5317 0.0000 +vn 0.9831 0.1830 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.9849 0.1731 0.0000 +vn 0.8656 0.5007 0.0000 +vn 0.6201 0.7845 0.0000 +vn 0.2941 0.9558 0.0000 +vn -0.0481 0.9988 0.0000 +vn -0.3634 0.9316 0.0000 +vn -0.5010 0.8654 0.0000 +vn -0.5737 0.8191 0.0000 +vn -0.7049 0.7093 0.0000 +vn -0.8249 0.5653 0.0000 +vn -0.9078 0.4194 0.0000 +vn -0.9570 0.2901 0.0000 +vn -0.9941 0.1081 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.9989 0.0473 0.0000 +vn -0.9690 0.2472 0.0000 +vn -0.9690 0.2471 0.0000 +vn -0.9015 0.4328 0.0000 +vn -0.8184 0.5746 0.0000 +vn -0.7352 0.6778 0.0000 +vn -0.5981 0.8014 0.0000 +vn -0.5011 0.8654 0.0000 +vn -0.2937 0.9559 0.0000 +vn 0.0348 0.9994 0.0000 +vn 0.3331 0.9429 0.0000 +vn 0.6044 0.7966 0.0000 +vn 0.6045 0.7966 0.0000 +vn 0.8382 0.5453 0.0000 +vn 0.9817 0.1907 0.0000 +vn 0.9816 0.1907 0.0000 +vn 0.9818 0.1899 0.0000 +vn 0.8529 0.5221 0.0000 +vn 0.6427 0.7661 0.0000 +vn 0.3725 0.9280 0.0000 +vn 0.0405 0.9992 0.0000 +vn -0.3302 0.9439 0.0000 +vn -0.5028 0.8644 0.0000 +vn -0.5666 0.8240 0.0000 +vn -0.7040 0.7102 0.0000 +vn -0.8265 0.5630 0.0000 +vn -0.9092 0.4164 0.0000 +vn -0.9576 0.2880 0.0000 +vn -0.9942 0.1077 0.0000 +vn -0.9942 0.1076 0.0000 +vn -0.9569 0.2903 0.0000 +vn -0.9075 0.4201 0.0000 +vn -0.8381 0.5455 0.0000 +vn -0.7532 0.6578 0.0000 +vn -0.6592 0.7520 0.0000 +vn -0.5636 0.8260 0.0000 +vn -0.5636 0.8261 0.0000 +vn -0.4490 0.8935 0.0000 +vn -0.2798 0.9601 0.0000 +vn -0.1068 0.9943 0.0000 +vn 0.0597 0.9982 0.0000 +vn 0.2707 0.9627 0.0000 +vn 0.4964 0.8681 0.0000 +vn 0.6774 0.7356 0.0000 +vn 0.8240 0.5666 0.0000 +vn 0.9108 0.4129 0.0000 +vn 0.9558 0.2942 0.0000 +vn 0.9558 0.2941 0.0000 +vn 0.9851 0.1718 0.0000 +vn 0.9988 0.0491 0.0000 +vn 1.0000 -0.0009 0.0000 +vn 0.9976 -0.0691 0.0000 +vn 0.9832 -0.1824 0.0000 +vn 0.9643 -0.2648 0.0000 +vn 0.9365 -0.3507 0.0000 +vn 0.8992 -0.4375 0.0000 +vn 0.8394 -0.5435 0.0000 +vn 0.8394 -0.5434 0.0000 +vn 0.7519 -0.6593 0.0000 +vn 0.6537 -0.7567 0.0000 +vn 0.5529 -0.8333 0.0000 +vn 0.5013 -0.8653 0.0000 +vn 0.4289 -0.9034 0.0000 +vn 0.2191 -0.9757 0.0000 +vn 0.0040 -1.0000 0.0000 +vn -0.2030 -0.9792 0.0000 +vn -0.3947 -0.9188 0.0000 +vn -0.5681 -0.8230 0.0000 +vn -0.7211 -0.6928 0.0000 +vn -0.8489 -0.5286 0.0000 +vn -0.9431 -0.3326 0.0000 +vn -0.9935 -0.1142 0.0000 +vn -1.0000 -0.0028 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +usemtl None +s off +f 1//1 2//1 3//1 +f 1//1 3//1 4//1 +f 1//1 4//1 5//1 +f 1//1 5//1 6//1 +f 1//1 6//1 7//1 +f 1//1 7//1 8//1 +f 1//1 8//1 9//1 +f 1//1 9//1 10//1 +f 1//1 10//1 11//1 +f 1//1 11//1 12//1 +f 1//1 12//1 13//1 +f 1//1 13//1 14//1 +f 1//1 14//1 15//1 +f 3//1 2//1 16//1 +f 16//1 2//1 17//1 +f 16//1 17//1 18//1 +f 18//1 17//1 19//1 +f 18//1 19//1 20//1 +f 20//1 19//1 21//1 +f 20//1 21//1 22//1 +f 22//1 21//1 23//1 +f 22//1 23//1 24//1 +f 24//1 23//1 25//1 +f 24//1 25//1 26//1 +f 27//1 28//1 29//1 +f 29//1 28//1 30//1 +f 30//1 28//1 31//1 +f 31//1 28//1 32//1 +f 32//1 28//1 33//1 +f 33//1 28//1 34//1 +f 35//1 36//1 37//1 +f 37//1 36//1 38//1 +f 38//1 36//1 39//1 +f 39//1 36//1 40//1 +f 40//1 36//1 41//1 +f 42//1 43//1 44//1 +f 42//1 44//1 45//1 +f 42//1 45//1 46//1 +f 42//1 46//1 47//1 +f 42//1 47//1 48//1 +f 42//1 48//1 49//1 +f 42//1 49//1 50//1 +f 42//1 50//1 51//1 +f 52//1 53//1 54//1 +f 52//1 54//1 55//1 +f 52//1 55//1 56//1 +f 52//1 56//1 57//1 +f 52//1 57//1 58//1 +f 59//1 60//1 61//1 +f 59//1 61//1 62//1 +f 59//1 62//1 63//1 +f 59//1 63//1 64//1 +f 59//1 64//1 65//1 +f 59//1 65//1 66//1 +f 59//1 66//1 67//1 +f 59//1 67//1 68//1 +f 59//1 68//1 69//1 +f 59//1 69//1 36//1 +f 59//1 36//1 35//1 +f 59//1 35//1 70//1 +f 59//1 70//1 71//1 +f 59//1 71//1 72//1 +f 59//1 72//1 73//1 +f 74//1 75//1 76//1 +f 74//1 76//1 77//1 +f 74//1 77//1 78//1 +f 74//1 78//1 79//1 +f 74//1 79//1 80//1 +f 74//1 80//1 81//1 +f 74//1 81//1 82//1 +f 74//1 82//1 83//1 +f 74//1 83//1 84//1 +f 74//1 84//1 85//1 +f 74//1 85//1 86//1 +f 74//1 86//1 87//1 +f 74//1 87//1 88//1 +f 74//1 88//1 89//1 +f 74//1 89//1 90//1 +f 74//1 90//1 91//1 +f 74//1 91//1 92//1 +f 74//1 92//1 93//1 +f 74//1 93//1 94//1 +f 74//1 94//1 95//1 +f 74//1 95//1 96//1 +f 75//1 97//1 98//1 +f 75//1 98//1 99//1 +f 75//1 99//1 28//1 +f 75//1 28//1 27//1 +f 75//1 27//1 100//1 +f 75//1 100//1 101//1 +f 75//1 101//1 102//1 +f 75//1 102//1 103//1 +f 75//1 103//1 104//1 +f 75//1 104//1 105//1 +f 75//1 105//1 106//1 +f 75//1 106//1 107//1 +f 75//1 107//1 108//1 +f 75//1 108//1 109//1 +f 75//1 109//1 110//1 +f 75//1 110//1 111//1 +f 75//1 111//1 112//1 +f 75//1 112//1 113//1 +f 75//1 113//1 114//1 +f 75//1 114//1 115//1 +f 75//1 115//1 116//1 +f 75//1 116//1 117//1 +f 75//1 117//1 118//1 +f 75//1 118//1 119//1 +f 75//1 119//1 76//1 +f 120//1 74//1 96//1 +f 120//1 96//1 121//1 +f 120//1 121//1 122//1 +f 120//1 122//1 123//1 +f 120//1 123//1 124//1 +f 120//1 124//1 125//1 +f 120//1 125//1 126//1 +f 120//1 126//1 127//1 +f 120//1 127//1 128//1 +f 120//1 128//1 129//1 +f 120//1 129//1 97//1 +f 130//1 53//1 52//1 +f 130//1 52//1 131//1 +f 130//1 131//1 132//1 +f 130//1 132//1 133//1 +f 130//1 133//1 134//1 +f 77//1 130//1 134//1 +f 77//1 134//1 135//1 +f 77//1 135//1 136//1 +f 77//1 136//1 137//1 +f 77//1 137//1 138//1 +f 77//1 138//1 139//1 +f 77//1 139//1 140//1 +f 77//1 140//1 141//1 +f 77//1 141//1 142//1 +f 77//1 142//1 78//1 +f 44//1 43//1 143//1 +f 44//1 143//1 144//1 +f 44//1 144//1 145//1 +f 44//1 145//1 146//1 +f 57//1 147//1 148//1 +f 57//1 148//1 44//1 +f 57//1 44//1 146//1 +f 57//1 146//1 149//1 +f 57//1 149//1 150//1 +f 57//1 150//1 151//1 +f 57//1 151//1 58//1 +f 152//1 41//1 36//1 +f 152//1 36//1 153//1 +f 152//1 153//1 154//1 +f 152//1 154//1 155//1 +f 152//1 155//1 156//1 +f 152//1 156//1 157//1 +f 152//1 157//1 158//1 +f 152//1 158//1 159//1 +f 160//1 161//1 162//1 +f 160//1 162//1 163//1 +f 160//1 163//1 164//1 +f 160//1 164//1 73//1 +f 160//1 73//1 72//1 +f 153//1 36//1 165//1 +f 153//1 165//1 166//1 +f 153//1 166//1 167//1 +f 153//1 167//1 168//1 +f 167//1 169//1 170//1 +f 167//1 170//1 171//1 +f 167//1 171//1 172//1 +f 167//1 172//1 173//1 +f 167//1 173//1 168//1 +f 174//1 175//1 176//1 +f 174//1 176//1 177//1 +f 174//1 177//1 178//1 +f 174//1 178//1 179//1 +f 174//1 179//1 180//1 +f 174//1 180//1 181//1 +f 174//1 181//1 182//1 +f 174//1 182//1 183//1 +f 178//1 177//1 184//1 +f 178//1 184//1 185//1 +f 178//1 185//1 186//1 +f 178//1 186//1 187//1 +f 175//1 34//1 28//1 +f 175//1 28//1 188//1 +f 175//1 188//1 189//1 +f 175//1 189//1 190//1 +f 175//1 190//1 191//1 +f 175//1 191//1 176//1 +f 97//1 129//1 192//1 +f 97//1 192//1 193//1 +f 97//1 193//1 194//1 +f 97//1 194//1 195//1 +f 97//1 195//1 196//1 +f 97//1 196//1 197//1 +f 97//1 197//1 198//1 +f 97//1 198//1 199//1 +f 97//1 199//1 200//1 +f 97//1 200//1 201//1 +f 97//1 201//1 202//1 +f 97//1 202//1 203//1 +f 97//1 203//1 204//1 +f 97//1 204//1 205//1 +f 97//1 205//1 206//1 +f 97//1 206//1 207//1 +f 97//1 207//1 208//1 +f 97//1 208//1 209//1 +f 97//1 209//1 210//1 +f 97//1 210//1 211//1 +f 97//1 211//1 212//1 +f 97//1 212//1 98//1 +f 213//1 194//1 193//1 +f 213//1 193//1 214//1 +f 213//1 214//1 215//1 +f 213//1 215//1 216//1 +f 213//1 216//1 217//1 +f 213//1 217//1 218//1 +f 213//1 218//1 42//1 +f 213//1 42//1 51//1 +f 219//1 207//1 220//1 +f 219//1 220//1 221//1 +f 219//1 221//1 222//1 +f 219//1 222//1 223//1 +f 219//1 223//1 224//1 +f 219//1 224//1 225//1 +f 219//1 225//1 226//1 +f 219//1 226//1 227//1 +f 207//1 206//1 228//1 +f 207//1 228//1 229//1 +f 207//1 229//1 230//1 +f 207//1 230//1 231//1 +f 207//1 231//1 220//1 +f 148//1 147//1 232//1 +f 232//1 147//1 233//1 +f 232//1 233//1 234//1 +f 232//1 234//1 235//1 +f 235//1 234//1 236//1 +f 235//1 236//1 237//1 +f 237//1 236//1 238//1 +f 237//1 238//1 239//1 +f 239//1 238//1 240//1 +f 239//1 240//1 241//1 +f 241//1 240//1 242//1 +f 242//1 240//1 243//1 +f 242//1 243//1 244//1 +f 244//1 243//1 60//1 +f 60//1 243//1 245//1 +f 60//1 245//1 61//1 +f 162//1 161//1 246//1 +f 246//1 161//1 247//1 +f 246//1 247//1 248//1 +f 248//1 247//1 249//1 +f 248//1 249//1 250//1 +f 248//1 250//1 251//1 +f 251//1 250//1 252//1 +f 251//1 252//1 253//1 +f 253//1 252//1 104//1 +f 253//1 104//1 103//1 +f 254//1 255//1 256//1 +f 256//1 255//1 257//1 +f 256//1 257//1 169//1 +f 169//1 257//1 258//1 +f 169//1 258//1 170//1 +f 187//1 186//1 259//1 +f 259//1 186//1 260//1 +f 261//1 262//1 263//1 +f 263//1 262//1 264//1 +f 263//1 264//1 265//1 +f 265//1 264//1 222//1 +f 265//1 222//1 266//1 +f 266//1 222//1 221//1 +f 267//2 268//2 56//2 +f 56//2 268//2 57//2 +f 238//3 269//3 240//3 +f 240//4 269//4 270//4 +f 240//4 270//4 243//4 +f 243//5 270//5 271//5 +f 243//5 271//5 245//5 +f 245//6 271//6 272//6 +f 245//6 272//6 61//6 +f 269//3 238//3 273//3 +f 273//7 238//7 236//7 +f 273//7 236//7 274//7 +f 274//8 236//8 234//8 +f 274//8 234//8 275//8 +f 275//9 234//9 233//9 +f 275//9 233//9 276//9 +f 276//10 233//10 147//10 +f 276//10 147//10 277//10 +f 277//11 147//11 57//11 +f 277//11 57//11 268//11 +f 272//12 278//12 61//12 +f 61//12 278//12 62//12 +f 68//13 279//13 69//13 +f 69//14 279//14 280//14 +f 69//14 280//14 36//14 +f 36//15 280//15 281//15 +f 36//15 281//15 165//15 +f 165//16 281//16 282//16 +f 165//16 282//16 166//16 +f 166//17 282//17 283//17 +f 166//18 283//18 167//18 +f 279//13 68//13 284//13 +f 284//19 68//19 67//19 +f 284//19 67//19 285//19 +f 285//20 67//20 66//20 +f 285//20 66//20 286//20 +f 286//21 66//21 65//21 +f 286//21 65//21 287//21 +f 287//22 65//22 64//22 +f 287//22 64//22 288//22 +f 288//23 64//23 63//23 +f 288//23 63//23 289//23 +f 289//24 63//24 62//24 +f 289//24 62//24 278//24 +f 283//25 290//25 167//25 +f 167//25 290//25 169//25 +f 258//26 291//26 170//26 +f 170//27 291//27 292//27 +f 170//27 292//27 171//27 +f 171//28 292//28 293//28 +f 171//28 293//28 172//28 +f 172//29 293//29 294//29 +f 172//30 294//30 173//30 +f 173//31 294//31 295//31 +f 173//31 295//31 168//31 +f 291//26 258//26 296//26 +f 296//32 258//32 257//32 +f 296//32 257//32 297//32 +f 297//33 257//33 255//33 +f 297//33 255//33 298//33 +f 298//34 255//34 254//34 +f 298//34 254//34 299//34 +f 299//35 254//35 256//35 +f 299//35 256//35 300//35 +f 300//36 256//36 169//36 +f 300//36 169//36 290//36 +f 295//37 301//37 168//37 +f 168//37 301//37 153//37 +f 156//38 302//38 157//38 +f 157//39 302//39 303//39 +f 157//39 303//39 158//39 +f 158//40 303//40 304//40 +f 158//40 304//40 159//40 +f 302//38 156//38 305//38 +f 305//41 156//41 155//41 +f 305//41 155//41 306//41 +f 306//42 155//42 154//42 +f 306//42 154//42 307//42 +f 307//43 154//43 153//43 +f 307//43 153//43 301//43 +f 304//2 308//2 159//2 +f 159//2 308//2 152//2 +f 38//44 309//44 37//44 +f 37//45 309//45 310//45 +f 37//45 310//45 35//45 +f 35//46 310//46 311//46 +f 35//46 311//46 70//46 +f 70//47 311//47 312//47 +f 70//47 312//47 71//47 +f 309//44 38//44 313//44 +f 313//48 38//48 39//48 +f 313//48 39//48 314//48 +f 314//49 39//49 40//49 +f 314//49 40//49 315//49 +f 315//50 40//50 41//50 +f 315//50 41//50 316//50 +f 316//51 41//51 152//51 +f 316//51 152//51 308//51 +f 312//52 317//52 71//52 +f 71//52 317//52 72//52 +f 104//53 318//53 105//53 +f 105//54 318//54 319//54 +f 105//54 319//54 106//54 +f 106//55 319//55 320//55 +f 106//55 320//55 107//55 +f 107//56 320//56 321//56 +f 107//56 321//56 108//56 +f 108//57 321//57 322//57 +f 108//57 322//57 109//57 +f 109//58 322//58 323//58 +f 109//58 323//58 110//58 +f 318//53 104//53 324//53 +f 324//59 104//59 252//59 +f 324//59 252//59 325//59 +f 325//60 252//60 250//60 +f 325//60 250//60 326//60 +f 326//61 250//61 249//61 +f 326//61 249//61 327//61 +f 327//62 249//62 247//62 +f 327//62 247//62 328//62 +f 328//63 247//63 161//63 +f 328//63 161//63 329//63 +f 329//64 161//64 160//64 +f 329//64 160//64 330//64 +f 330//65 160//65 72//65 +f 330//65 72//65 317//65 +f 323//25 331//25 110//25 +f 110//25 331//25 111//25 +f 114//66 332//66 115//66 +f 115//67 332//67 333//67 +f 115//67 333//67 116//67 +f 116//68 333//68 334//68 +f 116//68 334//68 117//68 +f 332//66 114//66 335//66 +f 335//69 114//69 113//69 +f 335//69 113//69 336//69 +f 336//70 113//70 112//70 +f 336//70 112//70 337//70 +f 337//71 112//71 111//71 +f 337//71 111//71 331//71 +f 334//72 338//72 117//72 +f 117//72 338//72 118//72 +f 130//73 339//73 53//73 +f 53//74 339//74 340//74 +f 53//74 340//74 54//74 +f 54//75 340//75 341//75 +f 54//75 341//75 55//75 +f 55//76 341//76 267//76 +f 55//76 267//76 56//76 +f 339//73 130//73 342//73 +f 342//77 130//77 77//77 +f 342//77 77//77 343//77 +f 343//78 77//78 76//78 +f 343//78 76//78 344//78 +f 344//79 76//79 119//79 +f 344//79 119//79 345//79 +f 345//80 119//80 118//80 +f 345//81 118//81 338//81 +f 346//25 17//25 347//25 +f 347//25 17//25 2//25 +f 17//82 346//82 19//82 +f 19//82 346//82 348//82 +f 19//83 348//83 21//83 +f 21//83 348//83 349//83 +f 21//84 349//84 23//84 +f 23//84 349//84 350//84 +f 23//85 350//85 25//85 +f 25//85 350//85 351//85 +f 25//86 351//86 26//86 +f 26//86 351//86 352//86 +f 26//87 352//87 24//87 +f 24//87 352//87 353//87 +f 24//88 353//88 22//88 +f 22//88 353//88 354//88 +f 22//89 354//89 20//89 +f 20//89 354//89 355//89 +f 20//90 355//90 18//90 +f 18//90 355//90 356//90 +f 18//91 356//91 16//91 +f 16//91 356//91 357//91 +f 358//92 3//92 357//92 +f 357//92 3//92 16//92 +f 3//93 358//93 4//93 +f 4//93 358//93 359//93 +f 4//94 359//94 5//94 +f 5//94 359//94 360//94 +f 5//95 360//95 6//95 +f 6//95 360//95 361//95 +f 6//96 361//96 7//96 +f 7//96 361//96 362//96 +f 7//97 362//97 8//97 +f 8//97 362//97 363//97 +f 8//98 363//98 9//98 +f 9//98 363//98 364//98 +f 9//99 364//99 10//99 +f 10//99 364//99 365//99 +f 10//100 365//100 11//100 +f 11//100 365//100 366//100 +f 11//101 366//101 12//101 +f 12//101 366//101 367//101 +f 12//102 367//102 13//102 +f 13//103 367//103 368//103 +f 13//104 368//104 14//104 +f 14//104 368//104 369//104 +f 14//105 369//105 15//105 +f 15//105 369//105 370//105 +f 371//2 1//2 370//2 +f 370//2 1//2 15//2 +f 347//106 2//106 371//106 +f 371//106 2//106 1//106 +f 372//107 43//107 373//107 +f 373//107 43//107 42//107 +f 43//108 372//108 143//108 +f 143//108 372//108 374//108 +f 143//109 374//109 144//109 +f 144//109 374//109 375//109 +f 144//110 375//110 145//110 +f 145//110 375//110 376//110 +f 145//111 376//111 146//111 +f 146//111 376//111 377//111 +f 146//112 377//112 149//112 +f 149//112 377//112 378//112 +f 149//113 378//113 150//113 +f 150//113 378//113 379//113 +f 150//114 379//114 151//114 +f 151//114 379//114 380//114 +f 151//115 380//115 58//115 +f 58//115 380//115 381//115 +f 382//116 52//116 381//116 +f 381//116 52//116 58//116 +f 52//117 382//117 131//117 +f 131//117 382//117 383//117 +f 131//118 383//118 132//118 +f 132//118 383//118 384//118 +f 132//119 384//119 133//119 +f 133//119 384//119 385//119 +f 133//120 385//120 134//120 +f 134//120 385//120 386//120 +f 134//121 386//121 135//121 +f 135//121 386//121 387//121 +f 135//122 387//122 136//122 +f 136//122 387//122 388//122 +f 136//123 388//123 137//123 +f 137//124 388//124 389//124 +f 137//125 389//125 138//125 +f 138//125 389//125 390//125 +f 138//126 390//126 139//126 +f 139//126 390//126 391//126 +f 139//127 391//127 140//127 +f 140//127 391//127 392//127 +f 140//128 392//128 141//128 +f 141//128 392//128 393//128 +f 141//129 393//129 142//129 +f 142//129 393//129 394//129 +f 142//130 394//130 78//130 +f 78//130 394//130 395//130 +f 78//131 395//131 79//131 +f 79//131 395//131 396//131 +f 79//132 396//132 80//132 +f 80//132 396//132 397//132 +f 80//133 397//133 81//133 +f 81//133 397//133 398//133 +f 399//134 82//134 398//134 +f 398//134 82//134 81//134 +f 83//135 82//135 400//135 +f 400//135 82//135 399//135 +f 83//136 400//136 84//136 +f 84//136 400//136 401//136 +f 84//137 401//137 85//137 +f 85//137 401//137 402//137 +f 85//138 402//138 86//138 +f 86//138 402//138 403//138 +f 86//139 403//139 87//139 +f 87//139 403//139 404//139 +f 87//140 404//140 88//140 +f 88//140 404//140 405//140 +f 88//141 405//141 89//141 +f 89//141 405//141 406//141 +f 89//142 406//142 90//142 +f 90//142 406//142 407//142 +f 90//143 407//143 91//143 +f 91//143 407//143 408//143 +f 91//144 408//144 92//144 +f 92//144 408//144 409//144 +f 92//145 409//145 93//145 +f 93//145 409//145 410//145 +f 93//146 410//146 94//146 +f 94//146 410//146 411//146 +f 94//147 411//147 95//147 +f 95//147 411//147 412//147 +f 95//148 412//148 96//148 +f 96//148 412//148 413//148 +f 96//149 413//149 121//149 +f 121//150 413//150 414//150 +f 121//2 414//2 122//2 +f 122//2 414//2 415//2 +f 122//2 415//2 123//2 +f 123//2 415//2 416//2 +f 123//2 416//2 124//2 +f 124//2 416//2 417//2 +f 124//151 417//151 125//151 +f 125//151 417//151 418//151 +f 125//152 418//152 126//152 +f 126//152 418//152 419//152 +f 126//153 419//153 127//153 +f 127//153 419//153 420//153 +f 127//154 420//154 128//154 +f 128//154 420//154 421//154 +f 128//155 421//155 129//155 +f 129//156 421//156 422//156 +f 129//157 422//157 192//157 +f 192//157 422//157 423//157 +f 192//158 423//158 193//158 +f 193//158 423//158 424//158 +f 193//159 424//159 214//159 +f 214//160 424//160 425//160 +f 214//161 425//161 215//161 +f 215//161 425//161 426//161 +f 215//162 426//162 216//162 +f 216//162 426//162 427//162 +f 216//163 427//163 217//163 +f 217//163 427//163 428//163 +f 217//164 428//164 218//164 +f 218//165 428//165 429//165 +f 218//166 429//166 42//166 +f 42//166 429//166 373//166 +f 197//167 430//167 198//167 +f 198//167 430//167 431//167 +f 198//168 431//168 199//168 +f 199//168 431//168 432//168 +f 199//169 432//169 200//169 +f 200//169 432//169 433//169 +f 200//170 433//170 201//170 +f 201//170 433//170 434//170 +f 201//171 434//171 202//171 +f 202//171 434//171 435//171 +f 202//172 435//172 203//172 +f 203//172 435//172 436//172 +f 203//173 436//173 204//173 +f 204//174 436//174 437//174 +f 438//175 205//175 437//175 +f 437//175 205//175 204//175 +f 205//176 438//176 206//176 +f 206//176 438//176 439//176 +f 206//177 439//177 228//177 +f 228//177 439//177 440//177 +f 228//178 440//178 229//178 +f 229//178 440//178 441//178 +f 229//179 441//179 230//179 +f 230//179 441//179 442//179 +f 230//180 442//180 231//180 +f 231//180 442//180 443//180 +f 231//181 443//181 220//181 +f 220//181 443//181 444//181 +f 445//182 221//182 444//182 +f 444//182 221//182 220//182 +f 221//183 445//183 266//183 +f 266//183 445//183 446//183 +f 266//184 446//184 265//184 +f 265//184 446//184 447//184 +f 265//185 447//185 263//185 +f 263//185 447//185 448//185 +f 263//186 448//186 261//186 +f 261//186 448//186 449//186 +f 261//187 449//187 262//187 +f 262//187 449//187 450//187 +f 262//188 450//188 264//188 +f 264//188 450//188 451//188 +f 452//189 222//189 451//189 +f 451//189 222//189 264//189 +f 222//190 452//190 223//190 +f 223//190 452//190 453//190 +f 223//191 453//191 224//191 +f 224//191 453//191 454//191 +f 224//192 454//192 225//192 +f 225//192 454//192 455//192 +f 225//193 455//193 226//193 +f 226//193 455//193 456//193 +f 226//194 456//194 227//194 +f 227//194 456//194 457//194 +f 227//195 457//195 219//195 +f 219//195 457//195 458//195 +f 459//196 207//196 458//196 +f 458//196 207//196 219//196 +f 207//197 459//197 208//197 +f 208//197 459//197 460//197 +f 208//198 460//198 209//198 +f 209//199 460//199 461//199 +f 209//200 461//200 210//200 +f 210//200 461//200 462//200 +f 210//201 462//201 211//201 +f 211//201 462//201 463//201 +f 211//202 463//202 212//202 +f 212//202 463//202 464//202 +f 212//203 464//203 98//203 +f 98//203 464//203 465//203 +f 466//204 99//204 465//204 +f 465//204 99//204 98//204 +f 99//205 466//205 28//205 +f 28//205 466//205 467//205 +f 28//206 467//206 188//206 +f 188//206 467//206 468//206 +f 188//207 468//207 189//207 +f 189//207 468//207 469//207 +f 189//208 469//208 190//208 +f 190//209 469//209 470//209 +f 190//210 470//210 191//210 +f 191//210 470//210 471//210 +f 191//211 471//211 176//211 +f 176//212 471//212 472//212 +f 473//182 177//182 472//182 +f 472//182 177//182 176//182 +f 177//213 473//213 184//213 +f 184//213 473//213 474//213 +f 184//214 474//214 185//214 +f 185//214 474//214 475//214 +f 185//215 475//215 186//215 +f 186//215 475//215 476//215 +f 186//216 476//216 260//216 +f 260//216 476//216 477//216 +f 260//217 477//217 259//217 +f 259//217 477//217 478//217 +f 259//218 478//218 187//218 +f 187//218 478//218 479//218 +f 480//219 178//219 479//219 +f 479//219 178//219 187//219 +f 178//220 480//220 179//220 +f 179//220 480//220 481//220 +f 179//221 481//221 180//221 +f 180//221 481//221 482//221 +f 180//222 482//222 181//222 +f 181//222 482//222 483//222 +f 181//223 483//223 182//223 +f 182//223 483//223 484//223 +f 182//224 484//224 183//224 +f 183//224 484//224 485//224 +f 183//225 485//225 174//225 +f 174//225 485//225 486//225 +f 487//196 175//196 486//196 +f 486//196 175//196 174//196 +f 175//226 487//226 34//226 +f 34//226 487//226 488//226 +f 34//227 488//227 33//227 +f 33//227 488//227 489//227 +f 33//228 489//228 32//228 +f 32//228 489//228 490//228 +f 32//229 490//229 31//229 +f 31//229 490//229 491//229 +f 31//230 491//230 30//230 +f 30//230 491//230 492//230 +f 30//231 492//231 29//231 +f 29//231 492//231 493//231 +f 29//232 493//232 27//232 +f 27//233 493//233 494//233 +f 495//204 100//204 494//204 +f 494//204 100//204 27//204 +f 100//234 495//234 101//234 +f 101//234 495//234 496//234 +f 101//235 496//235 102//235 +f 102//235 496//235 497//235 +f 102//236 497//236 103//236 +f 103//236 497//236 498//236 +f 103//237 498//237 253//237 +f 253//237 498//237 499//237 +f 253//238 499//238 251//238 +f 251//238 499//238 500//238 +f 251//239 500//239 248//239 +f 248//239 500//239 501//239 +f 248//240 501//240 246//240 +f 246//240 501//240 502//240 +f 246//241 502//241 162//241 +f 162//241 502//241 503//241 +f 162//242 503//242 163//242 +f 163//242 503//242 504//242 +f 163//243 504//243 164//243 +f 164//244 504//244 505//244 +f 164//245 505//245 73//245 +f 73//245 505//245 506//245 +f 73//246 506//246 59//246 +f 59//246 506//246 507//246 +f 508//247 60//247 507//247 +f 507//247 60//247 59//247 +f 60//248 508//248 244//248 +f 244//248 508//248 509//248 +f 244//249 509//249 242//249 +f 242//249 509//249 510//249 +f 242//250 510//250 241//250 +f 241//250 510//250 511//250 +f 241//251 511//251 239//251 +f 239//251 511//251 512//251 +f 239//252 512//252 237//252 +f 237//252 512//252 513//252 +f 237//253 513//253 235//253 +f 235//254 513//254 514//254 +f 235//255 514//255 232//255 +f 232//255 514//255 515//255 +f 232//256 515//256 148//256 +f 148//256 515//256 516//256 +f 148//257 516//257 44//257 +f 44//257 516//257 517//257 +f 518//258 45//258 517//258 +f 517//258 45//258 44//258 +f 45//259 518//259 46//259 +f 46//259 518//259 519//259 +f 46//260 519//260 47//260 +f 47//260 519//260 520//260 +f 47//261 520//261 48//261 +f 48//261 520//261 521//261 +f 48//262 521//262 49//262 +f 49//262 521//262 522//262 +f 49//263 522//263 50//263 +f 50//263 522//263 523//263 +f 50//264 523//264 51//264 +f 51//264 523//264 524//264 +f 51//265 524//265 213//265 +f 213//265 524//265 525//265 +f 213//266 525//266 194//266 +f 194//266 525//266 526//266 +f 194//267 526//267 195//267 +f 195//267 526//267 527//267 +f 195//268 527//268 196//268 +f 196//268 527//268 528//268 +f 430//269 197//269 528//269 +f 528//269 197//269 196//269 +f 324//1 319//1 318//1 +f 272//1 296//1 297//1 +f 272//1 297//1 298//1 +f 272//1 298//1 299//1 +f 272//1 299//1 300//1 +f 272//1 300//1 290//1 +f 272//1 290//1 278//1 +f 334//1 308//1 304//1 +f 334//1 304//1 303//1 +f 334//1 303//1 302//1 +f 334//1 302//1 305//1 +f 334//1 305//1 306//1 +f 334//1 306//1 307//1 +f 334//1 307//1 301//1 +f 334//1 301//1 295//1 +f 334//1 295//1 294//1 +f 334//1 294//1 293//1 +f 334//1 293//1 292//1 +f 334//1 292//1 291//1 +f 334//1 291//1 296//1 +f 334//1 296//1 272//1 +f 334//1 272//1 271//1 +f 334//1 271//1 270//1 +f 334//1 270//1 269//1 +f 334//1 269//1 273//1 +f 334//1 273//1 274//1 +f 334//1 274//1 275//1 +f 334//1 275//1 276//1 +f 334//1 276//1 277//1 +f 334//1 277//1 268//1 +f 334//1 268//1 338//1 +f 268//1 267//1 339//1 +f 268//1 339//1 342//1 +f 268//1 342//1 343//1 +f 268//1 343//1 344//1 +f 268//1 344//1 345//1 +f 268//1 345//1 338//1 +f 308//1 334//1 333//1 +f 308//1 333//1 332//1 +f 308//1 332//1 335//1 +f 308//1 335//1 336//1 +f 308//1 336//1 337//1 +f 308//1 337//1 331//1 +f 323//1 322//1 326//1 +f 323//1 326//1 327//1 +f 323//1 327//1 328//1 +f 323//1 328//1 329//1 +f 323//1 329//1 330//1 +f 323//1 330//1 317//1 +f 323//1 317//1 312//1 +f 323//1 312//1 311//1 +f 323//1 311//1 310//1 +f 323//1 310//1 309//1 +f 323//1 309//1 313//1 +f 323//1 313//1 314//1 +f 323//1 314//1 315//1 +f 323//1 315//1 316//1 +f 323//1 316//1 308//1 +f 323//1 308//1 331//1 +f 283//1 282//1 285//1 +f 283//1 285//1 286//1 +f 283//1 286//1 287//1 +f 283//1 287//1 288//1 +f 283//1 288//1 289//1 +f 283//1 289//1 278//1 +f 283//1 278//1 290//1 +f 339//1 267//1 340//1 +f 340//1 267//1 341//1 +f 326//1 322//1 325//1 +f 325//1 322//1 321//1 +f 325//1 321//1 324//1 +f 324//1 321//1 320//1 +f 324//1 320//1 319//1 +f 285//1 282//1 284//1 +f 284//1 282//1 281//1 +f 284//1 281//1 279//1 +f 279//1 281//1 280//1 +f 401//1 403//1 402//1 +f 406//1 408//1 407//1 +f 371//1 370//1 382//1 +f 371//1 382//1 381//1 +f 371//1 381//1 380//1 +f 371//1 380//1 379//1 +f 371//1 379//1 378//1 +f 371//1 378//1 377//1 +f 371//1 377//1 376//1 +f 371//1 376//1 375//1 +f 371//1 375//1 374//1 +f 371//1 374//1 372//1 +f 400//1 406//1 405//1 +f 400//1 405//1 404//1 +f 400//1 404//1 403//1 +f 400//1 403//1 401//1 +f 356//1 355//1 408//1 +f 356//1 408//1 406//1 +f 356//1 406//1 400//1 +f 356//1 400//1 399//1 +f 356//1 399//1 398//1 +f 356//1 398//1 357//1 +f 358//1 357//1 398//1 +f 358//1 398//1 397//1 +f 358//1 397//1 396//1 +f 358//1 396//1 395//1 +f 358//1 395//1 394//1 +f 358//1 394//1 393//1 +f 352//1 351//1 416//1 +f 352//1 416//1 415//1 +f 352//1 415//1 414//1 +f 352//1 414//1 413//1 +f 352//1 413//1 412//1 +f 352//1 412//1 411//1 +f 352//1 411//1 410//1 +f 352//1 410//1 409//1 +f 352//1 409//1 353//1 +f 417//1 416//1 351//1 +f 417//1 351//1 350//1 +f 417//1 350//1 349//1 +f 417//1 349//1 348//1 +f 417//1 348//1 346//1 +f 417//1 346//1 347//1 +f 347//1 371//1 417//1 +f 417//1 371//1 372//1 +f 417//1 372//1 418//1 +f 418//1 372//1 373//1 +f 418//1 373//1 419//1 +f 419//1 373//1 429//1 +f 419//1 429//1 420//1 +f 420//1 429//1 428//1 +f 420//1 428//1 421//1 +f 421//1 428//1 427//1 +f 421//1 427//1 422//1 +f 422//1 427//1 426//1 +f 422//1 426//1 423//1 +f 423//1 426//1 425//1 +f 423//1 425//1 424//1 +f 353//1 409//1 354//1 +f 354//1 409//1 408//1 +f 354//1 408//1 355//1 +f 358//1 393//1 359//1 +f 359//1 393//1 392//1 +f 359//1 392//1 360//1 +f 360//1 392//1 391//1 +f 360//1 391//1 361//1 +f 361//1 391//1 390//1 +f 361//1 390//1 362//1 +f 362//1 390//1 389//1 +f 362//1 389//1 363//1 +f 363//1 389//1 388//1 +f 363//1 388//1 364//1 +f 364//1 388//1 387//1 +f 364//1 387//1 365//1 +f 365//1 387//1 366//1 +f 366//1 387//1 386//1 +f 366//1 386//1 367//1 +f 367//1 386//1 385//1 +f 367//1 385//1 368//1 +f 368//1 385//1 384//1 +f 368//1 384//1 369//1 +f 369//1 384//1 370//1 +f 370//1 384//1 383//1 +f 370//1 383//1 382//1 +f 430//1 446//1 445//1 +f 430//1 447//1 446//1 +f 499//1 497//1 496//1 +f 497//1 499//1 498//1 +f 507//1 495//1 494//1 +f 507//1 494//1 493//1 +f 507//1 493//1 492//1 +f 507//1 492//1 491//1 +f 507//1 491//1 490//1 +f 507//1 490//1 489//1 +f 507//1 489//1 488//1 +f 507//1 488//1 487//1 +f 507//1 487//1 486//1 +f 507//1 486//1 485//1 +f 507//1 485//1 484//1 +f 507//1 484//1 483//1 +f 479//1 478//1 458//1 +f 479//1 458//1 457//1 +f 479//1 457//1 456//1 +f 479//1 456//1 455//1 +f 479//1 455//1 454//1 +f 479//1 454//1 453//1 +f 479//1 453//1 452//1 +f 508//1 507//1 483//1 +f 508//1 483//1 482//1 +f 508//1 482//1 481//1 +f 508//1 481//1 480//1 +f 508//1 480//1 479//1 +f 508//1 479//1 452//1 +f 508//1 452//1 451//1 +f 508//1 451//1 450//1 +f 508//1 450//1 449//1 +f 495//1 507//1 506//1 +f 495//1 506//1 505//1 +f 495//1 505//1 504//1 +f 495//1 504//1 503//1 +f 495//1 503//1 502//1 +f 495//1 502//1 501//1 +f 495//1 501//1 500//1 +f 495//1 500//1 499//1 +f 495//1 499//1 496//1 +f 449//1 511//1 510//1 +f 449//1 510//1 509//1 +f 449//1 509//1 508//1 +f 448//1 517//1 516//1 +f 448//1 516//1 515//1 +f 448//1 515//1 514//1 +f 448//1 514//1 513//1 +f 448//1 513//1 512//1 +f 448//1 512//1 511//1 +f 448//1 511//1 449//1 +f 528//1 517//1 448//1 +f 528//1 448//1 447//1 +f 528//1 447//1 430//1 +f 517//1 528//1 527//1 +f 517//1 527//1 526//1 +f 517//1 526//1 525//1 +f 517//1 525//1 524//1 +f 517//1 524//1 523//1 +f 517//1 523//1 518//1 +f 444//1 438//1 437//1 +f 444//1 437//1 436//1 +f 444//1 436//1 435//1 +f 444//1 435//1 434//1 +f 444//1 434//1 433//1 +f 444//1 433//1 432//1 +f 444//1 432//1 431//1 +f 444//1 431//1 430//1 +f 444//1 430//1 445//1 +f 438//1 444//1 443//1 +f 438//1 443//1 442//1 +f 438//1 442//1 441//1 +f 438//1 441//1 440//1 +f 438//1 440//1 439//1 +f 458//1 478//1 477//1 +f 458//1 477//1 476//1 +f 458//1 476//1 475//1 +f 458//1 475//1 474//1 +f 458//1 474//1 473//1 +f 458//1 473//1 472//1 +f 458//1 472//1 459//1 +f 466//1 465//1 472//1 +f 466//1 472//1 471//1 +f 466//1 471//1 470//1 +f 466//1 470//1 469//1 +f 466//1 469//1 468//1 +f 466//1 468//1 467//1 +f 472//1 465//1 464//1 +f 472//1 464//1 463//1 +f 472//1 463//1 462//1 +f 472//1 462//1 461//1 +f 472//1 461//1 460//1 +f 472//1 460//1 459//1 +f 521//1 520//1 522//1 +f 522//1 520//1 519//1 +f 522//1 519//1 523//1 +f 523//1 519//1 518//1 +f 529//270 530//270 531//270 +f 531//270 530//270 532//270 +f 532//182 120//182 531//182 +f 531//182 120//182 97//182 +f 531//271 97//271 529//271 +f 529//271 97//271 75//271 +f 529//196 75//196 530//196 +f 530//196 75//196 74//196 +f 530//272 74//272 532//272 +f 532//272 74//272 120//272 diff --git a/resources/meshes/cremaker_platform_220.obj b/resources/meshes/cremaker_platform_220.obj new file mode 100644 index 0000000000..07f270912c --- /dev/null +++ b/resources/meshes/cremaker_platform_220.obj @@ -0,0 +1,1870 @@ +# Blender v2.83.4 OBJ File: '' +# www.blender.org +mtllib cremaker_platform_220.mtl +o Cremaker_Bed_For_Cura_220 +v -1.890215 15.706850 0.000001 +v 6.767278 20.737940 0.000001 +v -5.775456 19.937870 0.000001 +v -6.085020 19.717300 0.000001 +v -6.206591 19.597380 0.000001 +v -6.306021 19.472389 0.000001 +v -6.404158 19.299610 0.000001 +v -6.462938 19.122049 0.000001 +v -6.482364 18.942129 0.000001 +v -6.462439 18.762270 0.000001 +v -6.403163 18.584881 0.000001 +v -6.304539 18.412380 0.000001 +v -6.204750 18.287661 0.000001 +v -6.082830 18.168079 0.000001 +v -5.772599 17.948380 0.000001 +v -0.169347 23.195789 0.000001 +v 2.503686 23.199570 0.000001 +v 0.015533 23.290100 0.000001 +v 2.318549 23.293369 0.000001 +v 0.215548 23.368071 0.000001 +v 2.118320 23.370770 0.000001 +v 0.445728 23.434031 0.000001 +v 1.887968 23.436081 0.000001 +v 0.686610 23.480829 0.000001 +v 1.646967 23.482201 0.000001 +v 1.166741 23.516991 0.000001 +v 8.977601 -31.682760 -0.000001 +v 15.463810 -27.894529 -0.000001 +v 9.126501 -31.581169 -0.000001 +v 9.251994 -31.471161 -0.000001 +v 9.354342 -31.353979 -0.000001 +v 9.435792 -31.228849 -0.000001 +v 9.497616 -31.095310 -0.000001 +v 9.540466 -30.954081 -0.000001 +v -2.474875 -23.004829 -0.000001 +v -3.486624 -14.063000 -0.000001 +v -2.653391 -22.608061 -0.000001 +v -2.900688 -22.237030 -0.000001 +v -3.052730 -22.062059 -0.000001 +v -3.221965 -21.899099 -0.000001 +v -3.400519 -21.755520 -0.000001 +v 27.762609 18.434891 0.000001 +v 1.302336 3.393586 0.000000 +v 3.475899 -0.694668 -0.000000 +v 29.570330 14.423920 0.000001 +v 29.843470 14.553590 0.000001 +v 30.123699 14.616530 0.000001 +v 30.402599 14.617650 0.000001 +v 30.671749 14.561850 0.000001 +v 30.922720 14.454050 0.000001 +v 31.147100 14.299160 0.000001 +v -26.719641 17.714270 0.000001 +v -30.969570 14.542240 0.000001 +v -30.693640 14.614890 0.000001 +v -30.396780 14.615500 0.000001 +v -30.088209 14.539130 0.000001 +v -3.517677 -0.801377 -0.000000 +v -1.435565 3.392086 0.000000 +v 2.106637 -33.573120 -0.000001 +v 2.133908 -3.020771 -0.000000 +v -2.272171 -2.965736 -0.000000 +v -2.298659 -12.744290 -0.000001 +v -2.325924 -13.082530 -0.000001 +v -2.402435 -13.372600 -0.000001 +v -2.523336 -13.613500 -0.000001 +v -2.683776 -13.804260 -0.000001 +v -2.878902 -13.943900 -0.000001 +v -3.064503 -14.020530 -0.000001 +v -3.268013 -14.060420 -0.000001 +v -2.366918 -23.413799 -0.000001 +v -2.331298 -23.821421 -0.000001 +v -2.538111 -33.729561 -0.000001 +v 2.114818 -33.739540 -0.000001 +v -110.000000 110.000000 0.000005 +v -110.000000 -110.000000 -0.000005 +v -31.579510 13.941270 0.000001 +v -31.421730 14.200490 0.000001 +v -27.414490 20.492630 0.000001 +v -27.228689 20.743530 0.000001 +v -26.998230 20.967470 0.000001 +v -26.723070 21.158649 0.000001 +v -3.097852 34.888088 0.000002 +v -3.058702 34.910809 0.000002 +v -2.760384 35.064079 0.000002 +v -2.510572 35.174419 0.000002 +v -2.024714 35.353069 0.000002 +v -1.582107 35.478981 0.000002 +v -1.080716 35.581661 0.000002 +v -0.754755 35.626011 0.000002 +v -0.411912 35.653530 0.000002 +v 0.068701 35.658569 0.000002 +v 0.572670 35.620548 0.000002 +v 1.096192 35.531940 0.000002 +v 1.635463 35.385231 0.000002 +v 2.186679 35.172890 0.000002 +v 2.746035 34.887402 0.000002 +v 110.000000 -110.000000 -0.000005 +v 20.371010 -25.084841 -0.000001 +v 15.581860 -27.858259 -0.000001 +v 3.623141 -34.783489 -0.000002 +v 3.518881 -34.835880 -0.000002 +v 3.407471 -34.868351 -0.000002 +v 3.280597 -34.881981 -0.000002 +v -3.206139 -34.884621 -0.000002 +v -3.407758 -34.910000 -0.000002 +v -3.633279 -34.894100 -0.000002 +v -3.809279 -34.856091 -0.000002 +v -3.996799 -34.794971 -0.000002 +v -4.214165 -34.700981 -0.000002 +v -4.444436 -34.577541 -0.000002 +v -31.037670 -19.223930 -0.000001 +v -31.293150 -19.038361 -0.000001 +v -31.520281 -18.799589 -0.000001 +v -31.710920 -18.522110 -0.000001 +v -31.856939 -18.220461 -0.000001 +v -31.950171 -17.909149 -0.000001 +v -31.982500 -17.602690 -0.000001 +v -31.712339 13.270770 0.000001 +v -31.679449 13.629710 0.000001 +v 110.000000 110.000000 0.000005 +v 2.771456 34.872719 0.000002 +v 7.464162 32.163349 0.000001 +v 15.253320 27.666241 0.000001 +v 27.735189 20.459780 0.000001 +v 27.760611 20.445101 0.000001 +v 27.895399 20.354771 0.000001 +v 28.012421 20.250940 0.000001 +v 28.113310 20.133301 0.000001 +v 28.195770 20.005659 0.000001 +v -31.215340 14.402460 0.000001 +v -26.995159 17.904921 0.000001 +v -27.226070 18.128401 0.000001 +v -27.412350 18.378941 0.000001 +v -27.554010 18.650749 0.000001 +v -27.623430 18.840151 0.000001 +v -27.673161 19.034679 0.000001 +v -27.703360 19.234209 0.000001 +v -27.713560 19.435499 0.000001 +v -27.703770 19.636801 0.000001 +v -27.673969 19.836390 0.000001 +v -27.624630 20.031019 0.000001 +v -27.555599 20.220551 0.000001 +v 0.976425 3.232473 0.000000 +v 0.636600 3.117338 0.000000 +v 0.287486 3.048182 0.000000 +v -0.066293 3.025005 0.000000 +v -3.345686 -0.911826 -0.000000 +v 3.139616 -0.917790 -0.000000 +v -0.420113 3.047807 0.000000 +v -0.769347 3.116588 0.000000 +v -1.109373 3.231348 0.000000 +v -3.594514 -21.626280 -0.000001 +v -12.938980 -15.140140 -0.000001 +v -12.905790 -15.448240 -0.000001 +v -12.810930 -15.763330 -0.000001 +v -12.664030 -16.069201 -0.000001 +v -12.474700 -16.349609 -0.000001 +v -12.252560 -16.588350 -0.000001 +v -12.007230 -16.769199 -0.000001 +v -2.563875 -34.102112 -0.000001 +v -2.601945 -34.265640 -0.000001 +v 2.260306 -34.209869 -0.000001 +v 2.192190 -34.059601 -0.000001 +v 2.142445 -33.897968 -0.000001 +v -3.658804 -14.040120 -0.000001 +v -3.836713 -13.995700 -0.000001 +v -4.204983 -13.841300 -0.000001 +v -12.922880 -9.899136 -0.000000 +v -11.984960 -9.349529 -0.000000 +v -12.721910 -9.347394 -0.000000 +v -12.789020 -9.421888 -0.000000 +v -12.845920 -9.517392 -0.000000 +v -12.888060 -9.630308 -0.000000 +v 9.573477 -21.213511 -0.000001 +v 9.573477 -30.649120 -0.000001 +v 15.034420 -27.542681 -0.000001 +v 15.034420 -18.158489 -0.000001 +v 10.169160 -20.177891 -0.000001 +v 9.977448 -20.309700 -0.000001 +v 9.825815 -20.460020 -0.000001 +v 9.711927 -20.627211 -0.000001 +v 9.649883 -20.762680 -0.000001 +v 9.606781 -20.906019 -0.000001 +v 15.003990 -18.001150 -0.000001 +v 14.921680 -17.866699 -0.000001 +v 14.800500 -17.765039 -0.000001 +v 14.333690 -17.755440 -0.000001 +v 15.340730 -27.890249 -0.000001 +v 15.224440 -27.849171 -0.000001 +v 15.126750 -27.775049 -0.000001 +v 15.059470 -27.671631 -0.000001 +v 28.304729 19.730980 0.000001 +v 28.341249 19.440559 0.000001 +v 31.482401 13.867730 0.000001 +v 31.576481 13.601010 0.000001 +v 31.610291 13.306840 0.000001 +v 31.698460 -17.754620 -0.000001 +v 31.678040 -18.025631 -0.000001 +v 31.618450 -18.258989 -0.000001 +v 31.522221 -18.459169 -0.000001 +v 31.427509 -18.590231 -0.000001 +v 31.314671 -18.707041 -0.000001 +v 31.184740 -18.811489 -0.000001 +v 31.038811 -18.905470 -0.000001 +v 26.822330 -21.359131 -0.000001 +v 26.698940 -21.396070 -0.000001 +v 20.966869 -24.051201 -0.000001 +v 20.956520 -24.269871 -0.000001 +v 20.904810 -24.472601 -0.000001 +v 20.816071 -24.657419 -0.000001 +v 20.727819 -24.783110 -0.000001 +v 20.623011 -24.896790 -0.000001 +v 31.336460 14.102080 0.000001 +v 28.305321 19.150070 0.000001 +v 28.196911 18.875179 0.000001 +v 28.114700 18.747379 0.000001 +v 28.014050 18.629551 0.000001 +v 27.897230 18.525490 0.000001 +v 20.966869 -14.603510 -0.000001 +v 26.274229 -21.043930 -0.000001 +v 26.274229 -11.652350 -0.000001 +v 21.562111 -13.571100 -0.000001 +v 21.370380 -13.705390 -0.000001 +v 21.218809 -13.856010 -0.000001 +v 21.105040 -14.022040 -0.000001 +v 21.043091 -14.156130 -0.000001 +v 21.000080 -14.298000 -0.000001 +v 26.574249 -21.392080 -0.000001 +v 26.458860 -21.351021 -0.000001 +v 26.363340 -21.276751 -0.000001 +v 26.298269 -21.173100 -0.000001 +v 2.856881 -1.162039 -0.000000 +v -3.183302 -1.040252 -0.000000 +v -3.017757 -1.198799 -0.000000 +v 2.624997 -1.426512 -0.000000 +v -2.865824 -1.373666 -0.000000 +v 2.441266 -1.710312 -0.000000 +v -2.616956 -1.744172 -0.000000 +v 2.344197 -1.909804 -0.000000 +v -2.429858 -2.145653 -0.000000 +v 2.266531 -2.117218 -0.000000 +v 2.207469 -2.332289 -0.000000 +v -2.312331 -2.559157 -0.000000 +v 2.166210 -2.554749 -0.000000 +v -2.282093 -2.764497 -0.000000 +v 2.434501 -34.463181 -0.000002 +v -2.656312 -34.412819 -0.000002 +v 2.651738 -34.663250 -0.000002 +v -2.753508 -34.582069 -0.000002 +v -2.878132 -34.718540 -0.000002 +v 2.895620 -34.802711 -0.000002 +v -3.029303 -34.820099 -0.000002 +v 3.149746 -34.874161 -0.000002 +v -12.348020 -9.227452 -0.000000 +v -12.458250 -9.229397 -0.000000 +v -12.230520 -9.246961 -0.000000 +v -12.555370 -9.250595 -0.000000 +v -12.643580 -9.290076 -0.000000 +v 14.493510 -17.699530 -0.000001 +v 14.653450 -17.706020 -0.000001 +v 25.891661 -11.178740 -0.000000 +v 25.733061 -11.186380 -0.000000 +v 26.037319 -11.223560 -0.000000 +v 25.573780 -11.248510 -0.000000 +v 26.157789 -11.318790 -0.000000 +v 26.240850 -11.462400 -0.000001 +v -30.088209 14.539130 -0.999999 +v -3.517677 -0.801377 -1.000000 +v -2.429858 -2.145653 -1.000000 +v -2.312331 -2.559157 -1.000000 +v -2.282093 -2.764497 -1.000000 +v -2.272171 -2.965736 -1.000000 +v -2.616956 -1.744172 -1.000000 +v -2.865824 -1.373666 -1.000000 +v -3.017757 -1.198799 -1.000000 +v -3.183302 -1.040252 -1.000000 +v -3.345686 -0.911826 -1.000000 +v -2.298659 -12.744290 -1.000001 +v -3.268013 -14.060420 -1.000001 +v -3.486624 -14.063000 -1.000001 +v -3.658804 -14.040120 -1.000001 +v -3.836713 -13.995700 -1.000001 +v -4.204983 -13.841300 -1.000001 +v -3.064503 -14.020530 -1.000001 +v -2.878902 -13.943900 -1.000001 +v -2.683776 -13.804260 -1.000001 +v -2.523336 -13.613500 -1.000001 +v -2.402435 -13.372600 -1.000001 +v -2.325924 -13.082530 -1.000001 +v -11.984960 -9.349529 -1.000000 +v -12.721910 -9.347394 -1.000000 +v -12.789020 -9.421888 -1.000000 +v -12.845920 -9.517392 -1.000000 +v -12.888060 -9.630308 -1.000000 +v -12.922880 -9.899136 -1.000000 +v -12.643580 -9.290076 -1.000000 +v -12.555370 -9.250595 -1.000000 +v -12.458250 -9.229397 -1.000000 +v -12.348020 -9.227452 -1.000000 +v -12.230520 -9.246961 -1.000000 +v -12.938980 -15.140140 -1.000001 +v -12.474700 -16.349609 -1.000001 +v -12.252560 -16.588350 -1.000001 +v -12.007230 -16.769199 -1.000001 +v -12.664030 -16.069201 -1.000001 +v -12.810930 -15.763330 -1.000001 +v -12.905790 -15.448240 -1.000001 +v -3.594514 -21.626280 -1.000001 +v -2.653391 -22.608061 -1.000001 +v -2.474875 -23.004829 -1.000001 +v -2.366918 -23.413799 -1.000001 +v -2.331298 -23.821421 -1.000001 +v -2.900688 -22.237030 -1.000001 +v -3.052730 -22.062059 -1.000001 +v -3.221965 -21.899099 -1.000001 +v -3.400519 -21.755520 -1.000001 +v -2.538111 -33.729561 -1.000001 +v -3.407758 -34.910000 -1.000002 +v -3.633279 -34.894100 -1.000002 +v -3.809279 -34.856091 -1.000002 +v -3.996799 -34.794971 -1.000002 +v -4.214165 -34.700981 -1.000002 +v -4.444436 -34.577541 -1.000002 +v -3.206139 -34.884621 -1.000002 +v -3.029303 -34.820099 -1.000002 +v -2.878132 -34.718540 -1.000002 +v -2.753508 -34.582069 -1.000002 +v -2.656312 -34.412819 -1.000002 +v -2.601945 -34.265640 -1.000002 +v -2.563875 -34.102112 -1.000002 +v -31.037670 -19.223930 -1.000001 +v -31.856939 -18.220461 -1.000001 +v -31.950171 -17.909149 -1.000001 +v -31.982500 -17.602690 -1.000001 +v -31.710920 -18.522110 -1.000001 +v -31.520281 -18.799589 -1.000001 +v -31.293150 -19.038361 -1.000001 +v -31.712339 13.270770 -0.999999 +v -30.969570 14.542240 -0.999999 +v -30.693640 14.614890 -0.999999 +v -30.396780 14.615500 -0.999999 +v -31.215340 14.402460 -0.999999 +v -31.421730 14.200490 -0.999999 +v -31.579510 13.941270 -0.999999 +v -31.679449 13.629710 -0.999999 +v 2.503686 23.199570 -0.999999 +v 6.767278 20.737940 -0.999999 +v 2.318549 23.293369 -0.999999 +v 2.118320 23.370770 -0.999999 +v 1.887968 23.436081 -0.999999 +v 1.646967 23.482201 -0.999999 +v 1.166741 23.516991 -0.999999 +v 0.686610 23.480829 -0.999999 +v 0.445728 23.434031 -0.999999 +v 0.215548 23.368071 -0.999999 +v 0.015533 23.290100 -0.999999 +v -0.169347 23.195789 -0.999999 +v -5.775456 19.937870 -0.999999 +v -6.085020 19.717300 -0.999999 +v -6.206591 19.597380 -0.999999 +v -6.306021 19.472389 -0.999999 +v -6.404158 19.299610 -0.999999 +v -6.462938 19.122049 -0.999999 +v -6.482364 18.942129 -0.999999 +v -6.462439 18.762270 -0.999999 +v -6.403163 18.584881 -0.999999 +v -6.304539 18.412380 -0.999999 +v -6.204750 18.287661 -0.999999 +v -6.082830 18.168079 -0.999999 +v -5.772599 17.948380 -0.999999 +v -1.890215 15.706850 -0.999999 +v 1.302336 3.393586 -1.000000 +v 27.762609 18.434891 -0.999999 +v 0.976425 3.232473 -1.000000 +v 0.636600 3.117338 -1.000000 +v 0.287486 3.048182 -1.000000 +v -0.066293 3.025005 -1.000000 +v -0.420113 3.047807 -1.000000 +v -0.769347 3.116588 -1.000000 +v -1.109373 3.231348 -1.000000 +v -1.435565 3.392086 -1.000000 +v -26.719641 17.714270 -0.999999 +v -26.995159 17.904921 -0.999999 +v -27.226070 18.128401 -0.999999 +v -27.412350 18.378941 -0.999999 +v -27.554010 18.650749 -0.999999 +v -27.623430 18.840151 -0.999999 +v -27.673161 19.034679 -0.999999 +v -27.703360 19.234209 -0.999999 +v -27.713560 19.435499 -0.999999 +v -27.703770 19.636801 -0.999999 +v -27.673969 19.836390 -0.999999 +v -27.624630 20.031019 -0.999999 +v -27.555599 20.220551 -0.999999 +v -27.414490 20.492630 -0.999999 +v -27.228689 20.743530 -0.999999 +v -26.998230 20.967470 -0.999999 +v -26.723070 21.158649 -0.999999 +v -3.097852 34.888088 -0.999998 +v -3.058702 34.910809 -0.999998 +v -2.760384 35.064079 -0.999998 +v -2.510572 35.174419 -0.999998 +v -2.024714 35.353069 -0.999998 +v -1.582107 35.478981 -0.999998 +v -1.080716 35.581661 -0.999998 +v -0.754755 35.626011 -0.999998 +v -0.411912 35.653530 -0.999998 +v 0.068701 35.658569 -0.999998 +v 0.572670 35.620548 -0.999998 +v 1.096192 35.531940 -0.999998 +v 1.635463 35.385231 -0.999998 +v 2.186679 35.172890 -0.999998 +v 2.746035 34.887402 -0.999998 +v 2.771456 34.872719 -0.999998 +v 7.464162 32.163349 -0.999999 +v 15.253320 27.666241 -0.999999 +v 27.735189 20.459780 -0.999999 +v 27.760611 20.445101 -0.999999 +v 27.895399 20.354771 -0.999999 +v 28.012421 20.250940 -0.999999 +v 28.113310 20.133301 -0.999999 +v 28.195770 20.005659 -0.999999 +v 28.304729 19.730980 -0.999999 +v 28.341249 19.440559 -0.999999 +v 28.305321 19.150070 -0.999999 +v 28.196911 18.875179 -0.999999 +v 28.114700 18.747379 -0.999999 +v 28.014050 18.629551 -0.999999 +v 27.897230 18.525490 -0.999999 +v 31.698460 -17.754620 -1.000001 +v 31.678040 -18.025631 -1.000001 +v 31.618450 -18.258989 -1.000001 +v 31.522221 -18.459169 -1.000001 +v 31.427509 -18.590231 -1.000001 +v 31.314671 -18.707041 -1.000001 +v 31.184740 -18.811489 -1.000001 +v 31.038811 -18.905470 -1.000001 +v 26.822330 -21.359131 -1.000001 +v 26.698940 -21.396070 -1.000001 +v 26.574249 -21.392080 -1.000001 +v 26.458860 -21.351021 -1.000001 +v 26.363340 -21.276751 -1.000001 +v 26.298269 -21.173100 -1.000001 +v 26.274229 -21.043930 -1.000001 +v 26.274229 -11.652350 -1.000000 +v 26.240850 -11.462400 -1.000000 +v 26.157789 -11.318790 -1.000000 +v 26.037319 -11.223560 -1.000000 +v 25.891661 -11.178740 -1.000000 +v 25.733061 -11.186380 -1.000000 +v 25.573780 -11.248510 -1.000000 +v 21.562111 -13.571100 -1.000001 +v 21.370380 -13.705390 -1.000001 +v 21.218809 -13.856010 -1.000001 +v 21.105040 -14.022040 -1.000001 +v 21.043091 -14.156130 -1.000001 +v 21.000080 -14.298000 -1.000001 +v 20.966869 -14.603510 -1.000001 +v 20.966869 -24.051201 -1.000001 +v 20.956520 -24.269871 -1.000001 +v 20.904810 -24.472601 -1.000001 +v 20.816071 -24.657419 -1.000001 +v 20.727819 -24.783110 -1.000001 +v 20.623011 -24.896790 -1.000001 +v 20.371010 -25.084841 -1.000001 +v 15.581860 -27.858259 -1.000001 +v 15.463810 -27.894529 -1.000001 +v 15.340730 -27.890249 -1.000001 +v 15.224440 -27.849171 -1.000001 +v 15.126750 -27.775049 -1.000001 +v 15.059470 -27.671631 -1.000001 +v 15.034420 -27.542681 -1.000001 +v 15.034420 -18.158489 -1.000001 +v 15.003990 -18.001150 -1.000001 +v 14.921680 -17.866699 -1.000001 +v 14.800500 -17.765039 -1.000001 +v 14.653450 -17.706020 -1.000001 +v 14.493510 -17.699530 -1.000001 +v 14.333690 -17.755440 -1.000001 +v 10.169160 -20.177891 -1.000001 +v 9.977448 -20.309700 -1.000001 +v 9.825815 -20.460020 -1.000001 +v 9.711927 -20.627211 -1.000001 +v 9.649883 -20.762680 -1.000001 +v 9.606781 -20.906019 -1.000001 +v 9.573477 -21.213511 -1.000001 +v 9.573477 -30.649120 -1.000001 +v 9.540466 -30.954081 -1.000001 +v 9.497616 -31.095310 -1.000001 +v 9.435792 -31.228849 -1.000001 +v 9.354342 -31.353979 -1.000001 +v 9.251994 -31.471161 -1.000001 +v 9.126501 -31.581169 -1.000001 +v 8.977601 -31.682760 -1.000001 +v 3.623141 -34.783489 -1.000002 +v 3.518881 -34.835880 -1.000002 +v 3.407471 -34.868351 -1.000002 +v 3.280597 -34.881981 -1.000002 +v 3.149746 -34.874161 -1.000002 +v 2.895620 -34.802711 -1.000002 +v 2.651738 -34.663250 -1.000002 +v 2.434501 -34.463181 -1.000002 +v 2.260306 -34.209869 -1.000002 +v 2.192190 -34.059601 -1.000001 +v 2.142445 -33.897968 -1.000001 +v 2.114818 -33.739540 -1.000001 +v 2.106637 -33.573120 -1.000001 +v 2.133908 -3.020771 -1.000000 +v 2.166210 -2.554749 -1.000000 +v 2.207469 -2.332289 -1.000000 +v 2.266531 -2.117218 -1.000000 +v 2.344197 -1.909804 -1.000000 +v 2.441266 -1.710312 -1.000000 +v 2.624997 -1.426512 -1.000000 +v 2.856881 -1.162039 -1.000000 +v 3.139616 -0.917790 -1.000000 +v 3.475899 -0.694668 -1.000000 +v 29.570330 14.423920 -0.999999 +v 29.843470 14.553590 -0.999999 +v 30.123699 14.616530 -0.999999 +v 30.402599 14.617650 -0.999999 +v 30.671749 14.561850 -0.999999 +v 30.922720 14.454050 -0.999999 +v 31.147100 14.299160 -0.999999 +v 31.336460 14.102080 -0.999999 +v 31.482401 13.867730 -0.999999 +v 31.576481 13.601010 -0.999999 +v 31.610291 13.306840 -0.999999 +v -110.000000 -110.000000 -3.000005 +v -110.000000 110.000000 -2.999995 +v 110.000000 -110.000000 -3.000005 +v 110.000000 110.000000 -2.999995 +vn 0.0000 -0.0000 1.0000 +vn -0.5000 -0.8660 0.0000 +vn -0.9064 -0.4224 0.0000 +vn -0.9619 -0.2734 0.0000 +vn -0.9893 -0.1457 0.0000 +vn -0.9988 -0.0492 0.0000 +vn -0.8301 -0.5576 0.0000 +vn -0.7549 -0.6559 0.0000 +vn -0.6917 -0.7222 0.0000 +vn -0.6203 -0.7843 0.0000 +vn -0.5404 -0.8414 0.0000 +vn -1.0000 0.0027 0.0000 +vn -0.1924 0.9813 0.0000 +vn -0.0118 0.9999 0.0000 +vn 0.1317 0.9913 0.0000 +vn 0.2422 0.9702 0.0000 +vn 0.3866 0.9222 0.0000 +vn 0.3867 0.9222 0.0000 +vn -0.3816 0.9243 0.0000 +vn -0.5820 0.8132 0.0000 +vn -0.7653 0.6437 0.0000 +vn -0.8938 0.4486 0.0000 +vn -0.9669 0.2550 0.0000 +vn -0.9968 0.0803 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.5905 0.8070 0.0000 +vn -0.7430 0.6693 0.0000 +vn -0.8591 0.5118 0.0000 +vn -0.9369 0.3497 0.0000 +vn -0.9369 0.3496 0.0000 +vn -0.9917 0.1285 0.0000 +vn -0.4085 0.9127 0.0000 +vn -0.2132 0.9770 0.0000 +vn -0.0176 0.9998 0.0000 +vn 0.1638 0.9865 0.0000 +vn 0.3854 0.9227 0.0000 +vn -1.0000 0.0031 0.0000 +vn -0.8288 -0.5596 0.0000 +vn -0.7321 -0.6812 0.0000 +vn -0.5934 -0.8049 0.0000 +vn -0.9014 -0.4329 0.0000 +vn -0.9575 -0.2883 0.0000 +vn -0.9942 -0.1071 0.0000 +vn -0.8321 -0.5546 0.0000 +vn -0.9119 -0.4103 0.0000 +vn -0.9669 -0.2552 0.0000 +vn -0.9962 -0.0871 0.0000 +vn -0.7548 -0.6559 0.0000 +vn -0.6936 -0.7203 0.0000 +vn -0.6267 -0.7793 0.0000 +vn -0.5544 -0.8322 0.0000 +vn -0.9998 0.0209 0.0000 +vn -0.1249 0.9922 0.0000 +vn 0.0703 0.9975 0.0000 +vn 0.2111 0.9775 0.0000 +vn 0.3099 0.9508 0.0000 +vn 0.3969 0.9179 0.0000 +vn 0.4725 0.8814 0.0000 +vn -0.3428 0.9394 0.0000 +vn -0.5577 0.8301 0.0000 +vn -0.7384 0.6743 0.0000 +vn -0.8672 0.4980 0.0000 +vn -0.9380 0.3465 0.0000 +vn -0.9740 0.2267 0.0000 +vn -0.9976 0.0690 0.0000 +vn 0.9001 0.4357 0.0000 +vn 0.9580 0.2869 0.0000 +vn 0.9945 0.1049 0.0000 +vn 0.8242 0.5663 0.0000 +vn 0.7245 0.6892 0.0000 +vn 0.5877 0.8091 0.0000 +vn 1.0000 -0.0088 0.0000 +vn 0.4944 -0.8692 0.0000 +vn 0.2546 -0.9670 0.0000 +vn 0.0021 -1.0000 0.0000 +vn -0.2402 -0.9707 0.0000 +vn 0.6994 -0.7147 0.0000 +vn 0.8542 -0.5199 0.0000 +vn 0.9522 -0.3054 0.0000 +vn 0.9958 -0.0913 0.0000 +vn 0.9958 -0.0912 0.0000 +vn 0.4520 0.8920 0.0000 +vn 0.3606 0.9327 0.0000 +vn 0.2728 0.9621 0.0000 +vn 0.1880 0.9822 0.0000 +vn 0.0723 0.9974 0.0000 +vn -0.0751 0.9972 0.0000 +vn -0.1907 0.9816 0.0000 +vn -0.2755 0.9613 0.0000 +vn -0.3632 0.9317 0.0000 +vn -0.4544 0.8908 0.0000 +vn -0.5025 0.8646 0.0000 +vn -0.5803 0.8144 0.0000 +vn -0.7023 0.7119 0.0000 +vn -0.7826 0.6225 0.0000 +vn -0.8695 0.4939 0.0000 +vn -0.9493 0.3143 0.0000 +vn -0.9942 0.1073 0.0000 +vn -0.9939 -0.1101 0.0000 +vn -0.9484 -0.3169 0.0000 +vn -0.8681 -0.4963 0.0000 +vn -0.7808 -0.6248 0.0000 +vn -0.7808 -0.6247 0.0000 +vn -0.7002 -0.7139 0.0000 +vn -0.5779 -0.8161 0.0000 +vn 0.5024 -0.8646 0.0000 +vn -0.4942 0.8694 0.0000 +vn -0.4432 0.8964 0.0000 +vn -0.3209 0.9471 0.0000 +vn -0.1943 0.9809 0.0000 +vn -0.0654 0.9979 0.0000 +vn 0.0643 0.9979 0.0000 +vn 0.1932 0.9812 0.0000 +vn 0.3198 0.9475 0.0000 +vn 0.4420 0.8970 0.0000 +vn 0.4929 0.8701 0.0000 +vn 0.5690 0.8223 0.0000 +vn 0.6954 0.7186 0.0000 +vn 0.8025 0.5967 0.0000 +vn 0.8868 0.4622 0.0000 +vn 0.9389 0.3441 0.0000 +vn 0.9688 0.2477 0.0000 +vn 0.9887 0.1496 0.0000 +vn 0.9887 0.1497 0.0000 +vn 0.9987 0.0506 0.0000 +vn 0.9988 -0.0486 0.0000 +vn 0.9890 -0.1477 0.0000 +vn 0.9693 -0.2457 0.0000 +vn 0.9396 -0.3422 0.0000 +vn 0.8877 -0.4604 0.0000 +vn 0.8036 -0.5951 0.0000 +vn 0.6969 -0.7172 0.0000 +vn 0.5706 -0.8212 0.0000 +vn 0.5025 -0.8646 0.0000 +vn 0.5019 -0.8649 0.0000 +vn 0.4570 -0.8895 0.0000 +vn 0.4040 -0.9147 0.0000 +vn 0.3451 -0.9386 0.0000 +vn 0.2736 -0.9618 0.0000 +vn 0.2006 -0.9797 0.0000 +vn 0.1348 -0.9909 0.0000 +vn 0.0800 -0.9968 0.0000 +vn 0.0105 -0.9999 0.0000 +vn -0.0752 -0.9972 0.0000 +vn -0.1669 -0.9860 0.0000 +vn -0.2625 -0.9649 0.0000 +vn -0.3595 -0.9332 0.0000 +vn -0.4546 -0.8907 0.0000 +vn -0.5001 -0.8659 0.0000 +vn -0.5002 -0.8659 0.0000 +vn -0.5001 -0.8660 0.0000 +vn -0.5567 -0.8307 0.0000 +vn -0.6637 -0.7480 0.0000 +vn -0.7591 -0.6510 0.0000 +vn -0.8400 -0.5427 0.0000 +vn -0.8400 -0.5426 0.0000 +vn -0.9295 -0.3687 0.0000 +vn -0.9922 -0.1248 0.0000 +vn -0.9924 0.1228 0.0000 +vn -0.9924 0.1227 0.0000 +vn -0.9303 0.3669 0.0000 +vn -0.8410 0.5410 0.0000 +vn -0.7604 0.6495 0.0000 +vn -0.6651 0.7467 0.0000 +vn -0.6652 0.7467 0.0000 +vn -0.5583 0.8296 0.0000 +vn -0.9972 0.0751 0.0000 +vn -0.9689 0.2474 0.0000 +vn -0.9013 0.4333 0.0000 +vn -0.8105 0.5857 0.0000 +vn -0.7192 0.6948 0.0000 +vn -0.6265 0.7794 0.0000 +vn -0.5414 0.8407 0.0000 +vn -0.5415 0.8407 0.0000 +vn -0.5030 0.8643 0.0000 +vn -0.2868 0.9580 0.0000 +vn 0.0320 0.9995 0.0000 +vn 0.3352 0.9421 0.0000 +vn 0.6138 0.7894 0.0000 +vn 0.8469 0.5317 0.0000 +vn 0.9831 0.1830 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.9849 0.1731 0.0000 +vn 0.8656 0.5007 0.0000 +vn 0.6201 0.7845 0.0000 +vn 0.2941 0.9558 0.0000 +vn -0.0481 0.9988 0.0000 +vn -0.3634 0.9316 0.0000 +vn -0.5010 0.8654 0.0000 +vn -0.5737 0.8191 0.0000 +vn -0.7049 0.7093 0.0000 +vn -0.8249 0.5653 0.0000 +vn -0.9078 0.4194 0.0000 +vn -0.9570 0.2901 0.0000 +vn -0.9941 0.1081 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.9989 0.0473 0.0000 +vn -0.9690 0.2472 0.0000 +vn -0.9690 0.2471 0.0000 +vn -0.9015 0.4328 0.0000 +vn -0.8184 0.5746 0.0000 +vn -0.7352 0.6778 0.0000 +vn -0.5981 0.8014 0.0000 +vn -0.5011 0.8654 0.0000 +vn -0.2937 0.9559 0.0000 +vn 0.0348 0.9994 0.0000 +vn 0.3331 0.9429 0.0000 +vn 0.6044 0.7966 0.0000 +vn 0.6045 0.7966 0.0000 +vn 0.8382 0.5453 0.0000 +vn 0.9817 0.1907 0.0000 +vn 0.9816 0.1907 0.0000 +vn 0.9818 0.1899 0.0000 +vn 0.8529 0.5221 0.0000 +vn 0.6427 0.7661 0.0000 +vn 0.3725 0.9280 0.0000 +vn 0.0405 0.9992 0.0000 +vn -0.3302 0.9439 0.0000 +vn -0.5028 0.8644 0.0000 +vn -0.5666 0.8240 0.0000 +vn -0.7040 0.7102 0.0000 +vn -0.8265 0.5630 0.0000 +vn -0.9092 0.4164 0.0000 +vn -0.9576 0.2880 0.0000 +vn -0.9942 0.1077 0.0000 +vn -0.9942 0.1076 0.0000 +vn -0.9569 0.2903 0.0000 +vn -0.9075 0.4201 0.0000 +vn -0.8381 0.5455 0.0000 +vn -0.7532 0.6578 0.0000 +vn -0.6592 0.7520 0.0000 +vn -0.5636 0.8260 0.0000 +vn -0.5636 0.8261 0.0000 +vn -0.4490 0.8935 0.0000 +vn -0.2798 0.9601 0.0000 +vn -0.1068 0.9943 0.0000 +vn 0.0597 0.9982 0.0000 +vn 0.2707 0.9627 0.0000 +vn 0.4964 0.8681 0.0000 +vn 0.6774 0.7356 0.0000 +vn 0.8240 0.5666 0.0000 +vn 0.9108 0.4129 0.0000 +vn 0.9558 0.2942 0.0000 +vn 0.9558 0.2941 0.0000 +vn 0.9851 0.1718 0.0000 +vn 0.9988 0.0491 0.0000 +vn 1.0000 -0.0009 0.0000 +vn 0.9976 -0.0691 0.0000 +vn 0.9832 -0.1824 0.0000 +vn 0.9643 -0.2648 0.0000 +vn 0.9365 -0.3507 0.0000 +vn 0.8992 -0.4375 0.0000 +vn 0.8394 -0.5435 0.0000 +vn 0.8394 -0.5434 0.0000 +vn 0.7519 -0.6593 0.0000 +vn 0.6537 -0.7567 0.0000 +vn 0.5529 -0.8333 0.0000 +vn 0.5013 -0.8653 0.0000 +vn 0.4289 -0.9034 0.0000 +vn 0.2191 -0.9757 0.0000 +vn 0.0040 -1.0000 0.0000 +vn -0.2030 -0.9792 0.0000 +vn -0.3947 -0.9188 0.0000 +vn -0.5681 -0.8230 0.0000 +vn -0.7211 -0.6928 0.0000 +vn -0.8489 -0.5286 0.0000 +vn -0.9431 -0.3326 0.0000 +vn -0.9935 -0.1142 0.0000 +vn -1.0000 -0.0028 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +usemtl None +s off +f 1//1 2//1 3//1 +f 1//1 3//1 4//1 +f 1//1 4//1 5//1 +f 1//1 5//1 6//1 +f 1//1 6//1 7//1 +f 1//1 7//1 8//1 +f 1//1 8//1 9//1 +f 1//1 9//1 10//1 +f 1//1 10//1 11//1 +f 1//1 11//1 12//1 +f 1//1 12//1 13//1 +f 1//1 13//1 14//1 +f 1//1 14//1 15//1 +f 3//1 2//1 16//1 +f 16//1 2//1 17//1 +f 16//1 17//1 18//1 +f 18//1 17//1 19//1 +f 18//1 19//1 20//1 +f 20//1 19//1 21//1 +f 20//1 21//1 22//1 +f 22//1 21//1 23//1 +f 22//1 23//1 24//1 +f 24//1 23//1 25//1 +f 24//1 25//1 26//1 +f 27//1 28//1 29//1 +f 29//1 28//1 30//1 +f 30//1 28//1 31//1 +f 31//1 28//1 32//1 +f 32//1 28//1 33//1 +f 33//1 28//1 34//1 +f 35//1 36//1 37//1 +f 37//1 36//1 38//1 +f 38//1 36//1 39//1 +f 39//1 36//1 40//1 +f 40//1 36//1 41//1 +f 42//1 43//1 44//1 +f 42//1 44//1 45//1 +f 42//1 45//1 46//1 +f 42//1 46//1 47//1 +f 42//1 47//1 48//1 +f 42//1 48//1 49//1 +f 42//1 49//1 50//1 +f 42//1 50//1 51//1 +f 52//1 53//1 54//1 +f 52//1 54//1 55//1 +f 52//1 55//1 56//1 +f 52//1 56//1 57//1 +f 52//1 57//1 58//1 +f 59//1 60//1 61//1 +f 59//1 61//1 62//1 +f 59//1 62//1 63//1 +f 59//1 63//1 64//1 +f 59//1 64//1 65//1 +f 59//1 65//1 66//1 +f 59//1 66//1 67//1 +f 59//1 67//1 68//1 +f 59//1 68//1 69//1 +f 59//1 69//1 36//1 +f 59//1 36//1 35//1 +f 59//1 35//1 70//1 +f 59//1 70//1 71//1 +f 59//1 71//1 72//1 +f 59//1 72//1 73//1 +f 74//1 75//1 76//1 +f 74//1 76//1 77//1 +f 74//1 77//1 78//1 +f 74//1 78//1 79//1 +f 74//1 79//1 80//1 +f 74//1 80//1 81//1 +f 74//1 81//1 82//1 +f 74//1 82//1 83//1 +f 74//1 83//1 84//1 +f 74//1 84//1 85//1 +f 74//1 85//1 86//1 +f 74//1 86//1 87//1 +f 74//1 87//1 88//1 +f 74//1 88//1 89//1 +f 74//1 89//1 90//1 +f 74//1 90//1 91//1 +f 74//1 91//1 92//1 +f 74//1 92//1 93//1 +f 74//1 93//1 94//1 +f 74//1 94//1 95//1 +f 74//1 95//1 96//1 +f 75//1 97//1 98//1 +f 75//1 98//1 99//1 +f 75//1 99//1 28//1 +f 75//1 28//1 27//1 +f 75//1 27//1 100//1 +f 75//1 100//1 101//1 +f 75//1 101//1 102//1 +f 75//1 102//1 103//1 +f 75//1 103//1 104//1 +f 75//1 104//1 105//1 +f 75//1 105//1 106//1 +f 75//1 106//1 107//1 +f 75//1 107//1 108//1 +f 75//1 108//1 109//1 +f 75//1 109//1 110//1 +f 75//1 110//1 111//1 +f 75//1 111//1 112//1 +f 75//1 112//1 113//1 +f 75//1 113//1 114//1 +f 75//1 114//1 115//1 +f 75//1 115//1 116//1 +f 75//1 116//1 117//1 +f 75//1 117//1 118//1 +f 75//1 118//1 119//1 +f 75//1 119//1 76//1 +f 120//1 74//1 96//1 +f 120//1 96//1 121//1 +f 120//1 121//1 122//1 +f 120//1 122//1 123//1 +f 120//1 123//1 124//1 +f 120//1 124//1 125//1 +f 120//1 125//1 126//1 +f 120//1 126//1 127//1 +f 120//1 127//1 128//1 +f 120//1 128//1 129//1 +f 120//1 129//1 97//1 +f 130//1 53//1 52//1 +f 130//1 52//1 131//1 +f 130//1 131//1 132//1 +f 130//1 132//1 133//1 +f 130//1 133//1 134//1 +f 77//1 130//1 134//1 +f 77//1 134//1 135//1 +f 77//1 135//1 136//1 +f 77//1 136//1 137//1 +f 77//1 137//1 138//1 +f 77//1 138//1 139//1 +f 77//1 139//1 140//1 +f 77//1 140//1 141//1 +f 77//1 141//1 142//1 +f 77//1 142//1 78//1 +f 44//1 43//1 143//1 +f 44//1 143//1 144//1 +f 44//1 144//1 145//1 +f 44//1 145//1 146//1 +f 57//1 147//1 148//1 +f 57//1 148//1 44//1 +f 57//1 44//1 146//1 +f 57//1 146//1 149//1 +f 57//1 149//1 150//1 +f 57//1 150//1 151//1 +f 57//1 151//1 58//1 +f 152//1 41//1 36//1 +f 152//1 36//1 153//1 +f 152//1 153//1 154//1 +f 152//1 154//1 155//1 +f 152//1 155//1 156//1 +f 152//1 156//1 157//1 +f 152//1 157//1 158//1 +f 152//1 158//1 159//1 +f 160//1 161//1 162//1 +f 160//1 162//1 163//1 +f 160//1 163//1 164//1 +f 160//1 164//1 73//1 +f 160//1 73//1 72//1 +f 153//1 36//1 165//1 +f 153//1 165//1 166//1 +f 153//1 166//1 167//1 +f 153//1 167//1 168//1 +f 167//1 169//1 170//1 +f 167//1 170//1 171//1 +f 167//1 171//1 172//1 +f 167//1 172//1 173//1 +f 167//1 173//1 168//1 +f 174//1 175//1 176//1 +f 174//1 176//1 177//1 +f 174//1 177//1 178//1 +f 174//1 178//1 179//1 +f 174//1 179//1 180//1 +f 174//1 180//1 181//1 +f 174//1 181//1 182//1 +f 174//1 182//1 183//1 +f 178//1 177//1 184//1 +f 178//1 184//1 185//1 +f 178//1 185//1 186//1 +f 178//1 186//1 187//1 +f 175//1 34//1 28//1 +f 175//1 28//1 188//1 +f 175//1 188//1 189//1 +f 175//1 189//1 190//1 +f 175//1 190//1 191//1 +f 175//1 191//1 176//1 +f 97//1 129//1 192//1 +f 97//1 192//1 193//1 +f 97//1 193//1 194//1 +f 97//1 194//1 195//1 +f 97//1 195//1 196//1 +f 97//1 196//1 197//1 +f 97//1 197//1 198//1 +f 97//1 198//1 199//1 +f 97//1 199//1 200//1 +f 97//1 200//1 201//1 +f 97//1 201//1 202//1 +f 97//1 202//1 203//1 +f 97//1 203//1 204//1 +f 97//1 204//1 205//1 +f 97//1 205//1 206//1 +f 97//1 206//1 207//1 +f 97//1 207//1 208//1 +f 97//1 208//1 209//1 +f 97//1 209//1 210//1 +f 97//1 210//1 211//1 +f 97//1 211//1 212//1 +f 97//1 212//1 98//1 +f 213//1 194//1 193//1 +f 213//1 193//1 214//1 +f 213//1 214//1 215//1 +f 213//1 215//1 216//1 +f 213//1 216//1 217//1 +f 213//1 217//1 218//1 +f 213//1 218//1 42//1 +f 213//1 42//1 51//1 +f 219//1 207//1 220//1 +f 219//1 220//1 221//1 +f 219//1 221//1 222//1 +f 219//1 222//1 223//1 +f 219//1 223//1 224//1 +f 219//1 224//1 225//1 +f 219//1 225//1 226//1 +f 219//1 226//1 227//1 +f 207//1 206//1 228//1 +f 207//1 228//1 229//1 +f 207//1 229//1 230//1 +f 207//1 230//1 231//1 +f 207//1 231//1 220//1 +f 148//1 147//1 232//1 +f 232//1 147//1 233//1 +f 232//1 233//1 234//1 +f 232//1 234//1 235//1 +f 235//1 234//1 236//1 +f 235//1 236//1 237//1 +f 237//1 236//1 238//1 +f 237//1 238//1 239//1 +f 239//1 238//1 240//1 +f 239//1 240//1 241//1 +f 241//1 240//1 242//1 +f 242//1 240//1 243//1 +f 242//1 243//1 244//1 +f 244//1 243//1 60//1 +f 60//1 243//1 245//1 +f 60//1 245//1 61//1 +f 162//1 161//1 246//1 +f 246//1 161//1 247//1 +f 246//1 247//1 248//1 +f 248//1 247//1 249//1 +f 248//1 249//1 250//1 +f 248//1 250//1 251//1 +f 251//1 250//1 252//1 +f 251//1 252//1 253//1 +f 253//1 252//1 104//1 +f 253//1 104//1 103//1 +f 254//1 255//1 256//1 +f 256//1 255//1 257//1 +f 256//1 257//1 169//1 +f 169//1 257//1 258//1 +f 169//1 258//1 170//1 +f 187//1 186//1 259//1 +f 259//1 186//1 260//1 +f 261//1 262//1 263//1 +f 263//1 262//1 264//1 +f 263//1 264//1 265//1 +f 265//1 264//1 222//1 +f 265//1 222//1 266//1 +f 266//1 222//1 221//1 +f 267//2 268//2 56//2 +f 56//2 268//2 57//2 +f 238//3 269//3 240//3 +f 240//4 269//4 270//4 +f 240//4 270//4 243//4 +f 243//5 270//5 271//5 +f 243//5 271//5 245//5 +f 245//6 271//6 272//6 +f 245//6 272//6 61//6 +f 269//3 238//3 273//3 +f 273//7 238//7 236//7 +f 273//7 236//7 274//7 +f 274//8 236//8 234//8 +f 274//8 234//8 275//8 +f 275//9 234//9 233//9 +f 275//9 233//9 276//9 +f 276//10 233//10 147//10 +f 276//10 147//10 277//10 +f 277//11 147//11 57//11 +f 277//11 57//11 268//11 +f 272//12 278//12 61//12 +f 61//12 278//12 62//12 +f 68//13 279//13 69//13 +f 69//14 279//14 280//14 +f 69//14 280//14 36//14 +f 36//15 280//15 281//15 +f 36//15 281//15 165//15 +f 165//16 281//16 282//16 +f 165//16 282//16 166//16 +f 166//17 282//17 283//17 +f 166//18 283//18 167//18 +f 279//13 68//13 284//13 +f 284//19 68//19 67//19 +f 284//19 67//19 285//19 +f 285//20 67//20 66//20 +f 285//20 66//20 286//20 +f 286//21 66//21 65//21 +f 286//21 65//21 287//21 +f 287//22 65//22 64//22 +f 287//22 64//22 288//22 +f 288//23 64//23 63//23 +f 288//23 63//23 289//23 +f 289//24 63//24 62//24 +f 289//24 62//24 278//24 +f 283//25 290//25 167//25 +f 167//25 290//25 169//25 +f 258//26 291//26 170//26 +f 170//27 291//27 292//27 +f 170//27 292//27 171//27 +f 171//28 292//28 293//28 +f 171//28 293//28 172//28 +f 172//29 293//29 294//29 +f 172//30 294//30 173//30 +f 173//31 294//31 295//31 +f 173//31 295//31 168//31 +f 291//26 258//26 296//26 +f 296//32 258//32 257//32 +f 296//32 257//32 297//32 +f 297//33 257//33 255//33 +f 297//33 255//33 298//33 +f 298//34 255//34 254//34 +f 298//34 254//34 299//34 +f 299//35 254//35 256//35 +f 299//35 256//35 300//35 +f 300//36 256//36 169//36 +f 300//36 169//36 290//36 +f 295//37 301//37 168//37 +f 168//37 301//37 153//37 +f 156//38 302//38 157//38 +f 157//39 302//39 303//39 +f 157//39 303//39 158//39 +f 158//40 303//40 304//40 +f 158//40 304//40 159//40 +f 302//38 156//38 305//38 +f 305//41 156//41 155//41 +f 305//41 155//41 306//41 +f 306//42 155//42 154//42 +f 306//42 154//42 307//42 +f 307//43 154//43 153//43 +f 307//43 153//43 301//43 +f 304//2 308//2 159//2 +f 159//2 308//2 152//2 +f 38//44 309//44 37//44 +f 37//45 309//45 310//45 +f 37//45 310//45 35//45 +f 35//46 310//46 311//46 +f 35//46 311//46 70//46 +f 70//47 311//47 312//47 +f 70//47 312//47 71//47 +f 309//44 38//44 313//44 +f 313//48 38//48 39//48 +f 313//48 39//48 314//48 +f 314//49 39//49 40//49 +f 314//49 40//49 315//49 +f 315//50 40//50 41//50 +f 315//50 41//50 316//50 +f 316//51 41//51 152//51 +f 316//51 152//51 308//51 +f 312//52 317//52 71//52 +f 71//52 317//52 72//52 +f 104//53 318//53 105//53 +f 105//54 318//54 319//54 +f 105//54 319//54 106//54 +f 106//55 319//55 320//55 +f 106//55 320//55 107//55 +f 107//56 320//56 321//56 +f 107//56 321//56 108//56 +f 108//57 321//57 322//57 +f 108//57 322//57 109//57 +f 109//58 322//58 323//58 +f 109//58 323//58 110//58 +f 318//53 104//53 324//53 +f 324//59 104//59 252//59 +f 324//59 252//59 325//59 +f 325//60 252//60 250//60 +f 325//60 250//60 326//60 +f 326//61 250//61 249//61 +f 326//61 249//61 327//61 +f 327//62 249//62 247//62 +f 327//62 247//62 328//62 +f 328//63 247//63 161//63 +f 328//63 161//63 329//63 +f 329//64 161//64 160//64 +f 329//64 160//64 330//64 +f 330//65 160//65 72//65 +f 330//65 72//65 317//65 +f 323//25 331//25 110//25 +f 110//25 331//25 111//25 +f 114//66 332//66 115//66 +f 115//67 332//67 333//67 +f 115//67 333//67 116//67 +f 116//68 333//68 334//68 +f 116//68 334//68 117//68 +f 332//66 114//66 335//66 +f 335//69 114//69 113//69 +f 335//69 113//69 336//69 +f 336//70 113//70 112//70 +f 336//70 112//70 337//70 +f 337//71 112//71 111//71 +f 337//71 111//71 331//71 +f 334//72 338//72 117//72 +f 117//72 338//72 118//72 +f 130//73 339//73 53//73 +f 53//74 339//74 340//74 +f 53//74 340//74 54//74 +f 54//75 340//75 341//75 +f 54//75 341//75 55//75 +f 55//76 341//76 267//76 +f 55//76 267//76 56//76 +f 339//73 130//73 342//73 +f 342//77 130//77 77//77 +f 342//77 77//77 343//77 +f 343//78 77//78 76//78 +f 343//78 76//78 344//78 +f 344//79 76//79 119//79 +f 344//79 119//79 345//79 +f 345//80 119//80 118//80 +f 345//81 118//81 338//81 +f 346//25 17//25 347//25 +f 347//25 17//25 2//25 +f 17//82 346//82 19//82 +f 19//82 346//82 348//82 +f 19//83 348//83 21//83 +f 21//83 348//83 349//83 +f 21//84 349//84 23//84 +f 23//84 349//84 350//84 +f 23//85 350//85 25//85 +f 25//85 350//85 351//85 +f 25//86 351//86 26//86 +f 26//86 351//86 352//86 +f 26//87 352//87 24//87 +f 24//87 352//87 353//87 +f 24//88 353//88 22//88 +f 22//88 353//88 354//88 +f 22//89 354//89 20//89 +f 20//89 354//89 355//89 +f 20//90 355//90 18//90 +f 18//90 355//90 356//90 +f 18//91 356//91 16//91 +f 16//91 356//91 357//91 +f 358//92 3//92 357//92 +f 357//92 3//92 16//92 +f 3//93 358//93 4//93 +f 4//93 358//93 359//93 +f 4//94 359//94 5//94 +f 5//94 359//94 360//94 +f 5//95 360//95 6//95 +f 6//95 360//95 361//95 +f 6//96 361//96 7//96 +f 7//96 361//96 362//96 +f 7//97 362//97 8//97 +f 8//97 362//97 363//97 +f 8//98 363//98 9//98 +f 9//98 363//98 364//98 +f 9//99 364//99 10//99 +f 10//99 364//99 365//99 +f 10//100 365//100 11//100 +f 11//100 365//100 366//100 +f 11//101 366//101 12//101 +f 12//101 366//101 367//101 +f 12//102 367//102 13//102 +f 13//103 367//103 368//103 +f 13//104 368//104 14//104 +f 14//104 368//104 369//104 +f 14//105 369//105 15//105 +f 15//105 369//105 370//105 +f 371//2 1//2 370//2 +f 370//2 1//2 15//2 +f 347//106 2//106 371//106 +f 371//106 2//106 1//106 +f 372//107 43//107 373//107 +f 373//107 43//107 42//107 +f 43//108 372//108 143//108 +f 143//108 372//108 374//108 +f 143//109 374//109 144//109 +f 144//109 374//109 375//109 +f 144//110 375//110 145//110 +f 145//110 375//110 376//110 +f 145//111 376//111 146//111 +f 146//111 376//111 377//111 +f 146//112 377//112 149//112 +f 149//112 377//112 378//112 +f 149//113 378//113 150//113 +f 150//113 378//113 379//113 +f 150//114 379//114 151//114 +f 151//114 379//114 380//114 +f 151//115 380//115 58//115 +f 58//115 380//115 381//115 +f 382//116 52//116 381//116 +f 381//116 52//116 58//116 +f 52//117 382//117 131//117 +f 131//117 382//117 383//117 +f 131//118 383//118 132//118 +f 132//118 383//118 384//118 +f 132//119 384//119 133//119 +f 133//119 384//119 385//119 +f 133//120 385//120 134//120 +f 134//120 385//120 386//120 +f 134//121 386//121 135//121 +f 135//121 386//121 387//121 +f 135//122 387//122 136//122 +f 136//122 387//122 388//122 +f 136//123 388//123 137//123 +f 137//124 388//124 389//124 +f 137//125 389//125 138//125 +f 138//125 389//125 390//125 +f 138//126 390//126 139//126 +f 139//126 390//126 391//126 +f 139//127 391//127 140//127 +f 140//127 391//127 392//127 +f 140//128 392//128 141//128 +f 141//128 392//128 393//128 +f 141//129 393//129 142//129 +f 142//129 393//129 394//129 +f 142//130 394//130 78//130 +f 78//130 394//130 395//130 +f 78//131 395//131 79//131 +f 79//131 395//131 396//131 +f 79//132 396//132 80//132 +f 80//132 396//132 397//132 +f 80//133 397//133 81//133 +f 81//133 397//133 398//133 +f 399//134 82//134 398//134 +f 398//134 82//134 81//134 +f 83//135 82//135 400//135 +f 400//135 82//135 399//135 +f 83//136 400//136 84//136 +f 84//136 400//136 401//136 +f 84//137 401//137 85//137 +f 85//137 401//137 402//137 +f 85//138 402//138 86//138 +f 86//138 402//138 403//138 +f 86//139 403//139 87//139 +f 87//139 403//139 404//139 +f 87//140 404//140 88//140 +f 88//140 404//140 405//140 +f 88//141 405//141 89//141 +f 89//141 405//141 406//141 +f 89//142 406//142 90//142 +f 90//142 406//142 407//142 +f 90//143 407//143 91//143 +f 91//143 407//143 408//143 +f 91//144 408//144 92//144 +f 92//144 408//144 409//144 +f 92//145 409//145 93//145 +f 93//145 409//145 410//145 +f 93//146 410//146 94//146 +f 94//146 410//146 411//146 +f 94//147 411//147 95//147 +f 95//147 411//147 412//147 +f 95//148 412//148 96//148 +f 96//148 412//148 413//148 +f 96//149 413//149 121//149 +f 121//150 413//150 414//150 +f 121//2 414//2 122//2 +f 122//2 414//2 415//2 +f 122//2 415//2 123//2 +f 123//2 415//2 416//2 +f 123//2 416//2 124//2 +f 124//2 416//2 417//2 +f 124//151 417//151 125//151 +f 125//151 417//151 418//151 +f 125//152 418//152 126//152 +f 126//152 418//152 419//152 +f 126//153 419//153 127//153 +f 127//153 419//153 420//153 +f 127//154 420//154 128//154 +f 128//154 420//154 421//154 +f 128//155 421//155 129//155 +f 129//156 421//156 422//156 +f 129//157 422//157 192//157 +f 192//157 422//157 423//157 +f 192//158 423//158 193//158 +f 193//158 423//158 424//158 +f 193//159 424//159 214//159 +f 214//160 424//160 425//160 +f 214//161 425//161 215//161 +f 215//161 425//161 426//161 +f 215//162 426//162 216//162 +f 216//162 426//162 427//162 +f 216//163 427//163 217//163 +f 217//163 427//163 428//163 +f 217//164 428//164 218//164 +f 218//165 428//165 429//165 +f 218//166 429//166 42//166 +f 42//166 429//166 373//166 +f 197//167 430//167 198//167 +f 198//167 430//167 431//167 +f 198//168 431//168 199//168 +f 199//168 431//168 432//168 +f 199//169 432//169 200//169 +f 200//169 432//169 433//169 +f 200//170 433//170 201//170 +f 201//170 433//170 434//170 +f 201//171 434//171 202//171 +f 202//171 434//171 435//171 +f 202//172 435//172 203//172 +f 203//172 435//172 436//172 +f 203//173 436//173 204//173 +f 204//174 436//174 437//174 +f 438//175 205//175 437//175 +f 437//175 205//175 204//175 +f 205//176 438//176 206//176 +f 206//176 438//176 439//176 +f 206//177 439//177 228//177 +f 228//177 439//177 440//177 +f 228//178 440//178 229//178 +f 229//178 440//178 441//178 +f 229//179 441//179 230//179 +f 230//179 441//179 442//179 +f 230//180 442//180 231//180 +f 231//180 442//180 443//180 +f 231//181 443//181 220//181 +f 220//181 443//181 444//181 +f 445//182 221//182 444//182 +f 444//182 221//182 220//182 +f 221//183 445//183 266//183 +f 266//183 445//183 446//183 +f 266//184 446//184 265//184 +f 265//184 446//184 447//184 +f 265//185 447//185 263//185 +f 263//185 447//185 448//185 +f 263//186 448//186 261//186 +f 261//186 448//186 449//186 +f 261//187 449//187 262//187 +f 262//187 449//187 450//187 +f 262//188 450//188 264//188 +f 264//188 450//188 451//188 +f 452//189 222//189 451//189 +f 451//189 222//189 264//189 +f 222//190 452//190 223//190 +f 223//190 452//190 453//190 +f 223//191 453//191 224//191 +f 224//191 453//191 454//191 +f 224//192 454//192 225//192 +f 225//192 454//192 455//192 +f 225//193 455//193 226//193 +f 226//193 455//193 456//193 +f 226//194 456//194 227//194 +f 227//194 456//194 457//194 +f 227//195 457//195 219//195 +f 219//195 457//195 458//195 +f 459//196 207//196 458//196 +f 458//196 207//196 219//196 +f 207//197 459//197 208//197 +f 208//197 459//197 460//197 +f 208//198 460//198 209//198 +f 209//199 460//199 461//199 +f 209//200 461//200 210//200 +f 210//200 461//200 462//200 +f 210//201 462//201 211//201 +f 211//201 462//201 463//201 +f 211//202 463//202 212//202 +f 212//202 463//202 464//202 +f 212//203 464//203 98//203 +f 98//203 464//203 465//203 +f 466//204 99//204 465//204 +f 465//204 99//204 98//204 +f 99//205 466//205 28//205 +f 28//205 466//205 467//205 +f 28//206 467//206 188//206 +f 188//206 467//206 468//206 +f 188//207 468//207 189//207 +f 189//207 468//207 469//207 +f 189//208 469//208 190//208 +f 190//209 469//209 470//209 +f 190//210 470//210 191//210 +f 191//210 470//210 471//210 +f 191//211 471//211 176//211 +f 176//212 471//212 472//212 +f 473//182 177//182 472//182 +f 472//182 177//182 176//182 +f 177//213 473//213 184//213 +f 184//213 473//213 474//213 +f 184//214 474//214 185//214 +f 185//214 474//214 475//214 +f 185//215 475//215 186//215 +f 186//215 475//215 476//215 +f 186//216 476//216 260//216 +f 260//216 476//216 477//216 +f 260//217 477//217 259//217 +f 259//217 477//217 478//217 +f 259//218 478//218 187//218 +f 187//218 478//218 479//218 +f 480//219 178//219 479//219 +f 479//219 178//219 187//219 +f 178//220 480//220 179//220 +f 179//220 480//220 481//220 +f 179//221 481//221 180//221 +f 180//221 481//221 482//221 +f 180//222 482//222 181//222 +f 181//222 482//222 483//222 +f 181//223 483//223 182//223 +f 182//223 483//223 484//223 +f 182//224 484//224 183//224 +f 183//224 484//224 485//224 +f 183//225 485//225 174//225 +f 174//225 485//225 486//225 +f 487//196 175//196 486//196 +f 486//196 175//196 174//196 +f 175//226 487//226 34//226 +f 34//226 487//226 488//226 +f 34//227 488//227 33//227 +f 33//227 488//227 489//227 +f 33//228 489//228 32//228 +f 32//228 489//228 490//228 +f 32//229 490//229 31//229 +f 31//229 490//229 491//229 +f 31//230 491//230 30//230 +f 30//230 491//230 492//230 +f 30//231 492//231 29//231 +f 29//231 492//231 493//231 +f 29//232 493//232 27//232 +f 27//233 493//233 494//233 +f 495//204 100//204 494//204 +f 494//204 100//204 27//204 +f 100//234 495//234 101//234 +f 101//234 495//234 496//234 +f 101//235 496//235 102//235 +f 102//235 496//235 497//235 +f 102//236 497//236 103//236 +f 103//236 497//236 498//236 +f 103//237 498//237 253//237 +f 253//237 498//237 499//237 +f 253//238 499//238 251//238 +f 251//238 499//238 500//238 +f 251//239 500//239 248//239 +f 248//239 500//239 501//239 +f 248//240 501//240 246//240 +f 246//240 501//240 502//240 +f 246//241 502//241 162//241 +f 162//241 502//241 503//241 +f 162//242 503//242 163//242 +f 163//242 503//242 504//242 +f 163//243 504//243 164//243 +f 164//244 504//244 505//244 +f 164//245 505//245 73//245 +f 73//245 505//245 506//245 +f 73//246 506//246 59//246 +f 59//246 506//246 507//246 +f 508//247 60//247 507//247 +f 507//247 60//247 59//247 +f 60//248 508//248 244//248 +f 244//248 508//248 509//248 +f 244//249 509//249 242//249 +f 242//249 509//249 510//249 +f 242//250 510//250 241//250 +f 241//250 510//250 511//250 +f 241//251 511//251 239//251 +f 239//251 511//251 512//251 +f 239//252 512//252 237//252 +f 237//252 512//252 513//252 +f 237//253 513//253 235//253 +f 235//254 513//254 514//254 +f 235//255 514//255 232//255 +f 232//255 514//255 515//255 +f 232//256 515//256 148//256 +f 148//256 515//256 516//256 +f 148//257 516//257 44//257 +f 44//257 516//257 517//257 +f 518//258 45//258 517//258 +f 517//258 45//258 44//258 +f 45//259 518//259 46//259 +f 46//259 518//259 519//259 +f 46//260 519//260 47//260 +f 47//260 519//260 520//260 +f 47//261 520//261 48//261 +f 48//261 520//261 521//261 +f 48//262 521//262 49//262 +f 49//262 521//262 522//262 +f 49//263 522//263 50//263 +f 50//263 522//263 523//263 +f 50//264 523//264 51//264 +f 51//264 523//264 524//264 +f 51//265 524//265 213//265 +f 213//265 524//265 525//265 +f 213//266 525//266 194//266 +f 194//266 525//266 526//266 +f 194//267 526//267 195//267 +f 195//267 526//267 527//267 +f 195//268 527//268 196//268 +f 196//268 527//268 528//268 +f 430//269 197//269 528//269 +f 528//269 197//269 196//269 +f 324//1 319//1 318//1 +f 272//1 296//1 297//1 +f 272//1 297//1 298//1 +f 272//1 298//1 299//1 +f 272//1 299//1 300//1 +f 272//1 300//1 290//1 +f 272//1 290//1 278//1 +f 334//1 308//1 304//1 +f 334//1 304//1 303//1 +f 334//1 303//1 302//1 +f 334//1 302//1 305//1 +f 334//1 305//1 306//1 +f 334//1 306//1 307//1 +f 334//1 307//1 301//1 +f 334//1 301//1 295//1 +f 334//1 295//1 294//1 +f 334//1 294//1 293//1 +f 334//1 293//1 292//1 +f 334//1 292//1 291//1 +f 334//1 291//1 296//1 +f 334//1 296//1 272//1 +f 334//1 272//1 271//1 +f 334//1 271//1 270//1 +f 334//1 270//1 269//1 +f 334//1 269//1 273//1 +f 334//1 273//1 274//1 +f 334//1 274//1 275//1 +f 334//1 275//1 276//1 +f 334//1 276//1 277//1 +f 334//1 277//1 268//1 +f 334//1 268//1 338//1 +f 268//1 267//1 339//1 +f 268//1 339//1 342//1 +f 268//1 342//1 343//1 +f 268//1 343//1 344//1 +f 268//1 344//1 345//1 +f 268//1 345//1 338//1 +f 308//1 334//1 333//1 +f 308//1 333//1 332//1 +f 308//1 332//1 335//1 +f 308//1 335//1 336//1 +f 308//1 336//1 337//1 +f 308//1 337//1 331//1 +f 323//1 322//1 326//1 +f 323//1 326//1 327//1 +f 323//1 327//1 328//1 +f 323//1 328//1 329//1 +f 323//1 329//1 330//1 +f 323//1 330//1 317//1 +f 323//1 317//1 312//1 +f 323//1 312//1 311//1 +f 323//1 311//1 310//1 +f 323//1 310//1 309//1 +f 323//1 309//1 313//1 +f 323//1 313//1 314//1 +f 323//1 314//1 315//1 +f 323//1 315//1 316//1 +f 323//1 316//1 308//1 +f 323//1 308//1 331//1 +f 283//1 282//1 285//1 +f 283//1 285//1 286//1 +f 283//1 286//1 287//1 +f 283//1 287//1 288//1 +f 283//1 288//1 289//1 +f 283//1 289//1 278//1 +f 283//1 278//1 290//1 +f 339//1 267//1 340//1 +f 340//1 267//1 341//1 +f 326//1 322//1 325//1 +f 325//1 322//1 321//1 +f 325//1 321//1 324//1 +f 324//1 321//1 320//1 +f 324//1 320//1 319//1 +f 285//1 282//1 284//1 +f 284//1 282//1 281//1 +f 284//1 281//1 279//1 +f 279//1 281//1 280//1 +f 401//1 403//1 402//1 +f 406//1 408//1 407//1 +f 371//1 370//1 382//1 +f 371//1 382//1 381//1 +f 371//1 381//1 380//1 +f 371//1 380//1 379//1 +f 371//1 379//1 378//1 +f 371//1 378//1 377//1 +f 371//1 377//1 376//1 +f 371//1 376//1 375//1 +f 371//1 375//1 374//1 +f 371//1 374//1 372//1 +f 400//1 406//1 405//1 +f 400//1 405//1 404//1 +f 400//1 404//1 403//1 +f 400//1 403//1 401//1 +f 356//1 355//1 408//1 +f 356//1 408//1 406//1 +f 356//1 406//1 400//1 +f 356//1 400//1 399//1 +f 356//1 399//1 398//1 +f 356//1 398//1 357//1 +f 358//1 357//1 398//1 +f 358//1 398//1 397//1 +f 358//1 397//1 396//1 +f 358//1 396//1 395//1 +f 358//1 395//1 394//1 +f 358//1 394//1 393//1 +f 352//1 351//1 416//1 +f 352//1 416//1 415//1 +f 352//1 415//1 414//1 +f 352//1 414//1 413//1 +f 352//1 413//1 412//1 +f 352//1 412//1 411//1 +f 352//1 411//1 410//1 +f 352//1 410//1 409//1 +f 352//1 409//1 353//1 +f 417//1 416//1 351//1 +f 417//1 351//1 350//1 +f 417//1 350//1 349//1 +f 417//1 349//1 348//1 +f 417//1 348//1 346//1 +f 417//1 346//1 347//1 +f 347//1 371//1 417//1 +f 417//1 371//1 372//1 +f 417//1 372//1 418//1 +f 418//1 372//1 373//1 +f 418//1 373//1 419//1 +f 419//1 373//1 429//1 +f 419//1 429//1 420//1 +f 420//1 429//1 428//1 +f 420//1 428//1 421//1 +f 421//1 428//1 427//1 +f 421//1 427//1 422//1 +f 422//1 427//1 426//1 +f 422//1 426//1 423//1 +f 423//1 426//1 425//1 +f 423//1 425//1 424//1 +f 353//1 409//1 354//1 +f 354//1 409//1 408//1 +f 354//1 408//1 355//1 +f 358//1 393//1 359//1 +f 359//1 393//1 392//1 +f 359//1 392//1 360//1 +f 360//1 392//1 391//1 +f 360//1 391//1 361//1 +f 361//1 391//1 390//1 +f 361//1 390//1 362//1 +f 362//1 390//1 389//1 +f 362//1 389//1 363//1 +f 363//1 389//1 388//1 +f 363//1 388//1 364//1 +f 364//1 388//1 387//1 +f 364//1 387//1 365//1 +f 365//1 387//1 366//1 +f 366//1 387//1 386//1 +f 366//1 386//1 367//1 +f 367//1 386//1 385//1 +f 367//1 385//1 368//1 +f 368//1 385//1 384//1 +f 368//1 384//1 369//1 +f 369//1 384//1 370//1 +f 370//1 384//1 383//1 +f 370//1 383//1 382//1 +f 430//1 446//1 445//1 +f 430//1 447//1 446//1 +f 499//1 497//1 496//1 +f 497//1 499//1 498//1 +f 507//1 495//1 494//1 +f 507//1 494//1 493//1 +f 507//1 493//1 492//1 +f 507//1 492//1 491//1 +f 507//1 491//1 490//1 +f 507//1 490//1 489//1 +f 507//1 489//1 488//1 +f 507//1 488//1 487//1 +f 507//1 487//1 486//1 +f 507//1 486//1 485//1 +f 507//1 485//1 484//1 +f 507//1 484//1 483//1 +f 479//1 478//1 458//1 +f 479//1 458//1 457//1 +f 479//1 457//1 456//1 +f 479//1 456//1 455//1 +f 479//1 455//1 454//1 +f 479//1 454//1 453//1 +f 479//1 453//1 452//1 +f 508//1 507//1 483//1 +f 508//1 483//1 482//1 +f 508//1 482//1 481//1 +f 508//1 481//1 480//1 +f 508//1 480//1 479//1 +f 508//1 479//1 452//1 +f 508//1 452//1 451//1 +f 508//1 451//1 450//1 +f 508//1 450//1 449//1 +f 495//1 507//1 506//1 +f 495//1 506//1 505//1 +f 495//1 505//1 504//1 +f 495//1 504//1 503//1 +f 495//1 503//1 502//1 +f 495//1 502//1 501//1 +f 495//1 501//1 500//1 +f 495//1 500//1 499//1 +f 495//1 499//1 496//1 +f 449//1 511//1 510//1 +f 449//1 510//1 509//1 +f 449//1 509//1 508//1 +f 448//1 517//1 516//1 +f 448//1 516//1 515//1 +f 448//1 515//1 514//1 +f 448//1 514//1 513//1 +f 448//1 513//1 512//1 +f 448//1 512//1 511//1 +f 448//1 511//1 449//1 +f 528//1 517//1 448//1 +f 528//1 448//1 447//1 +f 528//1 447//1 430//1 +f 517//1 528//1 527//1 +f 517//1 527//1 526//1 +f 517//1 526//1 525//1 +f 517//1 525//1 524//1 +f 517//1 524//1 523//1 +f 517//1 523//1 518//1 +f 444//1 438//1 437//1 +f 444//1 437//1 436//1 +f 444//1 436//1 435//1 +f 444//1 435//1 434//1 +f 444//1 434//1 433//1 +f 444//1 433//1 432//1 +f 444//1 432//1 431//1 +f 444//1 431//1 430//1 +f 444//1 430//1 445//1 +f 438//1 444//1 443//1 +f 438//1 443//1 442//1 +f 438//1 442//1 441//1 +f 438//1 441//1 440//1 +f 438//1 440//1 439//1 +f 458//1 478//1 477//1 +f 458//1 477//1 476//1 +f 458//1 476//1 475//1 +f 458//1 475//1 474//1 +f 458//1 474//1 473//1 +f 458//1 473//1 472//1 +f 458//1 472//1 459//1 +f 466//1 465//1 472//1 +f 466//1 472//1 471//1 +f 466//1 471//1 470//1 +f 466//1 470//1 469//1 +f 466//1 469//1 468//1 +f 466//1 468//1 467//1 +f 472//1 465//1 464//1 +f 472//1 464//1 463//1 +f 472//1 463//1 462//1 +f 472//1 462//1 461//1 +f 472//1 461//1 460//1 +f 472//1 460//1 459//1 +f 521//1 520//1 522//1 +f 522//1 520//1 519//1 +f 522//1 519//1 523//1 +f 523//1 519//1 518//1 +f 529//270 530//270 531//270 +f 531//270 530//270 532//270 +f 532//182 120//182 531//182 +f 531//182 120//182 97//182 +f 531//271 97//271 529//271 +f 529//271 97//271 75//271 +f 529//196 75//196 530//196 +f 530//196 75//196 74//196 +f 530//272 74//272 532//272 +f 532//272 74//272 120//272 diff --git a/resources/meshes/hellbot_hidra.obj b/resources/meshes/hellbot_hidra.obj index 8f5a11b3e9..992a5bdd20 100644 --- a/resources/meshes/hellbot_hidra.obj +++ b/resources/meshes/hellbot_hidra.obj @@ -1,6 +1,3 @@ -# Exported from 3D Builder -mtllib hellbot_hidra.mtl - o Object.1 v -48.976158 -116.868103 -0.999955 188 188 188 v -63.523849 -108.540039 1.000040 188 188 188 diff --git a/resources/meshes/hellbot_hidra_plus.obj b/resources/meshes/hellbot_hidra_plus.obj index 725c577fc3..4b39269b9b 100644 --- a/resources/meshes/hellbot_hidra_plus.obj +++ b/resources/meshes/hellbot_hidra_plus.obj @@ -1,6 +1,3 @@ -# Exported from 3D Builder -mtllib hellbot_hidra_plus.mtl - o Object.1 v -150.000000 160.000168 -1.000108 188 188 188 v -91.259621 -159.160385 -0.999880 188 188 188 diff --git a/resources/qml/Account/AccountWidget.qml b/resources/qml/Account/AccountWidget.qml index ef1622daee..b058ead22f 100644 --- a/resources/qml/Account/AccountWidget.qml +++ b/resources/qml/Account/AccountWidget.qml @@ -12,8 +12,8 @@ Item property var profile: Cura.API.account.userProfile property var loggedIn: Cura.API.account.isLoggedIn - height: signInButton.height > accountWidget.height ? signInButton.height : accountWidget.height - width: signInButton.width > accountWidget.width ? signInButton.width : accountWidget.width + height: signInButton.visible ? signInButton.height : accountWidget.height + width: signInButton.visible ? signInButton.width : accountWidget.width Button { @@ -32,9 +32,18 @@ Item background: Rectangle { radius: UM.Theme.getSize("action_button_radius").width - color: signInButton.hovered ? UM.Theme.getColor("primary_text") : UM.Theme.getColor("main_window_header_background") + color: UM.Theme.getColor("main_window_header_background") border.width: UM.Theme.getSize("default_lining").width border.color: UM.Theme.getColor("primary_text") + + Rectangle + { + anchors.fill: parent + radius: parent.radius + color: UM.Theme.getColor("primary_text") + opacity: signInButton.hovered ? 0.2 : 0 + Behavior on opacity { NumberAnimation { duration: 100 } } + } } contentItem: Label @@ -42,7 +51,7 @@ Item id: label text: signInButton.text font: UM.Theme.getFont("default") - color: signInButton.hovered ? UM.Theme.getColor("main_window_header_background") : UM.Theme.getColor("primary_text") + color: UM.Theme.getColor("primary_text") width: contentWidth verticalAlignment: Text.AlignVCenter renderType: Text.NativeRendering @@ -54,7 +63,6 @@ Item id: accountWidget anchors.verticalCenter: parent.verticalCenter - anchors.horizontalCenter: signInButton.horizontalCenter implicitHeight: Math.round(0.5 * UM.Theme.getSize("main_window_header").height) implicitWidth: Math.round(0.5 * UM.Theme.getSize("main_window_header").height) @@ -90,9 +98,19 @@ Item width: Math.min(accountWidget.width, accountWidget.height) height: width radius: width - color: accountWidget.hovered ? UM.Theme.getColor("primary_text") : "transparent" - border.width: 1 + color: UM.Theme.getColor("main_window_header_background") + border.width: UM.Theme.getSize("default_lining").width border.color: UM.Theme.getColor("primary_text") + + Rectangle + { + id: initialCircleFill + anchors.fill: parent + radius: parent.radius + color: UM.Theme.getColor("primary_text") + opacity: accountWidget.hovered ? 0.2 : 0 + Behavior on opacity { NumberAnimation { duration: 100 } } + } } Label @@ -102,7 +120,7 @@ Item anchors.horizontalCenter: parent.horizontalCenter text: accountWidget.text font: UM.Theme.getFont("large_bold") - color: accountWidget.hovered ? UM.Theme.getColor("main_window_header_background") : UM.Theme.getColor("primary_text") + color: UM.Theme.getColor("primary_text") verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter renderType: Text.NativeRendering @@ -142,7 +160,7 @@ Item borderColor: UM.Theme.getColor("lining") borderWidth: UM.Theme.getSize("default_lining").width - target: Qt.point(width - (signInButton.width / 2), -10) + target: Qt.point(width - ((signInButton.visible ? signInButton.width : accountWidget.width) / 2), -10) arrowSize: UM.Theme.getSize("default_arrow").width } diff --git a/resources/qml/ApplicationSwitcher/ApplicationButton.qml b/resources/qml/ApplicationSwitcher/ApplicationButton.qml new file mode 100644 index 0000000000..bcf780753c --- /dev/null +++ b/resources/qml/ApplicationSwitcher/ApplicationButton.qml @@ -0,0 +1,91 @@ +// Copyright (c) 2021 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.10 +import QtQuick.Controls 2.3 + +import UM 1.4 as UM +import Cura 1.1 as Cura + +Button +{ + id: base + + property alias iconSource: applicationIcon.source + property alias displayName: applicationDisplayName.text + property alias tooltipText: tooltip.text + property bool isExternalLink: false + property color borderColor: hovered ? UM.Theme.getColor("primary") : "transparent" + property color backgroundColor: hovered ? UM.Theme.getColor("action_button_hovered") : UM.Theme.getColor("action_button") + Behavior on backgroundColor { ColorAnimation { duration: 200; } } + Behavior on borderColor { ColorAnimation { duration: 200; } } + + hoverEnabled: true + width: UM.Theme.getSize("application_switcher_item").width + height: UM.Theme.getSize("application_switcher_item").height + + background: Rectangle + { + color:backgroundColor + border.color: borderColor + border.width: UM.Theme.getSize("default_lining").width + } + + Cura.ToolTip + { + id: tooltip + tooltipText: base.text + visible: base.hovered + } + + Column + { + id: applicationButtonContent + anchors.left: parent.left + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + + UM.RecolorImage + { + id: applicationIcon + anchors.horizontalCenter: parent.horizontalCenter + + color: UM.Theme.getColor("icon") + width: UM.Theme.getSize("application_switcher_icon").width + height: width + + UM.RecolorImage + { + id: externalLinkIndicatorIcon + visible: base.isExternalLink + + anchors + { + bottom: parent.bottom + bottomMargin: - Math.round(height * 1 / 6) + right: parent.right + rightMargin: - Math.round(width * 5 / 6) + } + width: UM.Theme.getSize("icon_indicator").width + height: width + color: UM.Theme.getColor("icon") + source: UM.Theme.getIcon("LinkExternal") + } + } + + Label + { + id: applicationDisplayName + + anchors.left: parent.left + anchors.right: parent.right + + height: base.height - applicationIcon.height - 2 * UM.Theme.getSize("default_margin").width // Account for the top and bottom margins + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + wrapMode: Text.Wrap + elide: Text.ElideRight + color: UM.Theme.getColor("text") + } + } +} diff --git a/resources/qml/ApplicationSwitcher/ApplicationSwitcher.qml b/resources/qml/ApplicationSwitcher/ApplicationSwitcher.qml new file mode 100644 index 0000000000..a8ea2312a5 --- /dev/null +++ b/resources/qml/ApplicationSwitcher/ApplicationSwitcher.qml @@ -0,0 +1,61 @@ +// Copyright (c) 2021 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.10 +import QtQuick.Controls 2.3 +import QtQuick.Layouts 1.15 + +import UM 1.4 as UM +import Cura 1.1 as Cura + +Item +{ + id: applicationSwitcherWidget + width: Math.round(0.5 * UM.Theme.getSize("main_window_header").height) + height: width + + Button + { + id: applicationSwitcherButton + + anchors.fill: parent + + background: Item + { + Rectangle + { + anchors.fill: parent + radius: UM.Theme.getSize("action_button_radius").width + color: UM.Theme.getColor("primary_text") + opacity: applicationSwitcherButton.hovered ? 0.2 : 0 + Behavior on opacity { NumberAnimation { duration: 100; } } + } + + UM.RecolorImage + { + anchors.fill: parent + color: UM.Theme.getColor("primary_text") + + source: UM.Theme.getIcon("BlockGrid") + } + } + + onClicked: + { + if (applicationSwitcherPopup.opened) + { + applicationSwitcherPopup.close() + } else { + applicationSwitcherPopup.open() + } + } + } + ApplicationSwitcherPopup + { + id: applicationSwitcherPopup + y: parent.height + UM.Theme.getSize("default_arrow").height + + // Move the x position by the default margin so that the arrow isn't drawn exactly on the corner + x: parent.width - width + UM.Theme.getSize("default_margin").width + } +} \ No newline at end of file diff --git a/resources/qml/ApplicationSwitcher/ApplicationSwitcherPopup.qml b/resources/qml/ApplicationSwitcher/ApplicationSwitcherPopup.qml new file mode 100644 index 0000000000..ede42fcd5f --- /dev/null +++ b/resources/qml/ApplicationSwitcher/ApplicationSwitcherPopup.qml @@ -0,0 +1,120 @@ +// Copyright (c) 2021 Ultimaker B.V. +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.10 +import QtQuick.Controls 2.3 +import QtQuick.Layouts 1.15 + +import UM 1.4 as UM +import Cura 1.1 as Cura + +Popup +{ + id: applicationSwitcherPopup + + closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent + + opacity: opened ? 1 : 0 + Behavior on opacity { NumberAnimation { duration: 100 } } + padding: UM.Theme.getSize("wide_margin").width + + contentItem: Grid + { + id: ultimakerPlatformLinksGrid + columns: 3 + spacing: UM.Theme.getSize("default_margin").width + + Repeater + { + model: + [ + { + displayName: catalog.i18nc("@label:button", "My printers"), + thumbnail: UM.Theme.getIcon("PrinterTriple", "high"), + description: catalog.i18nc("@tooltip:button", "Monitor printers in Ultimaker Digital Factory."), + link: "https://digitalfactory.ultimaker.com/app/printers?utm_source=cura&utm_medium=software&utm_campaign=switcher-digital-factory-printers", + DFAccessRequired: true + }, + { + displayName: "Digital Library", //Not translated, since it's a brand name. + thumbnail: UM.Theme.getIcon("Library", "high"), + description: catalog.i18nc("@tooltip:button", "Create print projects in Digital Library."), + link: "https://digitalfactory.ultimaker.com/app/library?utm_source=cura&utm_medium=software&utm_campaign=switcher-library", + DFAccessRequired: true + }, + { + displayName: catalog.i18nc("@label:button", "Print jobs"), + thumbnail: UM.Theme.getIcon("FoodBeverages"), + description: catalog.i18nc("@tooltip:button", "Monitor print jobs and reprint from your print history."), + link: "https://digitalfactory.ultimaker.com/app/print-jobs?utm_source=cura&utm_medium=software&utm_campaign=switcher-digital-factory-printjobs", + DFAccessRequired: true + }, + { + displayName: "Ultimaker Marketplace", //Not translated, since it's a brand name. + thumbnail: UM.Theme.getIcon("Shop", "high"), + description: catalog.i18nc("@tooltip:button", "Extend Ultimaker Cura with plugins and material profiles."), + link: "https://marketplace.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-marketplace-materials", + DFAccessRequired: false + }, + { + displayName: "Ultimaker Academy", //Not translated, since it's a brand name. + thumbnail: UM.Theme.getIcon("Knowledge"), + description: catalog.i18nc("@tooltip:button", "Become a 3D printing expert with Ultimaker e-learning."), + link: "https://academy.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-academy", + DFAccessRequired: false + }, + { + displayName: catalog.i18nc("@label:button", "Ultimaker support"), + thumbnail: UM.Theme.getIcon("Help", "high"), + description: catalog.i18nc("@tooltip:button", "Learn how to get started with Ultimaker Cura."), + link: "https://support.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-support", + DFAccessRequired: false + }, + { + displayName: catalog.i18nc("@label:button", "Ask a question"), + thumbnail: UM.Theme.getIcon("Speak", "high"), + description: catalog.i18nc("@tooltip:button", "Consult the Ultimaker Community."), + link: "https://community.ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-community", + DFAccessRequired: false + }, + { + displayName: catalog.i18nc("@label:button", "Report a bug"), + thumbnail: UM.Theme.getIcon("Bug", "high"), + description: catalog.i18nc("@tooltip:button", "Let developers know that something is going wrong."), + link: "https://github.com/Ultimaker/Cura/issues/new/choose", + DFAccessRequired: false + }, + { + displayName: "Ultimaker.com", //Not translated, since it's a URL. + thumbnail: UM.Theme.getIcon("Browser"), + description: catalog.i18nc("@tooltip:button", "Visit the Ultimaker website."), + link: "https://ultimaker.com/?utm_source=cura&utm_medium=software&utm_campaign=switcher-umwebsite", + DFAccessRequired: false + } + ] + + delegate: ApplicationButton + { + displayName: modelData.displayName + iconSource: modelData.thumbnail + tooltipText: modelData.description + isExternalLink: true + visible: modelData.DFAccessRequired ? Cura.API.account.isLoggedIn & Cura.API.account.additionalRights["df_access"] : true + + onClicked: Qt.openUrlExternally(modelData.link) + } + } + } + + background: UM.PointingRectangle + { + color: UM.Theme.getColor("tool_panel_background") + borderColor: UM.Theme.getColor("lining") + borderWidth: UM.Theme.getSize("default_lining").width + + // Move the target by the default margin so that the arrow isn't drawn exactly on the corner + target: Qt.point(width - UM.Theme.getSize("default_margin").width - (applicationSwitcherButton.width / 2), -10) + + arrowSize: UM.Theme.getSize("default_arrow").width + } +} diff --git a/resources/qml/MainWindow/MainWindowHeader.qml b/resources/qml/MainWindow/MainWindowHeader.qml index c27f3b0a24..815ddff732 100644 --- a/resources/qml/MainWindow/MainWindowHeader.qml +++ b/resources/qml/MainWindow/MainWindowHeader.qml @@ -10,6 +10,7 @@ import UM 1.4 as UM import Cura 1.0 as Cura import "../Account" +import "../ApplicationSwitcher" Item { @@ -94,10 +95,21 @@ Item background: Rectangle { + id: marketplaceButtonBorder radius: UM.Theme.getSize("action_button_radius").width - color: marketplaceButton.hovered ? UM.Theme.getColor("primary_text") : UM.Theme.getColor("main_window_header_background") + color: UM.Theme.getColor("main_window_header_background") border.width: UM.Theme.getSize("default_lining").width border.color: UM.Theme.getColor("primary_text") + + Rectangle + { + id: marketplaceButtonFill + anchors.fill: parent + radius: parent.radius + color: UM.Theme.getColor("primary_text") + opacity: marketplaceButton.hovered ? 0.2 : 0 + Behavior on opacity { NumberAnimation { duration: 100 } } + } } contentItem: Label @@ -105,7 +117,7 @@ Item id: label text: marketplaceButton.text font: UM.Theme.getFont("default") - color: marketplaceButton.hovered ? UM.Theme.getColor("main_window_header_background") : UM.Theme.getColor("primary_text") + color: UM.Theme.getColor("primary_text") width: contentWidth verticalAlignment: Text.AlignVCenter renderType: Text.NativeRendering @@ -113,7 +125,7 @@ Item anchors { - right: accountWidget.left + right: applicationSwitcher.left rightMargin: UM.Theme.getSize("default_margin").width verticalCenter: parent.verticalCenter } @@ -138,6 +150,17 @@ Item } } + ApplicationSwitcher + { + id: applicationSwitcher + anchors + { + verticalCenter: parent.verticalCenter + right: accountWidget.left + rightMargin: UM.Theme.getSize("default_margin").width + } + } + AccountWidget { id: accountWidget diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 98f3266455..905c8485d0 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -76,6 +76,8 @@ UM.PreferencesPage UM.Preferences.resetPreference("cura/single_instance") singleInstanceCheckbox.checked = boolCheck(UM.Preferences.getValue("cura/single_instance")) + UM.Preferences.resetPreference("cura/single_instance_clear_before_load") + singleInstanceClearBeforeLoadCheckbox.checked = boolCheck(UM.Preferences.getValue("cura/single_instance_clear_before_load")) UM.Preferences.resetPreference("physics/automatic_push_free") pushFreeCheckbox.checked = boolCheck(UM.Preferences.getValue("physics/automatic_push_free")) @@ -567,6 +569,22 @@ UM.PreferencesPage } } + UM.TooltipArea + { + width: childrenRect.width + height: childrenRect.height + text: catalog.i18nc("@info:tooltip","Should the build plate be cleared before loading a new model in the single instance of Cura?") + enabled: singleInstanceCheckbox.checked + + CheckBox + { + id: singleInstanceClearBeforeLoadCheckbox + text: catalog.i18nc("@option:check","Clear buildplate before loading model into the single instance") + checked: boolCheck(UM.Preferences.getValue("cura/single_instance_clear_before_load")) + onCheckedChanged: UM.Preferences.setValue("cura/single_instance_clear_before_load", checked) + } + } + UM.TooltipArea { width: childrenRect.width diff --git a/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml b/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml index 49d5b57021..1209071320 100644 --- a/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml +++ b/resources/qml/WelcomePages/AddNetworkPrinterScrollView.qml @@ -205,6 +205,7 @@ Item height: UM.Theme.getSize("message_action_button").height onClicked: { CuraApplication.getDiscoveredCloudPrintersModel().clear() + Cura.API.account.sync(true) base.addCloudPrinterButtonClicked() } } diff --git a/resources/qml/WelcomePages/CloudContent.qml b/resources/qml/WelcomePages/CloudContent.qml index 528991b38e..7dc35c7bc5 100644 --- a/resources/qml/WelcomePages/CloudContent.qml +++ b/resources/qml/WelcomePages/CloudContent.qml @@ -190,55 +190,48 @@ Item } } } - - // Sign in Button - Cura.PrimaryButton - { - id: signInButton - anchors.horizontalCenter: parent.horizontalCenter - text: catalog.i18nc("@button", "Sign in") - onClicked: Cura.API.account.login() - // Content Item is used in order to align the text inside the button. Without it, when resizing the - // button, the text will be aligned on the left - contentItem: Text { - text: signInButton.text - font: UM.Theme.getFont("medium") - color: UM.Theme.getColor("primary_text") - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - } - } - - // Create an account button - Cura.TertiaryButton - { - id: createAccountButton - anchors.horizontalCenter: parent.horizontalCenter - text: catalog.i18nc("@text", "Create a free Ultimaker Account") - onClicked: Qt.openUrlExternally("https://ultimaker.com/app/ultimaker-cura-account-sign-up?utm_source=cura&utm_medium=software&utm_campaign=onboarding-signup") - } } } - // The "Skip" button exists on the bottom right - Label + // Skip button + Cura.TertiaryButton { id: skipButton + anchors.left: parent.left + anchors.bottom: parent.bottom + text: catalog.i18nc("@button", "Skip") + onClicked: base.showNextPage() + } + + // Create an account button + Cura.SecondaryButton + { + id: createAccountButton + anchors.right: signInButton.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + anchors.bottom: parent.bottom + + text: catalog.i18nc("@text", "Create a free Ultimaker Account") + onClicked: Qt.openUrlExternally("https://ultimaker.com/app/ultimaker-cura-account-sign-up?utm_source=cura&utm_medium=software&utm_campaign=onboarding-signup") + } + + // Sign in Button + Cura.PrimaryButton + { + id: signInButton anchors.right: parent.right anchors.bottom: parent.bottom - anchors.leftMargin: UM.Theme.getSize("default_margin").width - text: catalog.i18nc("@button", "Skip") - color: UM.Theme.getColor("secondary_button_text") - font: UM.Theme.getFont("medium") - renderType: Text.NativeRendering - MouseArea - { - anchors.fill: parent - hoverEnabled: true - onClicked: base.showNextPage() - onEntered: parent.font.underline = true - onExited: parent.font.underline = false + text: catalog.i18nc("@button", "Sign in") + onClicked: Cura.API.account.login() + // Content Item is used in order to align the text inside the button. Without it, when resizing the + // button, the text will be aligned on the left + contentItem: Text { + text: signInButton.text + font: UM.Theme.getFont("medium") + color: UM.Theme.getColor("primary_text") + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter } } } diff --git a/resources/qml/Widgets/ComboBox.qml b/resources/qml/Widgets/ComboBox.qml index f0ee3bdc00..36288f0f4f 100644 --- a/resources/qml/Widgets/ComboBox.qml +++ b/resources/qml/Widgets/ComboBox.qml @@ -15,12 +15,6 @@ ComboBox { id: control - UM.I18nCatalog - { - id: catalog - name: "cura" - } - property var defaultTextOnEmptyModel: catalog.i18nc("@label", "No items to select from") // Text displayed in the combobox when the model is empty property var defaultTextOnEmptyIndex: "" // Text displayed in the combobox when the model has items but no item is selected enabled: delegateModel.count > 0 diff --git a/resources/quality/eryone_thinker/eryone_thinker_extra_fast.inst.cfg b/resources/quality/eryone_thinker/eryone_thinker_extra_fast.inst.cfg new file mode 100644 index 0000000000..8eeedbf299 --- /dev/null +++ b/resources/quality/eryone_thinker/eryone_thinker_extra_fast.inst.cfg @@ -0,0 +1,37 @@ +[general] +version = 4 +name = Extra Fast +definition = eryone_thinker + +[metadata] +setting_version = 19 +type = quality +quality_type = verydraft +weight = -3 +global_quality = True + +[values] +acceleration_print = 1500 +acceleration_travel = 3000 +infill_sparse_density = 10 +initial_layer_line_width_factor = 100.0 +layer_height = 0.3 +layer_height_0 = =layer_height +material_bed_temperature = =default_material_bed_temperature +material_bed_temperature_layer_0 = =material_bed_temperature +material_final_print_temperature = =material_print_temperature +material_initial_print_temperature = =material_print_temperature +material_print_temperature = =default_material_print_temperature +material_print_temperature_layer_0 = =max(-273.15, material_print_temperature + 5) +skirt_brim_speed = =math.ceil(speed_print * 40 / 50) +speed_print = 100.0 +speed_infill = =math.ceil(speed_print * 60 / 50) +speed_topbottom = =math.ceil(speed_print * 40 / 50) +speed_travel = =speed_print if magic_spiralize else 150 +speed_layer_0 = =math.ceil(speed_print * 40 / 50) +speed_wall_0 = =math.ceil(speed_print * 40 / 50) +speed_wall_x = =math.ceil(speed_print * 60 / 50) +speed_z_hop = =math.ceil(speed_print * 30 / 60) +top_layers = 4 +bottom_layers = 2 +wall_line_count = 2 diff --git a/resources/quality/eryone_thinker/eryone_thinker_fast.inst.cfg b/resources/quality/eryone_thinker/eryone_thinker_fast.inst.cfg index 2455e0cf38..e44d39ae7d 100644 --- a/resources/quality/eryone_thinker/eryone_thinker_fast.inst.cfg +++ b/resources/quality/eryone_thinker/eryone_thinker_fast.inst.cfg @@ -11,9 +11,11 @@ weight = -1 global_quality = True [values] +acceleration_print = 1500 +acceleration_travel = 3000 infill_sparse_density = 15 initial_layer_line_width_factor = 100.0 -layer_height = 0.3 +layer_height = 0.25 layer_height_0 = =layer_height material_bed_temperature = =default_material_bed_temperature material_bed_temperature_layer_0 = =material_bed_temperature diff --git a/resources/quality/jgaurora_a6/jgaurora_a6_0.28_fast.inst.cfg.txt b/resources/quality/jgaurora_a6/jgaurora_a6_0.28_fast.inst.cfg.txt index fec1807b9e..89f09b6a8c 100644 --- a/resources/quality/jgaurora_a6/jgaurora_a6_0.28_fast.inst.cfg.txt +++ b/resources/quality/jgaurora_a6/jgaurora_a6_0.28_fast.inst.cfg.txt @@ -5,7 +5,7 @@ definition = jgaurora_a6 [metadata] quality_type = fast -setting_version = 18 +setting_version = 19 type = quality weight = -4 global_quality = true diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg index b72bb5deb0..eb7258b819 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Draft_Print.inst.cfg @@ -17,9 +17,6 @@ cool_min_layer_time_fan_speed_max = 6 cool_min_speed = 17 top_skin_expand_distance = =line_width * 2 infill_pattern = tetrahedral -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) material_bed_temperature_layer_0 = =material_bed_temperature material_print_temperature = =default_material_print_temperature - 2 material_print_temperature_layer_0 = =default_material_print_temperature + 2 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg index 7404371746..0e73a51c3a 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Superdraft_Print.inst.cfg @@ -17,9 +17,6 @@ cool_min_layer_time_fan_speed_max = 6 cool_min_speed = 17 top_skin_expand_distance = =line_width * 2 infill_pattern = tetrahedral -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) material_bed_temperature_layer_0 = =material_bed_temperature material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature + 2 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg index 182ecd4fe7..9b0892b81a 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PP_Verydraft_Print.inst.cfg @@ -17,9 +17,6 @@ cool_min_layer_time_fan_speed_max = 6 cool_min_speed = 17 top_skin_expand_distance = =line_width * 2 infill_pattern = tetrahedral -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) layer_height = 0.3 material_bed_temperature_layer_0 = =material_bed_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 2 diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg index efcc99228f..c80d7dc66d 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Draft_Print.inst.cfg @@ -18,9 +18,6 @@ top_skin_expand_distance = =line_width * 2 gradual_infill_step_height = =4 * layer_height infill_pattern = cross_3d infill_sparse_density = 10 -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 material_final_print_temperature = =material_print_temperature diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg index cbe9ab9a47..db3e9a7859 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Superdraft_Print.inst.cfg @@ -18,9 +18,6 @@ top_skin_expand_distance = =line_width * 2 gradual_infill_step_height = =4 * layer_height infill_pattern = cross_3d infill_sparse_density = 10 -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) layer_height = 0.4 machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg index 00b1c0d97e..59d9a9987f 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Verydraft_Print.inst.cfg @@ -18,9 +18,6 @@ top_skin_expand_distance = =line_width * 2 gradual_infill_step_height = =4 * layer_height infill_pattern = cross_3d infill_sparse_density = 10 -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) layer_height = 0.3 machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg index a79e349ae7..edabd04a60 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Draft_Print.inst.cfg @@ -19,9 +19,6 @@ top_skin_expand_distance = =line_width * 2 infill_pattern = tetrahedral -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) material_bed_temperature_layer_0 = =material_bed_temperature material_print_temperature = =default_material_print_temperature - 2 material_print_temperature_layer_0 = =default_material_print_temperature + 2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg index aea3306a5d..0e826b2c20 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Superdraft_Print.inst.cfg @@ -19,9 +19,6 @@ top_skin_expand_distance = =line_width * 2 infill_pattern = tetrahedral -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) material_bed_temperature_layer_0 = =material_bed_temperature material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature + 2 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg index 515dc48f38..d7b22b3a76 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_PP_Verydraft_Print.inst.cfg @@ -19,9 +19,6 @@ top_skin_expand_distance = =line_width * 2 infill_pattern = tetrahedral -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) material_bed_temperature_layer_0 = =material_bed_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 2 material_standby_temperature = 100 diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg index c901be85b6..6c47e4c8b3 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Draft_Print.inst.cfg @@ -16,9 +16,6 @@ brim_width = 8.75 cool_min_layer_time_fan_speed_max = 6 top_skin_expand_distance = =line_width * 2 infill_pattern = cross_3d -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 material_final_print_temperature = =material_print_temperature diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg index dbe1ade2d9..5830b94fb7 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Superdraft_Print.inst.cfg @@ -19,9 +19,6 @@ top_skin_expand_distance = =line_width * 2 infill_pattern = cross_3d infill_sparse_density = 10 -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 material_final_print_temperature = =material_print_temperature diff --git a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg index ebe6dad9dc..28d7d3d756 100644 --- a/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s3/um_s3_aa0.8_TPU_Verydraft_Print.inst.cfg @@ -19,9 +19,6 @@ top_skin_expand_distance = =line_width * 2 infill_pattern = cross_3d infill_sparse_density = 10 -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 material_final_print_temperature = =material_print_temperature diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg index 9d8662a172..351685d6a3 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Draft_Print.inst.cfg @@ -19,9 +19,6 @@ top_skin_expand_distance = =line_width * 2 infill_pattern = tetrahedral -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) material_bed_temperature_layer_0 = =material_bed_temperature material_print_temperature = =default_material_print_temperature - 2 material_print_temperature_layer_0 = =default_material_print_temperature + 2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg index dca926fe63..d012240e7d 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Superdraft_Print.inst.cfg @@ -19,9 +19,6 @@ top_skin_expand_distance = =line_width * 2 infill_pattern = tetrahedral -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) material_bed_temperature_layer_0 = =material_bed_temperature material_print_temperature = =default_material_print_temperature + 2 material_print_temperature_layer_0 = =default_material_print_temperature + 2 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg index 81f7a935f8..a3e3d01f0b 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_PP_Verydraft_Print.inst.cfg @@ -19,9 +19,6 @@ top_skin_expand_distance = =line_width * 2 infill_pattern = tetrahedral -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) material_bed_temperature_layer_0 = =material_bed_temperature material_print_temperature_layer_0 = =default_material_print_temperature + 2 material_standby_temperature = 100 diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg index fe60c7acd8..5cdd4198b1 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Draft_Print.inst.cfg @@ -18,9 +18,6 @@ top_skin_expand_distance = =line_width * 2 infill_pattern = cross_3d -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 material_final_print_temperature = =material_print_temperature diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg index ded2729f68..0c5ce71871 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Superdraft_Print.inst.cfg @@ -19,9 +19,6 @@ top_skin_expand_distance = =line_width * 2 infill_pattern = cross_3d infill_sparse_density = 10 -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 material_final_print_temperature = =material_print_temperature diff --git a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg index 03f293d9de..eb7b83f949 100644 --- a/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker_s5/um_s5_aa0.8_TPU_Verydraft_Print.inst.cfg @@ -19,9 +19,6 @@ top_skin_expand_distance = =line_width * 2 infill_pattern = cross_3d infill_sparse_density = 10 -jerk_prime_tower = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 15 / 25), 20) machine_nozzle_cool_down_speed = 0.5 machine_nozzle_heat_up_speed = 2.5 material_final_print_temperature = =material_print_temperature diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index 4bdc6a4554..1da548302f 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -354,6 +354,10 @@ magic_mesh_surface_mode magic_spiralize smooth_spiralized_contours relative_extrusion +lightning_infill_support_angle +lightning_infill_overhang_angle +lightning_infill_prune_angle +lightning_infill_straightening_angle [experimental] support_tree_wall_thickness diff --git a/resources/texts/change_log.txt b/resources/texts/change_log.txt index 26d38493e4..d540a95b24 100644 --- a/resources/texts/change_log.txt +++ b/resources/texts/change_log.txt @@ -252,7 +252,7 @@ When double clicking on a file in the open project dialog in Digital Factory it - Fixed a bug when the seam was not placed in sharpest corner. - Fixed the gantry height for S-line printers. - Fixed a bug where a model is partially below build plate if center selected model is used. -- Fixed a bug where a tootip arrow appeared when the "Manage printers" button is hovered. +- Fixed a bug where a tooltip arrow appeared when the "Manage printers" button is hovered. - Fixed a bug where assemblies were not arranged in the center of the build plate. * Printer definitions, profiles and materials. diff --git a/resources/themes/cura-light/icons/default/BlockGrid.svg b/resources/themes/cura-light/icons/default/BlockGrid.svg new file mode 100644 index 0000000000..207171b8f7 --- /dev/null +++ b/resources/themes/cura-light/icons/default/BlockGrid.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Browser.svg b/resources/themes/cura-light/icons/default/Browser.svg new file mode 100644 index 0000000000..01365ec678 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Browser.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Bug.svg b/resources/themes/cura-light/icons/default/Bug.svg new file mode 100644 index 0000000000..7ad9bb4f1c --- /dev/null +++ b/resources/themes/cura-light/icons/default/Bug.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/FoodBeverages.svg b/resources/themes/cura-light/icons/default/FoodBeverages.svg new file mode 100644 index 0000000000..1e74b33955 --- /dev/null +++ b/resources/themes/cura-light/icons/default/FoodBeverages.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Help.svg b/resources/themes/cura-light/icons/default/Help.svg new file mode 100644 index 0000000000..84f94c2703 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Help.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Knowledge.svg b/resources/themes/cura-light/icons/default/Knowledge.svg new file mode 100644 index 0000000000..4f8798d5f1 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Knowledge.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Library.svg b/resources/themes/cura-light/icons/default/Library.svg new file mode 100644 index 0000000000..beb8c6e593 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Library.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Shop.svg b/resources/themes/cura-light/icons/default/Shop.svg new file mode 100644 index 0000000000..bfd5a4bf69 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Shop.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/default/Speak.svg b/resources/themes/cura-light/icons/default/Speak.svg new file mode 100644 index 0000000000..8f308643a7 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Speak.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/high/Bug.svg b/resources/themes/cura-light/icons/high/Bug.svg new file mode 100644 index 0000000000..a24963cd8e --- /dev/null +++ b/resources/themes/cura-light/icons/high/Bug.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/high/Help.svg b/resources/themes/cura-light/icons/high/Help.svg new file mode 100644 index 0000000000..355b9dd468 --- /dev/null +++ b/resources/themes/cura-light/icons/high/Help.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/high/Library.svg b/resources/themes/cura-light/icons/high/Library.svg new file mode 100644 index 0000000000..3ddc018543 --- /dev/null +++ b/resources/themes/cura-light/icons/high/Library.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/high/PrinterTriple.svg b/resources/themes/cura-light/icons/high/PrinterTriple.svg new file mode 100644 index 0000000000..65e4936bc2 --- /dev/null +++ b/resources/themes/cura-light/icons/high/PrinterTriple.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/high/Shop.svg b/resources/themes/cura-light/icons/high/Shop.svg new file mode 100644 index 0000000000..7662cf4b9b --- /dev/null +++ b/resources/themes/cura-light/icons/high/Shop.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/icons/high/Speak.svg b/resources/themes/cura-light/icons/high/Speak.svg new file mode 100644 index 0000000000..68642bba2b --- /dev/null +++ b/resources/themes/cura-light/icons/high/Speak.svg @@ -0,0 +1,3 @@ + + + diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index d50a748493..78676da926 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -499,6 +499,9 @@ "print_setup_icon": [1.2, 1.2], "drag_icon": [1.416, 0.25], + "application_switcher_item": [8, 9], + "application_switcher_icon": [3.75, 3.75], + "expandable_component_content_header": [0.0, 3.0], "configuration_selector": [35.0, 4.0], @@ -571,6 +574,9 @@ "favorites_button": [2, 2], "favorites_button_icon": [1.2, 1.2], + "icon_indicator_background": [1.5, 1.5], + "icon_indicator": [1, 1], + "printer_status_icon": [1.0, 1.0], "printer_sync_icon": [1.2, 1.2], @@ -620,7 +626,7 @@ "message_close": [1, 1], "message_radius": [0.25, 0.25], "message_action_button": [0, 2.5], - "message_image": [15.0, 5.0], + "message_image": [15.0, 10.0], "message_type_icon": [2, 2], "infill_button_margin": [0.5, 0.5], diff --git a/resources/variants/arjunpro300_0.2.inst.cfg b/resources/variants/arjunpro300_0.2.inst.cfg new file mode 100644 index 0000000000..51b359bfab --- /dev/null +++ b/resources/variants/arjunpro300_0.2.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.2 mm Nozzle +version = 4 +definition = arjunpro300 + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.2 diff --git a/resources/variants/arjunpro300_0.3.inst.cfg b/resources/variants/arjunpro300_0.3.inst.cfg new file mode 100644 index 0000000000..4d647df100 --- /dev/null +++ b/resources/variants/arjunpro300_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.3 mm Nozzle +version = 4 +definition = arjunpro300 + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.3 diff --git a/resources/variants/arjunpro300_0.4.inst.cfg b/resources/variants/arjunpro300_0.4.inst.cfg new file mode 100644 index 0000000000..d17e90e245 --- /dev/null +++ b/resources/variants/arjunpro300_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.4 mm Nozzle +version = 4 +definition = arjunpro300 + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.4 diff --git a/resources/variants/arjunpro300_0.5.inst.cfg b/resources/variants/arjunpro300_0.5.inst.cfg new file mode 100644 index 0000000000..61bdaf0ab9 --- /dev/null +++ b/resources/variants/arjunpro300_0.5.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.5 mm Nozzle +version = 4 +definition = arjunpro300 + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.5 diff --git a/resources/variants/arjunpro300_0.6.inst.cfg b/resources/variants/arjunpro300_0.6.inst.cfg new file mode 100644 index 0000000000..905162b547 --- /dev/null +++ b/resources/variants/arjunpro300_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.6 mm Nozzle +version = 4 +definition = arjunpro300 + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.6 diff --git a/resources/variants/arjunpro300_0.8.inst.cfg b/resources/variants/arjunpro300_0.8.inst.cfg new file mode 100644 index 0000000000..f12ef67d30 --- /dev/null +++ b/resources/variants/arjunpro300_0.8.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.8 mm Nozzle +version = 4 +definition = arjunpro300 + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.8 diff --git a/resources/variants/arjunpro300_dm_0.2.inst.cfg b/resources/variants/arjunpro300_dm_0.2.inst.cfg new file mode 100644 index 0000000000..6b61519d07 --- /dev/null +++ b/resources/variants/arjunpro300_dm_0.2.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.2 mm Nozzle +version = 4 +definition = arjunpro_duplication + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.2 diff --git a/resources/variants/arjunpro300_dm_0.3.inst.cfg b/resources/variants/arjunpro300_dm_0.3.inst.cfg new file mode 100644 index 0000000000..3570f3b57f --- /dev/null +++ b/resources/variants/arjunpro300_dm_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.3 mm Nozzle +version = 4 +definition = arjunpro_duplication + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.3 diff --git a/resources/variants/arjunpro300_dm_0.4.inst.cfg b/resources/variants/arjunpro300_dm_0.4.inst.cfg new file mode 100644 index 0000000000..e3ede604ab --- /dev/null +++ b/resources/variants/arjunpro300_dm_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.4 mm Nozzle +version = 4 +definition = arjunpro_duplication + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.4 diff --git a/resources/variants/arjunpro300_dm_0.5.inst.cfg b/resources/variants/arjunpro300_dm_0.5.inst.cfg new file mode 100644 index 0000000000..ada64e3553 --- /dev/null +++ b/resources/variants/arjunpro300_dm_0.5.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.5 mm Nozzle +version = 4 +definition = arjunpro_duplication + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.5 diff --git a/resources/variants/arjunpro300_dm_0.6.inst.cfg b/resources/variants/arjunpro300_dm_0.6.inst.cfg new file mode 100644 index 0000000000..47d80f5a4f --- /dev/null +++ b/resources/variants/arjunpro300_dm_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.6 mm Nozzle +version = 4 +definition = arjunpro_duplication + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.6 diff --git a/resources/variants/arjunpro300_dm_0.8.inst.cfg b/resources/variants/arjunpro300_dm_0.8.inst.cfg new file mode 100644 index 0000000000..a34524e268 --- /dev/null +++ b/resources/variants/arjunpro300_dm_0.8.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.8 mm Nozzle +version = 4 +definition = arjunpro_duplication + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.8 diff --git a/resources/variants/arjunpro300_mm_0.2.inst.cfg b/resources/variants/arjunpro300_mm_0.2.inst.cfg new file mode 100644 index 0000000000..9630a9e30b --- /dev/null +++ b/resources/variants/arjunpro300_mm_0.2.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.2 mm Nozzle +version = 4 +definition = arjunpro_mirrored + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.2 diff --git a/resources/variants/arjunpro300_mm_0.3.inst.cfg b/resources/variants/arjunpro300_mm_0.3.inst.cfg new file mode 100644 index 0000000000..09d397ddea --- /dev/null +++ b/resources/variants/arjunpro300_mm_0.3.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.3 mm Nozzle +version = 4 +definition = arjunpro_mirrored + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.3 diff --git a/resources/variants/arjunpro300_mm_0.4.inst.cfg b/resources/variants/arjunpro300_mm_0.4.inst.cfg new file mode 100644 index 0000000000..49b7851df7 --- /dev/null +++ b/resources/variants/arjunpro300_mm_0.4.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.4 mm Nozzle +version = 4 +definition = arjunpro_mirrored + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.4 diff --git a/resources/variants/arjunpro300_mm_0.5.inst.cfg b/resources/variants/arjunpro300_mm_0.5.inst.cfg new file mode 100644 index 0000000000..dfbf3662c3 --- /dev/null +++ b/resources/variants/arjunpro300_mm_0.5.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.5 mm Nozzle +version = 4 +definition = arjunpro_mirrored + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.5 diff --git a/resources/variants/arjunpro300_mm_0.6.inst.cfg b/resources/variants/arjunpro300_mm_0.6.inst.cfg new file mode 100644 index 0000000000..c13c5cf82b --- /dev/null +++ b/resources/variants/arjunpro300_mm_0.6.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.6 mm Nozzle +version = 4 +definition = arjunpro_mirrored + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.6 diff --git a/resources/variants/arjunpro300_mm_0.8.inst.cfg b/resources/variants/arjunpro300_mm_0.8.inst.cfg new file mode 100644 index 0000000000..feffb6846c --- /dev/null +++ b/resources/variants/arjunpro300_mm_0.8.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.8 mm Nozzle +version = 4 +definition = arjunpro_mirrored + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.8 diff --git a/resources/variants/arjunpro300_pva_0.2.inst.cfg b/resources/variants/arjunpro300_pva_0.2.inst.cfg new file mode 100644 index 0000000000..1abc708060 --- /dev/null +++ b/resources/variants/arjunpro300_pva_0.2.inst.cfg @@ -0,0 +1,32 @@ +[general] +name = PVA 0.2 mm Nozzle +version = 4 +definition = arjunpro300 + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.2 +support_infill_sparse_thickness = =(layer_height * 2) if (layer_height * 2) <= 0.75 * machine_nozzle_size else layer_height +support_offset = 3 +support_bottom_height = =layer_height * 2 +support_bottom_pattern = zigzag +support_bottom_stair_step_height = =layer_height +support_infill_rate = 50 +support_interface_enable = True +support_interface_height = =layer_height * 5 +support_interface_skip_height = =layer_height +support_join_distance = 3 +support_xy_distance = =machine_nozzle_size / 2 +support_xy_distance_overhang = =machine_nozzle_size / 2 +support_angle = 45 +support_pattern = triangles +support_use_towers = False +support_z_distance = 0 +gradual_support_infill_steps = 2 +support_interface_density = 100 +support_interface_pattern = concentric \ No newline at end of file diff --git a/resources/variants/arjunpro300_pva_0.3.inst.cfg b/resources/variants/arjunpro300_pva_0.3.inst.cfg new file mode 100644 index 0000000000..5cb59930c1 --- /dev/null +++ b/resources/variants/arjunpro300_pva_0.3.inst.cfg @@ -0,0 +1,32 @@ +[general] +name = PVA 0.3 mm Nozzle +version = 4 +definition = arjunpro300 + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.3 +support_infill_sparse_thickness = =(layer_height * 2) if (layer_height * 2) <= 0.75 * machine_nozzle_size else layer_height +support_offset = 3 +support_bottom_height = =layer_height * 2 +support_bottom_pattern = zigzag +support_bottom_stair_step_height = =layer_height +support_infill_rate = 50 +support_interface_enable = True +support_interface_height = =layer_height * 5 +support_interface_skip_height = =layer_height +support_join_distance = 3 +support_xy_distance = =machine_nozzle_size / 2 +support_xy_distance_overhang = =machine_nozzle_size / 2 +support_angle = 45 +support_pattern = triangles +support_use_towers = False +support_z_distance = 0 +gradual_support_infill_steps = 2 +support_interface_density = 100 +support_interface_pattern = concentric \ No newline at end of file diff --git a/resources/variants/arjunpro300_pva_0.4.inst.cfg b/resources/variants/arjunpro300_pva_0.4.inst.cfg new file mode 100644 index 0000000000..c2f5c68480 --- /dev/null +++ b/resources/variants/arjunpro300_pva_0.4.inst.cfg @@ -0,0 +1,32 @@ +[general] +name = PVA 0.4 mm Nozzle +version = 4 +definition = arjunpro300 + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.4 +support_infill_sparse_thickness = =(layer_height * 2) if (layer_height * 2) <= 0.75 * machine_nozzle_size else layer_height +support_offset = 3 +support_bottom_height = =layer_height * 2 +support_bottom_pattern = zigzag +support_bottom_stair_step_height = =layer_height +support_infill_rate = 50 +support_interface_enable = True +support_interface_height = =layer_height * 5 +support_interface_skip_height = =layer_height +support_join_distance = 3 +support_xy_distance = =machine_nozzle_size / 2 +support_xy_distance_overhang = =machine_nozzle_size / 2 +support_angle = 45 +support_pattern = triangles +support_use_towers = False +support_z_distance = 0 +gradual_support_infill_steps = 2 +support_interface_density = 100 +support_interface_pattern = concentric \ No newline at end of file diff --git a/resources/variants/arjunpro300_pva_0.5.inst.cfg b/resources/variants/arjunpro300_pva_0.5.inst.cfg new file mode 100644 index 0000000000..6b985fb06b --- /dev/null +++ b/resources/variants/arjunpro300_pva_0.5.inst.cfg @@ -0,0 +1,32 @@ +[general] +name = PVA 0.5 mm Nozzle +version = 4 +definition = arjunpro300 + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.5 +support_infill_sparse_thickness = =(layer_height * 2) if (layer_height * 2) <= 0.75 * machine_nozzle_size else layer_height +support_offset = 3 +support_bottom_height = =layer_height * 2 +support_bottom_pattern = zigzag +support_bottom_stair_step_height = =layer_height +support_infill_rate = 50 +support_interface_enable = True +support_interface_height = =layer_height * 5 +support_interface_skip_height = =layer_height +support_join_distance = 3 +support_xy_distance = =machine_nozzle_size / 2 +support_xy_distance_overhang = =machine_nozzle_size / 2 +support_angle = 45 +support_pattern = triangles +support_use_towers = False +support_z_distance = 0 +gradual_support_infill_steps = 2 +support_interface_density = 100 +support_interface_pattern = concentric \ No newline at end of file diff --git a/resources/variants/arjunpro300_pva_0.6.inst.cfg b/resources/variants/arjunpro300_pva_0.6.inst.cfg new file mode 100644 index 0000000000..6bfea88e1a --- /dev/null +++ b/resources/variants/arjunpro300_pva_0.6.inst.cfg @@ -0,0 +1,32 @@ +[general] +name = PVA 0.6 mm Nozzle +version = 4 +definition = arjunpro300 + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.6 +support_infill_sparse_thickness = =(layer_height * 2) if (layer_height * 2) <= 0.75 * machine_nozzle_size else layer_height +support_offset = 3 +support_bottom_height = =layer_height * 2 +support_bottom_pattern = zigzag +support_bottom_stair_step_height = =layer_height +support_infill_rate = 50 +support_interface_enable = True +support_interface_height = =layer_height * 5 +support_interface_skip_height = =layer_height +support_join_distance = 3 +support_xy_distance = =machine_nozzle_size / 2 +support_xy_distance_overhang = =machine_nozzle_size / 2 +support_angle = 45 +support_pattern = triangles +support_use_towers = False +support_z_distance = 0 +gradual_support_infill_steps = 2 +support_interface_density = 100 +support_interface_pattern = concentric \ No newline at end of file diff --git a/resources/variants/arjunpro300_pva_0.8.inst.cfg b/resources/variants/arjunpro300_pva_0.8.inst.cfg new file mode 100644 index 0000000000..7cc066e19d --- /dev/null +++ b/resources/variants/arjunpro300_pva_0.8.inst.cfg @@ -0,0 +1,32 @@ +[general] +name = PVA 0.8 mm Nozzle +version = 4 +definition = arjunpro300 + +[metadata] + +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.8 +support_infill_sparse_thickness = =(layer_height * 2) if (layer_height * 2) <= 0.75 * machine_nozzle_size else layer_height +support_offset = 3 +support_bottom_height = =layer_height * 2 +support_bottom_pattern = zigzag +support_bottom_stair_step_height = =layer_height +support_infill_rate = 50 +support_interface_enable = True +support_interface_height = =layer_height * 5 +support_interface_skip_height = =layer_height +support_join_distance = 3 +support_xy_distance = =machine_nozzle_size / 2 +support_xy_distance_overhang = =machine_nozzle_size / 2 +support_angle = 45 +support_pattern = triangles +support_use_towers = False +support_z_distance = 0 +gradual_support_infill_steps = 2 +support_interface_density = 100 +support_interface_pattern = concentric \ No newline at end of file diff --git a/resources/variants/creality_ender6_0.2.inst.cfg b/resources/variants/creality_ender6_0.2.inst.cfg new file mode 100644 index 0000000000..ffa4156810 --- /dev/null +++ b/resources/variants/creality_ender6_0.2.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.2mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.2 diff --git a/resources/variants/creality_ender6_0.3.inst.cfg b/resources/variants/creality_ender6_0.3.inst.cfg new file mode 100644 index 0000000000..398e975ff9 --- /dev/null +++ b/resources/variants/creality_ender6_0.3.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.3mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.3 diff --git a/resources/variants/creality_ender6_0.4.inst.cfg b/resources/variants/creality_ender6_0.4.inst.cfg new file mode 100644 index 0000000000..93e4fb982c --- /dev/null +++ b/resources/variants/creality_ender6_0.4.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.4mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.4 diff --git a/resources/variants/creality_ender6_0.5.inst.cfg b/resources/variants/creality_ender6_0.5.inst.cfg new file mode 100644 index 0000000000..017d1f4e6c --- /dev/null +++ b/resources/variants/creality_ender6_0.5.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.5mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.5 diff --git a/resources/variants/creality_ender6_0.6.inst.cfg b/resources/variants/creality_ender6_0.6.inst.cfg new file mode 100644 index 0000000000..795c209d37 --- /dev/null +++ b/resources/variants/creality_ender6_0.6.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.6mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.6 diff --git a/resources/variants/creality_ender6_0.8.inst.cfg b/resources/variants/creality_ender6_0.8.inst.cfg new file mode 100644 index 0000000000..1c91f353d8 --- /dev/null +++ b/resources/variants/creality_ender6_0.8.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.8mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.8 diff --git a/resources/variants/creality_ender6_1.0.inst.cfg b/resources/variants/creality_ender6_1.0.inst.cfg new file mode 100644 index 0000000000..df3527ff2a --- /dev/null +++ b/resources/variants/creality_ender6_1.0.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 1.0mm Nozzle +version = 4 +definition = creality_ender6 + +[metadata] +setting_version = 19 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 1.0 diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg index 899651d56e..557f89fb07 100644 --- a/resources/variants/ultimaker3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_aa0.8.inst.cfg @@ -19,9 +19,6 @@ infill_pattern = triangles infill_wipe_dist = 0 jerk_enabled = True jerk_print = 25 -jerk_topbottom = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 25 / 25), 200 layer_height = 0.2 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg index 1eb76c11d7..5976d140d2 100644 --- a/resources/variants/ultimaker3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_bb0.8.inst.cfg @@ -23,7 +23,6 @@ infill_overlap = 0 infill_pattern = triangles infill_wipe_dist = 0 jerk_enabled = True -jerk_prime_tower = =max(math.ceil(jerk_print * 2 / 25), 20) jerk_print = 25 jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20) jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20) diff --git a/resources/variants/ultimaker3_bb04.inst.cfg b/resources/variants/ultimaker3_bb04.inst.cfg index e734ea9f25..89c5430af5 100644 --- a/resources/variants/ultimaker3_bb04.inst.cfg +++ b/resources/variants/ultimaker3_bb04.inst.cfg @@ -15,10 +15,9 @@ acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000) acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / 1500) cool_fan_speed_max = =cool_fan_speed gradual_support_infill_steps = 2 -jerk_prime_tower = =max(math.ceil(jerk_print * 2 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20) -jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20) -jerk_support_bottom = =max(math.ceil(jerk_support_interface * 1 / 10), 20) +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =math.ceil(jerk_support * 10 / 15) +jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = BB 0.4 machine_nozzle_tip_outer_diameter = 1.0 diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg index b8d26292b4..59549a28cc 100644 --- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg @@ -19,9 +19,6 @@ infill_pattern = triangles infill_wipe_dist = 0 jerk_enabled = True jerk_print = 25 -jerk_topbottom = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 25 / 25), 20) layer_height = 0.2 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg index 041823e774..5393c14eb4 100644 --- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg @@ -23,7 +23,6 @@ infill_overlap = 0 infill_pattern = triangles infill_wipe_dist = 0 jerk_enabled = True -jerk_prime_tower = =max(math.ceil(jerk_print * 2 / 25), 20) jerk_print = 25 jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20) jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20) diff --git a/resources/variants/ultimaker3_extended_bb04.inst.cfg b/resources/variants/ultimaker3_extended_bb04.inst.cfg index 405db38c85..79a7441256 100644 --- a/resources/variants/ultimaker3_extended_bb04.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb04.inst.cfg @@ -15,7 +15,6 @@ acceleration_support_interface = =math.ceil(acceleration_support * 1500 / 2000) acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / 1500) cool_fan_speed_max = =cool_fan_speed gradual_support_infill_steps = 2 -jerk_prime_tower = =math.ceil(jerk_print * 2 / 25) jerk_support = =math.ceil(jerk_print * 15 / 25) jerk_support_interface = =math.ceil(jerk_support * 10 / 15) jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) diff --git a/resources/variants/ultimaker_s3_aa0.8.inst.cfg b/resources/variants/ultimaker_s3_aa0.8.inst.cfg index f612d43c17..3e0aa20e73 100644 --- a/resources/variants/ultimaker_s3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker_s3_aa0.8.inst.cfg @@ -19,9 +19,6 @@ infill_pattern = triangles infill_wipe_dist = 0 jerk_enabled = True jerk_print = 25 -jerk_topbottom = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 25 / 25), 20) layer_height = 0.2 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 diff --git a/resources/variants/ultimaker_s3_bb0.8.inst.cfg b/resources/variants/ultimaker_s3_bb0.8.inst.cfg index 3a9097fffb..f9504753ac 100644 --- a/resources/variants/ultimaker_s3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker_s3_bb0.8.inst.cfg @@ -22,7 +22,6 @@ infill_overlap = 0 infill_pattern = triangles infill_wipe_dist = 0 jerk_enabled = True -jerk_prime_tower = =max(math.ceil(jerk_print * 2 / 25), 20) jerk_print = 25 jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20) jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20) diff --git a/resources/variants/ultimaker_s3_bb04.inst.cfg b/resources/variants/ultimaker_s3_bb04.inst.cfg index 4bf99d35a2..cd33dbfe1b 100644 --- a/resources/variants/ultimaker_s3_bb04.inst.cfg +++ b/resources/variants/ultimaker_s3_bb04.inst.cfg @@ -15,10 +15,9 @@ acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / acceleration_prime_tower = =math.ceil(acceleration_print * 200 / 3500) cool_fan_speed_max = =cool_fan_speed gradual_support_infill_steps = 2 -jerk_prime_tower = =max(math.ceil(jerk_print * 2 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20) -jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20) -jerk_support_bottom = =max(math.ceil(jerk_support_interface * 1 / 10), 20) +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =math.ceil(jerk_support * 10 / 15) +jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = BB 0.4 machine_nozzle_tip_outer_diameter = 1.0 diff --git a/resources/variants/ultimaker_s5_aa0.8.inst.cfg b/resources/variants/ultimaker_s5_aa0.8.inst.cfg index b62fb9f37f..7a6398ee56 100644 --- a/resources/variants/ultimaker_s5_aa0.8.inst.cfg +++ b/resources/variants/ultimaker_s5_aa0.8.inst.cfg @@ -19,9 +19,6 @@ infill_pattern = triangles infill_wipe_dist = 0 jerk_enabled = True jerk_print = 25 -jerk_topbottom = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall = =max(math.ceil(jerk_print * 25 / 25), 20) -jerk_wall_0 = =max(math.ceil(jerk_wall * 25 / 25), 20) layer_height = 0.2 machine_min_cool_heat_time_window = 15 machine_nozzle_cool_down_speed = 0.85 diff --git a/resources/variants/ultimaker_s5_bb0.8.inst.cfg b/resources/variants/ultimaker_s5_bb0.8.inst.cfg index 011b567f22..34faf7d254 100644 --- a/resources/variants/ultimaker_s5_bb0.8.inst.cfg +++ b/resources/variants/ultimaker_s5_bb0.8.inst.cfg @@ -22,7 +22,6 @@ infill_overlap = 0 infill_pattern = triangles infill_wipe_dist = 0 jerk_enabled = True -jerk_prime_tower = =math.ceil(jerk_print * 2 / 25) jerk_print = 25 jerk_support = =math.ceil(jerk_print * 15 / 25) jerk_support_interface = =math.ceil(jerk_support * 10 / 15) diff --git a/resources/variants/ultimaker_s5_bb04.inst.cfg b/resources/variants/ultimaker_s5_bb04.inst.cfg index 90c11e53f3..3a4d937620 100644 --- a/resources/variants/ultimaker_s5_bb04.inst.cfg +++ b/resources/variants/ultimaker_s5_bb04.inst.cfg @@ -15,10 +15,9 @@ acceleration_support_bottom = =math.ceil(acceleration_support_interface * 100 / acceleration_prime_tower = =math.ceil(acceleration_print * 200 / 3500) cool_fan_speed_max = =cool_fan_speed gradual_support_infill_steps = 2 -jerk_prime_tower = =max(math.ceil(jerk_print * 2 / 25), 20) -jerk_support = =max(math.ceil(jerk_print * 15 / 25), 20) -jerk_support_interface = =max(math.ceil(jerk_support * 10 / 15), 20) -jerk_support_bottom = =max(math.ceil(jerk_support_interface * 1 / 10), 20) +jerk_support = =math.ceil(jerk_print * 15 / 25) +jerk_support_interface = =math.ceil(jerk_support * 10 / 15) +jerk_support_bottom = =math.ceil(jerk_support_interface * 1 / 10) machine_nozzle_heat_up_speed = 1.5 machine_nozzle_id = BB 0.4 machine_nozzle_tip_outer_diameter = 1.0